Commit graph inspector/client
Author SHA1 Message Date
Ola Hungerford
62926b61ff
Merge branch 'main' into bump-version 2025-08-08 18:35:10 -07:00
olaservo
b89b10beac Bump version 2025-08-08 15:46:58 -07:00
Felix Weinberger
7ea47c0caa
Fix transport type propagation from CLI to web client
- Add --transport and --server-url support to client/bin/start.js
- Pass transport configuration through server to client via /config endpoint
- Update client App.tsx to use defaultTransport and defaultServerUrl from server
- Ensure SSE and HTTP transport configs work properly from CLI
2025-08-05 19:38:44 +01:00
Felix Weinberger
1e399b7055
prettier 2025-08-05 14:08:57 +01:00
Felix Weinberger
a7675d1be2
Add Playwright e2e tests for CLI argument handling
- Test that transport and serverUrl parameters are correctly passed via URL
- Verify SSE and streamable-http transport types are handled
- Test default STDIO behavior
2025-08-05 14:08:57 +01:00
Felix Weinberger
b6dc2ceeb9
Remove transport/serverUrl parsing from start.js
Move transport configuration parsing to cli.js as suggested in PR review. The CLI entry point (cli.js) should handle config file parsing and pass parameters to start.js.
2025-08-05 14:08:57 +01:00
Felix Weinberger
acf6c1e118
feat: Auto-detect transport type from config files
When launching the inspector with --config, automatically set the transport
dropdown and server URL based on the config file contents. This eliminates
the need to manually switch between stdio/sse/streamable-http in the UI.

- Use discriminated union for ServerConfig to properly type different transports
- Detect transport type and URL from config, pass via query params
- Maintain backwards compatibility for configs without explicit 'type' field
- Add comprehensive tests for the new functionality

Improves UX by making the config file the single source of truth for
server settings.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-05 14:08:57 +01:00
Felix Weinberger
de16a18e2f
fix: use spread operator to avoid empty string arguments
This fixes the regression introduced in dc5fa6a where empty strings
were passed as arguments when no command or args were provided,
causing parseArgs to fail with "Unexpected argument ''" error.

The spread operator approach is more idiomatic and avoids creating
empty strings that need to be filtered out.
2025-08-05 11:50:06 +01:00
Ola Hungerford
cf44b30bcc
Merge pull request #664 from richardkmichael/fix-dashed-mcp-args
fix: Argument notation to allow parseArgs to parse leading dash-options
2025-08-03 12:33:55 -07:00
Cliff Hall
7f1d924ead
Merge pull request #650 from richardkmichael/minor-dependencies
Update minor dependencies
2025-08-01 15:39:49 -04:00
Ola Hungerford
816f6c2c4c
Merge branch 'main' into bugfix/authorization-url-generate-state 2025-07-31 18:41:24 -07:00
Ola Hungerford
21bb00499f
Merge pull request #611 from antholeole/oleina/logging
initalize logging after connection
2025-07-31 18:13:30 -07:00
Richard Michael
dc5fa6a0f5 fix: Argument notation to allow parseArgs to parse leading dash-options
The server was invoked as:

`server/build/index.js --command comm --args arg1 arg2 arg3`

(`arg1 arg2 arg3` is a string in ARGV; the single value of `--args`.)

`util:parseArgs()` cannot handle an argument value with a leading dash
with this usage.

e.g.,

`server/build/index.js --command npm --args --silent --prefix path/to/servers/src/everything run start`

The above will throw, and indicate correct usage:

```
TypeError [ERR_PARSE_ARGS_INVALID_OPTION_VALUE]: Option '--args' argument is ambiguous.
Did you forget to specify the option argument for '--args'?
To specify an option argument starting with a dash use '--args=-XYZ'.
```

However, since users do not control the invocation of the server, they
cannot adjust the notation for their use-case.

`arguments`, and `command`, are unknown user input, so adjust the
argument form to the more lenient and robust notation.  Although a
`command` beginning with `-` seems unlikely, consistent handling of both
improves code clarity and simplicity.

