Commit Graph

88 Commits

Author SHA1 Message Date
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
Santthosh
a57e707a0b Merge branch 'main' into main 2025-05-06 09:51:45 -07:00
cliffhall
f9cbfbe822 Create the appropriate TransportOptions object for the selected transport
* In useConnection.ts

  - In the case for "stdio", let the transportOptions be the same as "sse"
 because it will use that transport to the proxy regardless
2025-05-02 17:50:00 -04:00
cliffhall
b7ec3829d4 Use transport-specific options 2025-05-02 17:35:33 -04:00
Santthosh Selvadurai
dd6f5287ca Fix to the Authorization header bug for Streamable-HTTP
Reference issue [https://github.com/modelcontextprotocol/inspector/issues/369]
2025-04-30 22:21:59 -07:00
cliffhall
79a09f8316 Consolidate hooks
* Hooks are in multiple places in the codebase and some camelCase, some snake-case. This PR relocates them all to the lib/hooks folder and normalizes camelCase naming. Settled on src/client/lib/hooks for the location since most of them were already there.

  - Refactor/move useTheme.ts from client/src/lib to client/src/lib/hooks
  - Refactor/move useToast.ts from client/src/hooks/ to client/src/lib/hooks/useToast.ts
  - Removed client/src/hooks
2025-04-30 17:09:22 -04:00
cliffhall
6e4dcd6120 WIP: Attempting to proxy streamable-http connections. Inspector still works fine with STDIO and SSE servers.
* In index.ts,
  - refactor transport webAppTransports to be a map with the session id as key and transport as value.

* Implement /mcp GET and POST endpoints using StreamableHTTPServerTransport and doing the new session in the POST (opposite from SSE) handler.

* In package.json
  - update the SDK to 1.10.2

* In useConnection.ts
  - import StreamableHTTPClientTransport
    - NOTE: while we NEED to do this, it causes useConnection.test.ts to fail with " ReferenceError: TransformStream is not defined"
  - in connect method
    - instantiate the appropriate transport
2025-04-22 18:25:47 -04:00
cliffhall
3a2e248527 Prettier 2025-04-21 11:40:01 -04:00
cliffhall
e5f6524eb6 Fix support for streamable-http connections.
* In server/index.js
  - add get/post handlers for /mcp
  - amend console log on SSE connect, with deprecation message
  - add /stdio GET handler and refactored /sse GET handler to not also do stdio. Each transport has its own handler now
  - add appropriate headers to streamable-http request

* In /client/src/lib/hooks/useConnection.ts
  - in connect function
    - create server url properly based on new transport type.
2025-04-21 11:34:55 -04:00
Cliff Hall
b3971259d2 Merge branch 'main' into main 2025-04-17 16:40:48 -04:00
Maxwell Gerber
1345a50011 lint 2025-04-16 16:25:51 -07:00
Maxwell Gerber
15960f5aa4 refactor: Use new serverspecifickey API 2025-04-16 16:24:49 -07:00
Maxwell Gerber
0dc6df57d6 Merge remote-tracking branch 'theirs/main' into max/disconnect 2025-04-16 16:10:35 -07:00
Glen Maddern
df0b526a41 fix: store auth tokens with server-specific keys
Changes client information and access tokens to use server-specific keys in sessionStorage. This fixes issues where changing the server URL would try to use tokens from a different server.
2025-04-16 10:14:08 +10:00
leoshimo
22eb81350a feat: Show initialize request/response in History panel (#269)
- Add logging for initialize request and response in useConnection.connect
- Include server capabilities, version, and instructions in history
2025-04-14 17:33:58 -07:00
Ido Salomon
87fad79e7d add bearer 2025-04-12 22:55:03 +03:00
Ido Salomon
80854d9183 Merge branch 'main' into set-header 2025-04-12 03:37:18 +03:00
Ido Salomon
a010f10c26 remove bad merges 2025-04-12 00:50:37 +03:00
KavyapriyaJG
eab6b42ac6 Fix - Lint warnings and errors in client
Lint issues fixed:
1. Removed unused error variable in catch block
2. Changed 'ActionTypes' type to enum
3. Removed unnecessary interface extensions
4. Removed unused export component
5. Added the missing dependencies to useMemo
6. Fixed the inline function issue by changing it to useMemo
2025-04-12 02:10:37 +05:30
Ido Salomon
aeac3ac914 Merge branch 'main' into set-header 2025-04-10 20:38:12 +03:00
Shiv Deepak Muddada
638603c0f3 add support for streamable http server 2025-04-09 20:47:53 -07:00
Pulkit Sharma
9c6663c4c2 add label to configItem, use that in UI 2025-04-09 01:24:41 +05:30
Pulkit Sharma
48917ca4e5 don't show full config keys 2025-04-09 01:12:02 +05:30
Maxwell Gerber
6a16e7cd24 fix: Disconnecting should clear oauth state 2025-04-07 15:15:28 -07:00
Ido Salomon
91633de80f set header name 2025-04-05 12:46:25 +03:00
Pulkit Sharma
e35343537c Add proper support for progress flow during tool calling 2025-04-05 01:46:57 +05:30
Pulkit Sharma
a8ffc704f0 add support for progress flow 2025-04-04 01:44:30 +05:30
Pulkit Sharma
2a544294ba merge main 2025-04-03 00:47:21 +05:30
Pulkit Sharma
debb00344a Merge branch 'main' into add_proxy_config 2025-04-02 13:43:42 +05:30
NicolasMontone
8586d63e6d Add shadcn alert to match project design 2025-04-01 17:38:25 -03:00
Pulkit Sharma
0dcd10c1dd Update readme 2025-04-01 19:48:48 +05:30
Pulkit Sharma
51c7eda6a6 Add MCP proxy address config support, better error messages 2025-04-01 19:21:19 +05:30
Maxwell Gerber
9ab213bc89 feat: Add lightweight Disconnect button 2025-03-31 18:54:44 -07:00
Pulkit Sharma
9e1186f5ac Document configuration in Readme and add TSDoc for the same. 2025-03-29 09:40:13 +05:30
Pulkit Sharma
81c0ef29ab Merge branch 'main' into main 2025-03-29 09:11:01 +05:30
Cliff Hall
ed31f9893f Merge branch 'main' into perf_useTheme 2025-03-28 17:46:00 -04:00
yusheng chen
f09d2b6096 style: prettier format file client/src/lib/useTheme.ts 2025-03-28 07:05:22 +08:00
Pulkit Sharma
0656e15a22 add configuration types 2025-03-24 23:30:35 +05:30
yusheng chen
3ac00598ff perf: add useMemo to the return value of useTheme 2025-03-23 21:29:46 +08:00
Pulkit Sharma
4a23585066 Add support in UI to configure request timeout 2025-03-22 21:18:38 +05:30
Nathan Arseneau
27b54104c1 Add support for additional notification schemas in useConnection hook 2025-03-19 19:51:01 -04:00
Nathan Arseneau
dd460bd877 Refactor notification handling to include all notifications 2025-03-17 02:44:59 -04:00
cliffhall
d70e6dc0e8 In useConnection.ts,
- import LoggingMessageNotificationSchema
- set onNotification as notification handler for LoggingMessageNotificationSchema
2025-03-13 15:17:17 -04:00
Abdelkader Boudih
397a0f651f feat: Fetch version from package.json in useConnection hook 2025-03-11 13:33:45 +00:00
Justin Spahr-Summers
15bbb7502b Merge pull request #175 from avi1mizrahi/main
Add Bearer Token Support
2025-03-11 10:50:51 +00:00
Avi Mizrahi
dbd616905c Support bearer token 2025-03-10 17:50:12 +02:00
cliffhall
952bee2605 Fix prettier complaints 2025-03-08 15:08:12 -05:00
cliffhall
747c0154c5 WIP: Subscribe to resources
* In App.tsx
  - added subscribeToResource()
    - takes a uri
    - sends a `resources/subscribe` message with the uri
  - added unsubscribeFromResource()
    - takes a uri
    - sends a `resources/unsubscribe` message with the uri
  - in ResourcesTab element,
    - pass subscribeToResource and subscribeToResource invokers to component
* In notificationTypes.ts
  - add ServerNotificationSchema to NotificationSchema to permit server update messages.

* In ResourcesTab.tsx
  - deconstruct subscribeToResource and unsubscribeFromResource and add prop types
  - Add Subscribe and Unsubscribe buttons to selected resource panel, left of the refresh button. They call the sub and unsub functions that came in on props, passing the selected resource URI.
  - [WIP]: Will show the appropriate button in a follow up commit.
* In useConnection.ts
  - import ResourceUpdatedNotificationSchema
  - in the connect function,
    - set onNotification as the handler for ResourceUpdatedNotificationSchema
2025-03-08 11:05:13 -05:00
Veljko Tornjanski
9c690e004b Update useConnection.ts 2025-03-05 18:17:39 +01:00
Jerome
1eba99c531 Merge branch 'main' into justin/sdk-auth 2025-03-05 11:43:20 +00:00