Commit graph inspector/client
Author SHA1 Message Date
cliffhall
31dd05634e Bump version to 0.16.6 2025-09-03 10:21:29 -04:00
cliffhall
6db41c19d5 * In all package.json and package-lock.json,
- set TS SDK to 1.17.5, which has the automatic log level handling
* In useConnection.ts
  - push the logging/setLevel message onto the message history stack so it is clear in the Inspector that it has been sent.
2025-09-02 16:17:04 -04:00
Cliff Hall
9255ce045a
Merge branch 'main' into update-dependencies 2025-09-01 10:51:22 -04:00
Ola Hungerford
244109402c
Merge pull request #745 from pavan-mellamputi-socure/update-progress-method
Fix a typo in progress notification method name
2025-08-31 20:58:06 -07:00
Ola Hungerford
8971add002
Merge branch 'main' into update-dependencies 2025-08-30 06:59:48 -07:00
Ola Hungerford
f94f2d8203
Merge pull request #708 from richardkmichael/fix-630
fix: STDIO and SSE transports need MCP_FULL_PROXY_ADDRESS
2025-08-27 20:17:33 -07:00
Ola Hungerford
07a43c9266
Merge branch 'main' into update-dependencies 2025-08-27 20:13:37 -07:00
Ola Hungerford
73873e2b77
Merge branch 'main' into docs/utils-jsdoc 2025-08-27 20:13:01 -07:00
pavan-mellamputi-socure
8f2e53c273
Fix a typo in progress notification method name
It shoud be `notifications/progress` not `notification/progress` (not singular).

This matches the latest spec.

https://modelcontextprotocol.io/specification/2025-06-18/basic/utilities/progress
2025-08-22 18:48:26 -07:00
Richard Michael
89740ef5d1 Add tests for MCP_PROXY_FULL_ADDRESS SSE endpoint support
Tests verify that proxyFullAddress query parameter is sent for both
STDIO and SSE transports, but not Streamable HTTP, when
MCP_PROXY_FULL_ADDRESS is configured.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-22 00:47:22 -07:00
Richard Michael
3628abca9e Use MCP_PROXY_FULL_ADDRESS for SSE transport backed endpoints
The STDIO and SSE transports use SSE between the client and the proxy
server.  SSE requires the client to initiate the MCP conversation
(event-stream) at the endpoint provided by the server.  The endpoint
provided by the server must obey where the client sees the server,
rather than being assumed to be server-root `/message`.

The Streamable HTTP endpoint does not need the full proxy address
because the response is an event-stream directly, and does not use SSE.
2025-08-21 23:11:08 -07:00
Ola Hungerford
f22aa1f5e2
Merge pull request #741 from cliffhall/stderr-handling
Handling of stderr on STDIO servers
2025-08-21 19:10:19 -07:00
Ola Hungerford
d48164aa09
Merge pull request #719 from richardkmichael/fix-704-trim-command-whitespace
fix: Trim whitespace from Command input to prevent ENOENT
2025-08-21 18:50:52 -07:00
cliffhall
9dbd5cc85b * Remove handling of out-of-spec 'notification/stderr' messages. It's not a thing. See https://github.com/modelcontextprotocol/servers/pull/2469
* Inspect the stderr output of STDIO servers and attempt to assign an appropriate RFC 5424 Syslog Protocol level before sending a leveled logging message to the client
2025-08-21 18:01:29 -04:00
Cliff Hall
8a5a4e5b6a
Merge pull request #740 from modelcontextprotocol/fix/validate-urls
Fix/validate urls for http/https scheme only in auth flow
2025-08-21 12:15:19 -04:00
Jenn Newton
a018a6d758
Apply Prettier formatting
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-21 15:41:33 +00:00
Jenn Newton
fa2e6b0c40
Fix to properly open in new tab for OAuth
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-21 15:31:53 +00:00
Ola Hungerford
acc0530988
Merge branch 'main' into fix-704-trim-command-whitespace 2025-08-20 20:47:37 -07:00
Ola Hungerford
5598cff694
Merge branch 'main' into update-dependencies 2025-08-20 07:35:50 -07:00
Ola Hungerford
bb95fccdf1
Merge branch 'main' into halter73/restore-resource 2025-08-20 07:16:19 -07:00
Jenn Newton
650f3090d2
fix: add validation for OAuth redirect URLs
- Create shared validateRedirectUrl utility to centralize URL validation
- Only allow HTTP and HTTPS protocols in OAuth authorization URLs
- Fix three vulnerable redirect paths that bypassed validation:
  - AuthDebugger.tsx: Direct window.location.href redirect
  - OAuthFlowProgress.tsx: window.open() without validation
  - OAuthFlowProgress.tsx: Direct anchor href attribute
- Add comprehensive test coverage for URL validation
- Update existing auth.ts to use shared validation utility