Running the server directly (e.g., on the command line in development)
may continue to use: `--args arg1 arg2 arg3` if desired, so this is a
non-breaking change.
2025-07-31 12:08:47 -07:00
oleina
eec20ff1fc add missing close bracket 2025-07-31 10:20:47 -07:00
Ola Hungerford
cea2b6fe00
Merge branch 'main' into bugfix/authorization-url-generate-state 2025-07-30 21:28:45 -07:00
Ola Hungerford
14657973bd
Merge branch 'main' into dev/eh/tool-meta-support 2025-07-30 21:20:21 -07:00
Richard Michael
d019376c1d Update zod 2025-07-29 17:40:35 -07:00
Richard Michael
3a1cf7c54b Update ts-jest 2025-07-29 17:40:35 -07:00
Richard Michael
14a77ef73d Update @types/react 2025-07-29 17:40:35 -07:00
Richard Michael
29d67af285 Update @types/node 2025-07-29 17:40:35 -07:00
Richard Michael
8927d15e11 Update typescript-eslint 2025-07-29 17:40:35 -07:00
Richard Michael
e8b9860ed8 Update @vitejs/plugin-react 2025-07-29 17:40:35 -07:00
Richard Michael
0d71c44821 Update vite 2025-07-29 17:40:35 -07:00
Richard Michael
700b856140 Update postcss 2025-07-29 17:40:35 -07:00
Ola Hungerford
94c75204fe
Merge branch 'main' into bugfix/authorization-url-generate-state 2025-07-26 20:41:35 -07:00
Ola Hungerford
e573e855f0
Merge branch 'main' into oleina/logging 2025-07-26 10:51:01 -07:00
Ola Hungerford
098a0e5a79
Merge branch 'main' into routing-fragment-cleanup 2025-07-26 10:48:10 -07:00
Ola Hungerford
1ed920297f
Merge branch 'main' into oleina/logging 2025-07-26 09:43:20 -07:00
Ola Hungerford
f274a52612
Merge branch 'main' into feature/completion-context 2025-07-26 09:41:56 -07:00
Felix Weinberger
939a7dab58
chore: update ts-sdk to 0.17.0 and bump version to 0.16.2 2025-07-25 15:57:43 +01:00
Konstantin Konstantinov
8383714484
Merge branch 'main' into bugfix/authorization-url-generate-state 2025-07-25 15:28:04 +03:00
Richard Michael
8de1122c1c Formally randomize test order, so Jest prints a seed for local reproducibility of CI 2025-07-24 13:29:59 -07:00
Richard Michael
461403b624 Add tests for URL fragment routing behavior with order-independent window mocking
- Add tests for hash routing based on server capabilities priority
  - Test that no hash is set when disconnected
  - Add e2e test verifying startup has no hash fragment
  - Use Jest module mocking for useConnection hook states

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-24 13:29:45 -07:00
Richard Michael
28d3fc56c1 Update URL fragment to only appear when connected
- Only set URL fragment when mcpClient is connected
- Set default fragment based on server capabilities priority (resources > prompts > tools > ping)
- Clear fragment when disconnected to prevent stale routing state

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-24 13:13:57 -07:00
Cliff Hall
9f6e731dc4
Merge pull request #535 from QuantGeekDev/feature/elicitations
add: elicitation support
2025-07-24 11:50:43 -04:00
Cliff Hall
21745d6507
Merge branch 'main' into fweinberger/fix-cli-args 2025-07-24 11:46:54 -04:00
Cliff Hall
eda6c05ba1
Merge branch 'main' into feature/elicitations 2025-07-24 11:00:41 -04:00
Felix Weinberger
c7b90a1af9
Fix command-line argument passing to pre-fill UI
When running the inspector with command-line arguments (e.g.,
`npx @modelcontextprotocol/inspector node build/index.js arg1 arg2`),
the command and arguments were not being properly passed through to
the UI for pre-filling.

Changes:
- cli.ts now passes command and args to start.js
- start.js uses --command for the command and --args for arguments
- Server parses the new --command parameter
- /config endpoint returns correct values for UI pre-filling

This ensures the UI correctly displays the command and arguments
passed on the command line instead of showing old localStorage values.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-24 13:06:36 +01:00
Ola Hungerford
144755b369
Merge branch 'main' into feature/elicitations 2025-07-23 21:50:48 -07:00
Xiao Yijun
f6c9342678
test: update tests 2025-07-23 07:57:21 +08:00
Xiao Yijun
ee39d56e6d
chore: fix lint issue 2025-07-21 11:26:27 +08:00
Xiao Yijun
1c9b47a0e8
refactor: ui improvement 2025-07-21 11:24:54 +08:00
Alex Andru
6b204b5d29
feat: add active tab system 2025-07-18 18:21:40 +02:00
oleina
7ce0938e27 run linter 2025-07-14 08:01:10 -07:00
oleina
d810680b93 use default logging level from useState 2025-07-14 07:58:58 -07:00
Xiao Yijun
91aacba85d
Merge branch 'main' into feat-support-enter-oauth-client-information-manually 2025-07-14 17:24:38 +08:00
Xiao Yijun
9e8042949d
refactor: update label for redirect URL 2025-07-14 17:23:02 +08: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
Konstantin Konstantinov
4ef85f744c
generate random state parameter in oauth state machine 2025-07-13 08:44:57 +03:00