Commit Graph

133 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
Kent C. Dodds
2915cccd85 feat(client): make all config initialize-able via search params 2025-05-07 13:26:17 -06:00
Kent C. Dodds
3c5c38462b feat(client): initialize via search params 2025-05-07 13:26:17 -06:00
Kent C. Dodds
63cb034943 chore(format): Format App.tsx 2025-05-05 11:20:55 -06:00
Kent C. Dodds
5ad2c3c146 feat(client): Add PingTab when no server capabilities
The TypeScript SDK (and presumably others) quite possibly support at least pings out of the box so including the ping tab even if a server doesn't have capabilities seems to make sense.
2025-05-01 09:12:29 -06:00
KavyapriyaJG
c843ac6e49 fix - Reset Prompt results on selection 2025-04-21 10:00:40 +05:30
Cliff Hall
b3971259d2 Merge branch 'main' into main 2025-04-17 16:40:48 -04:00
Maxwell Gerber
c8e9a772e4 Merge remote-tracking branch 'theirs/main' into max/improved-oauth-callback 2025-04-16 16:08:11 -07:00
Cliff Hall
6420605d30 Merge branch 'main' into set-header 2025-04-14 18:23:55 -04:00
Ido Salomon
a010f10c26 remove bad merges 2025-04-12 00:50:37 +03:00
Ido Salomon
d798d1a132 remove bad merge 2025-04-12 00:13:52 +03:00
Ido Salomon
53152e3fb1 fix build 2025-04-11 20:52:45 +03:00
Ido Salomon
aeac3ac914 Merge branch 'main' into set-header 2025-04-10 20:38:12 +03:00
Ido Salomon
a98db777c5 add auth tests 2025-04-10 20:34:40 +03:00
Shiv Deepak Muddada
f43a9140ef run prettier-fix 2025-04-09 21:09:32 -07:00
Shiv Deepak Muddada
638603c0f3 add support for streamable http server 2025-04-09 20:47:53 -07:00
Cloudkkk
a15df913fe feat: 🎸 Add clear button for error notifications 2025-04-09 11:32:49 +08: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
Pulkit Sharma
f71613227f rename 2025-04-09 00:40:42 +05:30
Maxwell Gerber
3f9500f954 feat: QoL improvements for OAuth Callback 2025-04-07 14:58:31 -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
Cliff Hall
a75dd7ba1f Merge pull request #253 from max-stytch/max/fix-reloads
fix: Do not reconnect on rerender
2025-04-03 13:38:11 -04:00
Maxwell Gerber
0bd51fa84a fix: Do not reconnect on rerender 2025-04-02 15:18:33 -07:00
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
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
Abdelkader Boudih
80f5ab1136 fix: typo 2025-03-31 18:28:40 +00:00
Abdelkader Boudih
da9dd09765 refactor: Update default ports for MCPI client and MPCP server
Changes the default ports used by the MCP Inspector client UI and the MCP Proxy server to avoid conflicts with common development ports and provide a memorable mnemonic based on T9 mapping.
2025-03-31 00:31:28 +00:00
Pulkit Sharma
81c0ef29ab Merge branch 'main' into main 2025-03-29 09:11:01 +05:30
cliffhall
7227909df3 Fix spurious linebreak 2025-03-28 16:03:39 -04:00
cliffhall
84335ae5f4 Remove else block wrapper for final component return to reduce indenting and hopefully make the PR diff easier to approve. 2025-03-28 15:57:11 -04:00
cliffhall
0891077402 This fixes the linter's warning that Hooks must be run in order each time.
* In App.tsx
  - move the conditional that returns suspense if the path is oauth/callback to the end of the component after all hooks, rendering either suspense or the normal component.
  - move handleApproveSampling and handleRejectSampling functions down below all the hooks for clarity. There are a lot of hooks so finding the end of them is a scroll, and these function constants aren't referenced until the rendering section below anyway.
2025-03-27 15:59:41 -04:00
Pulkit Sharma
484e2820bc Merge branch 'main' into main 2025-03-23 11:08:55 +05:30
Larmyliu
51f3135c76 Merge branch 'main' into feat/proxyServerUrl 2025-03-23 00:11:58 +08:00
Pulkit Sharma
4a23585066 Add support in UI to configure request timeout 2025-03-22 21:18:38 +05:30
jazminliu
4fdbcee706 Update Vite configuration to enable host access and fix proxy server URL to use the current hostname. 2025-03-20 22:04:59 +08:00
cliffhall
d8b5bdb613 Run prettier 2025-03-15 17:03:22 -04:00
cliffhall
5104952239 Add log level setting in UI
* This fixes #188
* In App.tsx
  - import LoggingLevel from sdk
  - add [logLevel, setLogLevel] useState with value of type LoggingLevel initialized to "debug"
  - add useEffect that stores the new logLevel in localStorage as "logLevel"
  - added sendLogLevelRequest function that takes a level argument of type LoggingLevel and sends the appropriate request. It calls setLogLevel when done, to update the local UI
  - pass logLevel and sendLogLevelRequest to Sidebar component as props
* In Sidebar.tsx
  - Import LoggingLevel and LoggingLevelSchema from sdk
  - add props and prop types for  logLevel and sendLogLevelRequest and loggingSupported
  - add Select component populated with the enum values of LoggingLevelSchema, shown only if loggingSupported is true and connectionStatus is "connected"
*
2025-03-15 16:37:10 -04: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
a669272fda Track subscribed resources and show the appropriate subscribe or unsubscribe button on selected resource panel.
If the server does not support resource subscriptions, do not show any subscription buttons.

* In App.tsx
  - useState for resourceSubscriptions, setResourceSubscriptions a Set of type string.
  - in subscribeToResource()
    - only make the request to subscribe if the uri is not in the resourceSubscriptions set
  - in unsubscribeFromResource()
    - only make the request to unsubscribe if the uri is in the resourceSubscriptions set
  - in ResourceTab element,
    - pass a boolean resourceSubscriptionsSupported as serverCapabilities.resources.subscribe
    - pass resourceSubscriptions as a prop
* In ResourcesTab.tsx
  - deconstruct resourceSubscriptions and resourceSubscriptionsSupported from props and add prop type
  - in selected resource panel
    - don't show subscribe or unsubscribe buttons unless resourceSubscriptionsSupported is true
    - only show subscribe button if selected resource uri is not in resourceSubscriptions set
    - only show unsubscribe button if selected resource uri is in resourceSubscriptions set
    - wrap buttons in a flex div that is
      - justified right
      - has a minimal gap between
      - 2/5 wide (just big enough to contain two buttons and leave the h3 text 3/5 of the row to render and not overflow.
2025-03-08 13:40:37 -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
Gavin Aboulhosn
7f713fe40e refactor(completions): improve completion handling and error states
- Move completion logic from App.tsx to useConnection hook
- Replace useCompletion with simpler useCompletionState hook
- Add graceful fallback for servers without completion support
- Improve error handling and state management
- Update PromptsTab and ResourcesTab to use new completion API
- Add type safety improvements across completion interfaces
2025-02-12 19:05:51 -05:00
Gavin Aboulhosn
c66feff37d update completions branch 2025-02-12 11:41:46 -05:00