Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 3, 2025

MCP tool users need visibility into tool capabilities—what each tool does and what arguments it accepts—without cluttering the default UI.

Changes

Backend (config_routes.py)

  • Added tools_detailed array to /api/config response containing name, description, and inputSchema for each tool
  • Includes JSON Schema properties with types, descriptions, and required field markers

Frontend (ToolsPanel.jsx)

  • Added info icon (ℹ️) next to each tool button that toggles detail expansion
  • Renders tool description and formatted input schema when expanded
  • Shows parameter types, descriptions, and marks required fields with asterisk
  • Collapsed by default to maintain clean UI
  • Removed redundant dropdown expand/collapse section (users can now click tool buttons directly to enable/disable and use info icon for details)

Example API response structure:

{
  "tools_detailed": [{
    "name": "canvas",
    "description": "Display final rendered content...",
    "inputSchema": {
      "type": "object",
      "properties": {
        "content": {
          "type": "string",
          "description": "The content to display..."
        }
      },
      "required": ["content"]
    }
  }]
}

UI

Default state: Tools display as simple buttons with info icons
Expanded state: Click info icon reveals description and all input arguments with types and requirement indicators
Interaction: Click tool buttons directly to enable/disable, no dropdown needed

[!WARNING]

Original prompt

This section details on the original issue you should resolve

<filter_complete></filter_complete>

<issue_title>allow users to see more information about a tool description and expected input arguments</issue_title>
<issue_description>When using the mcp servers, the atlas-ui-3 should surface to the frontend the ability to see the specific description and input args about individual functions. This should be hidden by default, but allow the user to see more information about what the tool does and what input args and arg descriptions. This should not be expanded by default. </issue_description>

Comments on the Issue (you are @copilot in this section)

Original prompt

This section details on the original issue you should resolve

<issue_title>allow users to see more information about a tool description and expected input arguments</issue_title>
<issue_description>When using the mcp servers, the atlas-ui-3 should surface to the frontend the ability to see the specific description and input args about individual functions. This should be hidden by default, but allow the user to see more information about what the tool does and what input args and arg descriptions. This should not be expanded by default. </issue_description>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 3 commits November 3, 2025 21:14
Co-authored-by: garland3 <1162675+garland3@users.noreply.github.com>
Co-authored-by: garland3 <1162675+garland3@users.noreply.github.com>
…tion

Co-authored-by: garland3 <1162675+garland3@users.noreply.github.com>
Copilot AI changed the title [WIP] Add functionality to display tool descriptions and input arguments Add expandable tool details showing descriptions and input schemas Nov 3, 2025
Copilot finished work on behalf of garland3 November 3, 2025 21:24
Copilot AI requested a review from garland3 November 3, 2025 21:24
@garland3
Copy link
Collaborator

garland3 commented Nov 3, 2025

@copilot Ok. It seems like the

is no longer needed and the drop down since the user can see more information by click on the "i" and also just click on the tool or prompt to load or unload it. Please remove this drop down.

Co-authored-by: garland3 <1162675+garland3@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Nov 3, 2025

@copilot Ok. It seems like the <svg xmlns="http://www.w3.org/2000/svg" width="...

Removed the dropdown expand/collapse section in commit 9cdff5d. Users can now interact with tools directly by clicking them to enable/disable, and use the info icon to see details.

After Dropdown Removal

Copilot finished work on behalf of garland3 November 3, 2025 23:26
Copy link
Collaborator

@garland3 garland3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested this and it seems to work like expected.

@garland3 garland3 marked this pull request as ready for review November 3, 2025 23:35
def test_tools_detailed_includes_description_and_schema(mock_mcp_manager):
"""Test that tools_detailed field contains description and inputSchema."""
server_tools = mock_mcp_manager.available_tools["test_server"]["tools"]
server_config = mock_mcp_manager.available_tools["test_server"]["config"]

Check notice

Code scanning / CodeQL

Unused local variable Note test

Variable server_config is not used.

Copilot Autofix

AI 23 days ago

The best way to fix this problem is to simply remove the assignment to server_config at line 64. Since the assigned value is not used and the assignment itself does not cause any side effects, this removal is safe and will not affect the functionality of the test. The removal should only affect this single line in the code (server_config = ...), and no imports or further changes are needed.


Suggested changeset 1
backend/tests/test_tool_details_in_config.py

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/backend/tests/test_tool_details_in_config.py b/backend/tests/test_tool_details_in_config.py
--- a/backend/tests/test_tool_details_in_config.py
+++ b/backend/tests/test_tool_details_in_config.py
@@ -61,7 +61,6 @@
 def test_tools_detailed_includes_description_and_schema(mock_mcp_manager):
     """Test that tools_detailed field contains description and inputSchema."""
     server_tools = mock_mcp_manager.available_tools["test_server"]["tools"]
-    server_config = mock_mcp_manager.available_tools["test_server"]["config"]
     
     # Simulate what the config endpoint does
     tools_detailed = []
EOF
@@ -61,7 +61,6 @@
def test_tools_detailed_includes_description_and_schema(mock_mcp_manager):
"""Test that tools_detailed field contains description and inputSchema."""
server_tools = mock_mcp_manager.available_tools["test_server"]["tools"]
server_config = mock_mcp_manager.available_tools["test_server"]["config"]

# Simulate what the config endpoint does
tools_detailed = []
Copilot is powered by AI and may make mistakes. Always verify output.
@garland3 garland3 merged commit bb1325d into main Nov 3, 2025
6 of 8 checks passed
@garland3 garland3 deleted the copilot/add-tool-description-tooltip branch November 3, 2025 23:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

allow users to see more information about a tool description and expected input arguments

2 participants