Commit graph inspector/client/src/components/ToolsTab.tsx
Author SHA1 Message Date
Ola Hungerford
6505468fbe
Merge branch 'main' into alejandro.borbolla/copy-input 2025-08-31 20:38:40 -07:00
lorenzo.neumann
1c406eafbd Added UI to provide additional _meta values 2025-08-29 15:52:31 +02:00
olaservo
8ce1bbd346 Resolve merge conflicts in DynamicJsonForm.tsx and ToolsTab.tsx
- Merged JSON validation functionality from PR branch with enhanced form features from main
- Preserved validateJson method and DynamicJsonFormRef interface for tool validation
- Added support for oneOf schemas, enum dropdowns, and enhanced string field types
- Integrated meta display functionality and resource content props
- Maintained JSON validation before tool execution to prevent invalid data submission
2025-08-05 05:48:04 -07:00
Mats Julius Funke
f73d8e6f8a
fix: support FastMCP union types in tool parameter forms 2025-08-02 15:59:45 +02:00
Alejandro Borbolla
5bbd9f736d
feat: Copy the input parameters of tools 2025-07-31 17:41:33 +02:00
Eric Horacek
444c6b5704 Fix lint 2025-07-13 18:25:53 -07:00
Eric Horacek
5dd661513b feat: Add _meta field support to tool UI
Shows [_meta](https://modelcontextprotocol.io/specification/2025-06-18/basic/index#meta) fields if present when listing and calling tools
2025-07-13 14:33:39 -07:00
Nandha Reddy
0dc7a50218
feat: Enhance ResourceLinkView with expandable resource content view
Add click-to-expand functionality for inline resource content display
2025-07-09 05:15:46 +10:00
Nandha Reddy
236dee0dca
Fix code style 2025-07-07 13:53:10 +10:00
Nandha Reddy
98580cd5a9
Merge branch 'main' into fix/validate-json-on-tool-execution 2025-07-01 17:25:13 +10:00
Mark Anthony Cianfrani
9eb5e7b8c2
Merge branch 'main' into main 2025-06-27 20:06:31 -04:00
Nandha Reddy
d65ed01922 Add JSON validation to tool execution
Prevents execution of tools with invalid JSON parameters by validating JSON
syntax before tool execution and showing error UI for invalid input.

- Add validateJson method to DynamicJsonForm via forwardRef
- Add validation check in ToolsTab before tool execution
- Reuse existing JsonEditor error display for consistent UX
2025-06-26 23:17:30 +10:00
Mark Anthony Cianfrani
f5dba84051 fix: allow typing negative numbers in tool parameter inputs
Number inputs were immediately converting values to Number() on every
keystroke, which prevented users from typing negative numbers since
the intermediate "-" character cannot be converted to a valid number.

Now the input stores the raw string value and only converts to Number
when the value is non-empty, allowing proper negative number entry.
2025-06-21 12:18:04 -04:00
olaservo
990bc0f7fd Fix formatting 2025-06-01 15:41:30 -07:00
olaservo
b555e41c0b Address the schema architecture crisis 2025-06-01 09:03:02 -07:00
Balaj Marius
5ca6d3db40
Merge branch 'main' into main 2025-05-29 18:30:24 +03:00
Basil Hosmer
d8a2821344
refactor: Address PR comments
- Extract tool results rendering into separate ToolResults component
- Hoist checkContentCompatibility function to module level following codebase conventions
- Add ajv@6.12.6 as direct dependency to client package.json
- All tests pass and linting is clean

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 22:18:19 -04:00
Basil Hosmer
5a628c7a00
fix: Fix lint errors
- Remove unused catch parameter in ToolsTab.tsx
- Replace 'as any' with @ts-expect-error in test for invalid schema

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 15:24:40 -04:00
Basil Hosmer
b184654ee5
style: Apply Prettier formatting to structured output code
Applied consistent formatting to ToolsTab.tsx and schemaUtils.ts
to fix linting issues. No functional changes.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 15:24:40 -04:00
Basil Hosmer
de84c472ce
feat: Add structured output support to browser UI
This commit adds comprehensive support for structured output validation in tool calls,
following the MCP specification for tools with output schemas.

UI Changes:
1. Output Schema Display:
   - Added collapsible output schema section in ToolsTab
   - Shows output schemas after input fields, before the Run Tool button
   - Default view shows 8 lines with scrolling, expandable to full view
   - Expand/Collapse button with chevron icons for better UX

2. Structured Content Display:
   - New "Structured Content" section when tools return structuredContent
   - Shows structured data in a formatted JSON view
   - Validation status indicator (green checkmark for valid, red X for errors)
   - Detailed validation error messages when content doesn't match schema

3. Unstructured Content Labeling:
   - Added "Unstructured Content" heading when both structured and unstructured content exist
   - Only shows label when structured content is also present
   - Maintains clean UI when only unstructured content exists

4. Compatibility Checking:
   - Checks if unstructured content matches structured content (when output schema exists)
   - Shows compatibility status with blue (compatible) or yellow (incompatible) indicators
   - Detailed messages explain why content doesn't match
   - Only runs compatibility check for tools with output schemas

5. Validation Error Handling:
   - Shows error when tool with output schema doesn't return structured content
   - Clear error messages for schema validation failures
   - Maintains proper error state display

Technical Implementation:
- Added schema validation utilities using Ajv (same as SDK)
- Caches compiled validators for performance
- Validates on tool result display, not during the call
- Follows SDK's Client.callTool validation pattern

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 15:24:40 -04:00
Balaj Marius
21833f9102
feat: improve color contrast and readability in dark mode 2025-05-27 11:48:03 +03:00
MMMarcinho
8373795804 feat: change style 2025-05-08 23:15:00 +08:00
Cliff Hall
33aad8a271
Merge branch 'main' into max/default-tool-json 2025-04-14 16:15:27 -04:00
Nathan Arseneau
98ea4a12d6 Merge branch 'main' into dark-mode-fix 2025-04-11 20:13:31 -04:00
Maxwell Gerber
2e8cc56744
Merge remote-tracking branch 'theirs/main' into max/default-tool-json 2025-04-11 15:36:25 -07:00
Maxwell Gerber
3e95d9d42a
pr feedback: Only use form if object is simple 2025-04-11 15:34:41 -07:00
kavinkumarbaskar
1596973b05 Merge branch 'main' into highlight-tool-errors-in-red-text 2025-04-09 22:47:12 +05:30
kavinkumarbaskar
256972a366 Merge branch 'main' into highlight-tool-errors-in-red-text 2025-04-09 17:40:30 +05:30
yushengchen
fe74dbea74 refactor(json): Consolidate JSON utilities and type definitions
Modified files:
- client/src/components/DynamicJsonForm.tsx
- client/src/components/JsonView.tsx
- client/src/components/ToolsTab.tsx
- client/src/components/__tests__/DynamicJsonForm.test.tsx
- client/src/utils/__tests__/jsonPathUtils.test.ts → client/src/utils/__tests__/jsonUtils.test.ts
- client/src/utils/__tests__/schemaUtils.test.ts
- client/src/utils/jsonPathUtils.ts → client/src/utils/jsonUtils.ts
- client/src/utils/schemaUtils.ts

Descriptions:
- Move JSON type definitions from DynamicJsonForm to centralized jsonUtils
- Consolidate utility functions (getDataType, tryParseJson) into jsonUtils
- Rename jsonPathUtils to jsonUtils for better semantic clarity
- Add comprehensive test coverage for new utility functions
- Update imports across all affected components
- Improve type references consistency throughout the codebase
2025-04-09 09:20:02 +08:00
Maxwell Gerber
f6ed09e9fb
Merge remote-tracking branch 'theirs/main' into max/default-tool-json 2025-04-08 15:17:11 -07:00
Maxwell Gerber
4bc44c4d19
fix: When tool type cannot be determined, use DynamicJsonForm 2025-04-08 15:05:57 -07:00
Pulkit Sharma
cf20fe9142 merge main 2025-04-09 01:23:42 +05:30
kavinkumarbaskar
ca1854b071 ran npm run prettier-fix command to fix the code styling 2025-04-05 23:32:10 +05:30
kavinkumarbaskar
a3be8f6376 feat: highlight tool errors in red text 2025-04-05 23:24:10 +05:30
Nathan Arseneau
8d20044b33 fix darkmode color and padding for the tab item 2025-04-05 11:47:44 -04:00
Pulkit Sharma
e35343537c Add proper support for progress flow during tool calling 2025-04-05 01:46:57 +05:30
Shinya Fujino
0fd2e12c7b Fix inconsistent gap between TabsList and TabsContent 2025-04-04 22:39:55 +09:00
NicolasMontone
c964ff5cfe Use copy button insde JSON view component 2025-04-02 10:39:39 -03:00
NicolasMontone
8586d63e6d Add shadcn alert to match project design 2025-04-01 17:38:25 -03:00
NicolasMontone
539de0fd85 add copy button 2025-04-01 17:18:40 -03:00
NicolasMontone
1504d1307e Remove error 2025-04-01 16:49:10 -03:00
NicolasMontone
d1e155f984 Revert "Add copy button to JSON & fix button styles override."
This reverts commit c48670f426.
2025-04-01 16:48:01 -03:00
NicolasMontone
c48670f426 Add copy button to JSON & fix button styles override. 2025-04-01 16:43:23 -03:00
Nicolás Montone
e4d4ff0148
Merge branch 'main' into main 2025-04-01 15:10:10 -03:00
NicolasMontone
d2db697d89 fix: prettier. 2025-04-01 11:00:13 -03:00
NicolasMontone
dada1c4ba6 do not remove form with alert 2025-04-01 10:59:30 -03:00
katopz
2ee0a53e36 fix: prettier 2025-04-01 09:27:24 +09:00
katopz
7b055b6b9a fix: prop.type not accept integer 2025-03-31 18:29:09 +09:00
cgoing
2d252a389c Remove escapeUnicode function from ToolsTab.tsx 2025-03-27 11:42:39 +09:00
cgoing
e6f5da8383 Improve JsonView component styling and change to use JsonView in PromptsTab 2025-03-27 10:49:37 +09:00