Commit graph

942 commits

Author SHA1 Message Date
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
cf1fb61de4
test: Add comprehensive tests for structured output validation
Added extensive test coverage for the new structured output features:

Schema Utilities Tests:
- Tests for cacheToolOutputSchemas function
- Tests for validateToolOutput with various scenarios
- Tests for getToolOutputValidator and hasOutputSchema helpers
- Coverage for valid/invalid schemas and edge cases
- Tests for nested object validation

ToolsTab Component Tests:
- Tests for output schema display and expand/collapse functionality
- Tests for structured content validation display
- Tests for validation error messages
- Tests for unstructured content title logic
- Tests for compatibility checking between structured/unstructured content
- Tests ensuring compatibility check only runs with output schemas

All tests passing with 100% coverage of new functionality.

🤖 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
Ola Hungerford
183f80104a
Merge pull request #464 from modelcontextprotocol/revert-380-main
Revert "fix: handle the client disconnect so that the server does not crash."
2025-05-28 10:15:05 -07:00
Cliff Hall
692c863f5b
Revert "fix: handle the client disconnect so that the server does not crash." 2025-05-28 12:56:55 -04:00
Cliff Hall
f1eb488801
Merge pull request #380 from wolfdancer/main
fix: handle the client disconnect so that the server does not crash.
2025-05-28 12:55:27 -04:00
Paul Carleton
7b1299c730
[auth debugger] Make the quick flow use the same state machine as the step-by-step flow (#426)
* use state machine in quick flow

* clean up test

* rm some comments
2025-05-27 11:36:19 +01:00
Cliff Hall
efa4959ec4
Merge branch 'main' into main 2025-05-21 16:27:13 -04:00
Cliff Hall
ec24f7bbbf
Merge pull request #425 from modelcontextprotocol/pcarleton/naming
rework naming on config copy
2025-05-21 16:17:26 -04:00
Cliff Hall
c2610b6bb6
Merge branch 'main' into pcarleton/naming 2025-05-21 16:15:58 -04:00
ihrpr
b07f738cf3
Merge pull request #427 from modelcontextprotocol/ihrpr/0.13.0 0.13.0
0.13.0 bump version
2025-05-21 21:03:09 +01:00
ihrpr
7cf85b526a
update TS sdk 2025-05-21 20:56:25 +01:00
ihrpr
bbdbd3afb9
update dependencies as well 2025-05-21 20:37:20 +01:00
ihrpr
b0db14c3a7
0.13.0 bump version 2025-05-21 20:33:19 +01:00
ihrpr
eda63dafb8
Merge pull request #418 from modelcontextprotocol/ihrpr/auth-sse-shttp-connect
Fix connection issue for servers with auth
2025-05-21 20:26:03 +01:00
Shane
3232c0e11e
Revert "fix the PR build error"
This reverts commit 80377bc914.
2025-05-21 10:21:39 -07:00
Shane
80377bc914
fix the PR build error 2025-05-20 22:28:26 -07:00
Paul Carleton
df9ea1e8a4
rework naming 2025-05-20 19:51:48 +01:00
ihrpr
8ab5ac1476
remove null check 2025-05-20 18:21:33 +01:00
Shane
a61a1b0df2
format update with prettier 2025-05-20 09:25:47 -07:00
ihrpr
014ef7d35e
refactor 2025-05-20 17:25:44 +01:00
ihrpr
6b19ac3e3d
random issue when running build 2025-05-19 19:21:58 +01:00
ihrpr
2f6a9fca11
format 2025-05-19 19:03:22 +01:00
ihrpr
85ae0ede85
small fix 2025-05-19 18:36:50 +01:00
ihrpr
13eb077329
fix auth conect 2025-05-19 18:29:42 +01:00
Shane
7df1936b3c
fixed the error handling in async call 2025-05-18 23:33:19 -07:00
Shane
b9b3682350
format fix 2025-05-18 21:45:39 -07:00
Shane
fa236ea2c7
handle the case that client disconnects so that the server does not crash 2025-05-18 21:45:38 -07:00
Kamal Fariz Mahyuddin
c6fad3f923
fix: quick oauth flow could not transition to token_request due to missing server metadata (#407)
* fix: quick oauth flow could not transition to token_request due to missing server metadata

* chore: prettier fix
2025-05-16 16:22:39 +01:00
Cliff Hall
05e41d2ccc
Merge pull request #334 from sumeetpardeshi/main
feat: Add copy json config button
2025-05-15 12:45:56 -04:00
sumeetpardeshi
1e48310bcb Merge branch 'main' of https://github.com/sumeetpardeshi/inspector 2025-05-14 19:01:32 -07:00
sumeetpardeshi
d40140c2e8 fixing lint error 2025-05-14 19:01:22 -07:00
Cliff Hall
faf3efc19b
Merge branch 'main' into main 2025-05-14 16:09:23 -04:00
sumeetpardeshi
e3076ae05c fixing indentation 2025-05-13 17:09:02 -07:00
Paul Carleton
5e8e78c31d
Add Auth debugger tab (#355)
* wip auth debugger

* cleanup types and validation

* more cleanup

* draft test

* wip clean up some

* rm toasts

* consolidate state management

* prettier

* hoist state up to App

* working with quick and guided

* sort out displaying debugger

* prettier

* cleanup types

* fix tests

* cleanup comment

* prettier

* fixup types in tests

* prettier

* refactor debug to avoid toasting

* callback shuffling

* linting

* types

* rm toast in test

* bump typescript sdk version to 0.11.2 for scope parameter passing

* use proper scope handling

* test scope parameter passing

* move functions and s/sseUrl/serverUrl/

* extract status message into component

* refactor progress and steps into components

* fix test

* rename quick handler

* one less click

* last step complete

* add state machine

* test and types
2025-05-13 19:37:09 +01:00
sumeetpardeshi
8ca5a34d12 fix readme after merging main 2025-05-12 20:30:54 -07:00
sumeetpardeshi
283371c313 Merge branch 'main' of https://github.com/modelcontextprotocol/inspector 2025-05-12 20:30:02 -07:00
sumeetpardeshi
5b54ce1281 adding fixes as buttons were not visible for streamable-http transport type, as per PR review comment 2025-05-12 20:17:28 -07:00
Cliff Hall
ad39ec27e7
Merge pull request #276 from kawakamidev/auto_open
Implement auto-open feature for browser launch on server start
2025-05-12 13:15:39 -04:00
Cliff Hall
f2003b30c6
Merge branch 'main' into auto_open 2025-05-12 13:09:33 -04:00
Cliff Hall
0014ca5e12
Merge pull request #388 from MMMarcinho/feat/yizhi
feat: change style
2025-05-12 13:03:51 -04:00
Cliff Hall
8a8deb6d39
Merge branch 'main' into feat/yizhi 2025-05-12 12:55:04 -04:00
Cliff Hall
8597100d54
Merge branch 'main' into auto_open 2025-05-12 12:45:26 -04:00
Ola Hungerford
89d721e56d
Merge pull request #333 from kentcdodds/patch-1
feat(client): add search param configuration
2025-05-10 21:30:49 -07:00
Marco
0c15c54b99
Merge branch 'main' into feat/yizhi 2025-05-09 13:12:57 +08:00
KAWAKAMI Moeki
a60764e649 Merge branch 'main' into auto_open 2025-05-09 10:58:11 +09:00
KAWAKAMI Moeki
eb3737d110 Fix format 2025-05-09 10:57:24 +09:00
sumeetpardeshi
1067f4d22f handling duplication in catch block as per PR comments 2025-05-08 17:01:18 -07:00
Cliff Hall
24e8861a88
Merge pull request #383 from olaservo/bump-to-version-0-12-0 0.12.0
Bump version to 0.12.0
2025-05-08 16:41:44 -04:00
Cliff Hall
b09d0e1eb6
Merge branch 'main' into patch-1 2025-05-08 16:33:11 -04:00