This prevents malicious MCP servers from injecting javascript: or data:
protocol URLs that would execute XSS attacks when users are redirected
to the authorization endpoint.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-20 10:08:20 -03:00
Ola Hungerford
0e30df8801
Merge branch 'main' into fix-704-trim-command-whitespace 2025-08-19 21:12:41 -07:00
Stephen Halter
36a30fa3db prettier --write client/src/components/OAuthDebugCallback.tsx 2025-08-18 13:01:13 -07:00
cliffhall
2f93d70364 bump version to 0.16.5 2025-08-18 11:37:41 -04:00
cliffhall
28c0bf176a Update Typescript SDK version to latest 2025-08-18 11:13:49 -04:00
cliffhall
3adb1dd5c9 Prettier 2025-08-15 18:55:15 -04:00
cliffhall
5323d4d8f4 Fix connect button behavior for Oauth by making sure that scope is included in client metadata when client is registered.
- In auth.ts
    - in InspectorOAuthClientProvider constructor
      - add optional scope param
      - set instance var this.scope to scope param
    - in clientMetadata getter
      - add scope param set to this.scope or ""
  - in useConnection.ts
    - in handleAuthError handler
      - move instantiation of serverAuthProvider until after scope has been determined
      - pass scope to InspectorOAuthClientProvider constructor
2025-08-15 18:40:21 -04:00
Ola Hungerford
f2865a36e3
Merge branch 'main' into halter73/restore-resource 2025-08-15 14:34:48 -07:00
cliffhall
94f44c7b57 Prettier 2025-08-15 17:19:27 -04:00
cliffhall
0831e812bb Align Quick OAuth Flow with Guided OAuth Flow behavior
- In oauth-state-machine.ts
  - in token_request transition
    - ensure resource is URL type, not string
    - this fixes Quick flow which was sending string, while guided was using proper URL type and working
2025-08-15 14:44:51 -04:00
Raghunath Prabhakar
e5d1fe29e5
Merge branch 'main' into docs/utils-jsdoc 2025-08-15 10:42:35 -05:00
Richard Michael
410f792d29 Remove redundant mock and timer clear 2025-08-14 14:25:51 -07:00
Richard Michael
34938b72d3 Tidy test descriptions and titles 2025-08-14 14:25:51 -07:00
Richard Michael
399e16afa4 Re-organize Sidebar tests
- Tests were mistakenly grouped in Environment Variables block
- Tests follow UI order, top-to-bottom
2025-08-14 14:25:51 -07:00
Richard Michael
8d8af870ba Trim whitespace from command on blur 2025-08-14 14:25:51 -07:00
Bobby Tiernay
739e0aaa68
fix: lint 2025-08-14 15:00:54 -04:00
Bobby Tiernay
34b39530d1
fix: failing test from SDK update 2025-08-14 14:02:29 -04:00
Bobby Tiernay
74900fca5d
feat: unify OAuth scope discovery between automatic and manual flows
- Add shared discoverScopes function in auth.ts with resource metadata preference
- Update automatic flow (handleAuthError) to use dynamic scope discovery
- Update manual flow (OAuth state machine) to use shared scope discovery logic
- Add comprehensive test suite for discoverScopes function (11 test cases)
- Fix empty array handling to return undefined instead of empty string
- Maintain backward compatibility with existing oauthScope parameter
- All quality gates pass: TypeScript, linting, formatting, and tests

Resolves OAuth scope discovery inconsistency where automatic flow used static
scopes while manual flow used metadata scopes. Both flows now use identical
shared logic with proper resource metadata preference.
2025-08-14 14:02:29 -04:00
Stephen Halter
10b4681e3c Also fix authorizationUrl type 2025-08-14 10:47:15 -07:00
Felix Weinberger
36b9acc97e
fix: filter out client_secret when storing OAuth client information 2025-08-14 17:04:38 +01:00
Stephen Halter
fc4aeb392f Restore AuthDebuggerState.resource as URL
Not doing so prevents the resource URI from getting sent to the
OAuth server's token endpoint during the "Quick OAuth flow"
2025-08-13 14:00:08 -07:00
Raghunath Prabhakar
85c86de61e chore: add jsdoc comments to utils 2025-08-13 14:14:32 -05:00
olaservo
b6af0c7f67 bump @modelcontextprotocol/sdk version to ^1.17.2 in all package.json files 2025-08-13 11:06:13 -07:00
Ola Hungerford
2a5e50ee59
Merge branch 'main' into bump-version 2025-08-13 05:51:58 -07:00
Ola Hungerford
ddd06c207c
Merge branch 'main' into dcr-fallback-fix 2025-08-13 05:34:14 -07:00
Minh-Phuc Tran
b7b62af282
Merge branch 'main' into update-dependencies 2025-08-13 11:33:05 +07:00
Ola Hungerford
8da07c83f6
Merge branch 'main' into bump-version 2025-08-12 20:17:03 -07:00
olaservo
ca913eb06f Bump to 0.16.4 2025-08-12 20:16:06 -07:00
Cliff Hall
b4d1bc71f6
Merge branch 'main' into main 2025-08-12 16:25:42 -04:00
cliffhall
0d8e8fce4b This fixes #610
* In useConnection.ts
  - During initialization, if there is an error immediately following the client sending 'logging/setLevel', pops up a toast with the message `Server declares logging capability but doesn't implement method "logging/setLevel"`
2025-08-12 15:26:15 -04:00