Commit graph inspector/cli
Author SHA1 Message Date
Nathan Heaps
9e47d7d3c1 fix: correct stdout buffering issues in spawned processes
Adds stdio inheritance to prevent Node.js from dropping console output after 8192 characters due to premature stdout pipe closure before output finishes flushing. Without this, calls like this would truncate after 8192 characters, leading to broken json output:

```
npx --node-options=--inspect -y @modelcontextprotocol/inspector --cli --config .mcp.json --server notion --method tools/list
```

```
# notion mcp server
    "notion": {
      "//": "doppler needs to expose OPENAPI_MCP_HEADERS (and NOTION_TOKEN within it)",
      "command": "bash",
      "args": [
        "-c",
        "doppler run -p 'mcp' -c \"user_${MCP_USER:-$USER}\" -- npx -y @notionhq/notion-mcp-server"
      ]
    },
```

You can see this in their [openapi spec](https://github.com/makenotion/notion-mcp-server/blob/main/scripts/notion-openapi.json), which powers their MCP server.
2025-08-20 21:06:06 -04: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
Ola Hungerford
44b4417951
Merge branch 'main' into reverse-env-order-for-cli-stdio 2025-08-18 06:57:16 -07:00
olaservo
b6af0c7f67 bump @modelcontextprotocol/sdk version to ^1.17.2 in all package.json files 2025-08-13 11:06:13 -07:00
olaservo
ca913eb06f Bump to 0.16.4 2025-08-12 20:16:06 -07:00
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
68319704f0
Update test to match new server selection behavior
Test 30 now expects an error when multiple servers exist, even with
"default-server" present, aligning with the simplified logic that only
auto-selects when there's exactly one server.
2025-08-07 21:02:29 +01:00
Felix Weinberger
1263ffdf58
Simplify server auto-selection logic
Only auto-select when there's exactly one server in the config file.
Removes special handling for "default-server" naming convention.

Addresses review feedback from @ochafik on PR #661
2025-08-07 20:45:23 +01:00
Felix Weinberger
14b01815ad
prettier 2025-08-07 12:01:17 +01:00
Felix Weinberger
cf7c138958
Fix --server-url flag not being parsed by CLI
Add --server-url option to CLI parser so the flag is properly recognized
and passed through to the server process via the /config endpoint.
2025-08-07 11:58:08 +01:00
Felix Weinberger
98b7e63bb0 Add --transport flag support to CLI
- Add --transport option to command line parser
- Support --transport stdio/sse/http flags
- Convert 'http' to 'streamable-http' internally
- Fix transport type conversion for CLI mode
2025-08-06 19:50:23 +01:00
Felix Weinberger
195f79076e
Fix CLI test failures for SSE/HTTP transport configs
- Pass URL as command for SSE/HTTP configs instead of empty string
- Update runCli to pass transport type flag when needed
- Update tests to expect connection errors for non-existent SSE/HTTP servers
2025-08-05 14:22:16 +01:00
Felix Weinberger
1e399b7055
prettier 2025-08-05 14:08:57 +01:00
Felix Weinberger
0e2906c4c4
Implement default-server support
- Auto-select server when --config is used without --server
- Use 'default-server' if it exists in config
- Use single server if only one is defined
- Show helpful error if multiple servers exist without default
- Add tests for all default-server scenarios
2025-08-05 14:08:57 +01:00
Felix Weinberger
63193ec007
Clean up CLI tests and add config parsing tests
- Remove web client launch tests from CLI test suite
- Add CLI-mode tests for SSE and streamable-http configs
- Keep only tests that use --cli flag as intended
2025-08-05 14:08:57 +01:00
Felix Weinberger
1d89d750e0
test: Add minimal test coverage for CLI transport options
- Add tests for config files with different transport types (stdio, sse, streamable-http)
- Add test for backward compatibility with configs missing type field
- Verify transport and serverUrl options are correctly parsed from config files
- All 36 tests pass
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
Ola Hungerford
1ed920297f
Merge branch 'main' into oleina/logging 2025-07-26 09:43:20 -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
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
Cliff Hall
efc8f32ad2
Merge branch 'main' into ci-test-cli 2025-07-15 16:04:47 -04:00
François Leblanc
b84e5271f4 Explicitly exit process for CI 2025-07-14 23:35:52 -04:00
François Leblanc
ff2d932904 Add await to runCli call 2025-07-14 23:27:58 -04:00
Ola Hungerford
824d5e1ec2
Merge branch 'main' into cli-remote-no-required-endpoint 2025-07-14 18:51:14 -07:00
François Leblanc
29462172f2
Merge branch 'main' into ci-test-cli 2025-07-14 14:34:17 -04:00
François Leblanc
1842063ce7 Remove unused import
This commit is mostly so that we can see whether the CI triggers a check
of the CLI tests when files are touched within the CLI folder.
2025-07-14 14:33:08 -04:00
François Leblanc
714192486b Fix a failing test 2025-07-14 13:45:50 -04:00
oleina
f4d9bf6d5e initalize logging for cli mode 2025-07-11 17:34:14 -07:00
cliffhall
acd166263e Bump version to 0.16.1 2025-07-10 16:08:47 -04:00
cliffhall
0eebd01ebe Remove environment-related startup vars. Those will be captured by start.js 2025-07-10 15:17:54 -04:00
cliffhall
6a66ca5b23 fix startup of webclient through cli 2025-07-10 13:51:15 -04:00
François Leblanc
7c2b761748 [cli] Don't force specific endpoints for remote servers
At the moment, the CLI tool expects that remote MCP servers, either
using SSE or streamable HTTP transport, have certain endpoints or
fragments -- `/sse` and `/mcp`, respectively. This is not part of the
MCP spec, nor should it be expected.

I also added a check to make sure a URL is provided if STDIO isn't
picked, erroring out if not.
2025-07-09 11:51:41 -04:00
olaservo
f8aac1758c chore: bump version to 0.16.0 2025-07-08 07:45:31 -07:00
olaservo
d49a5f65c1 Bump sdk 2025-06-25 07:22:34 -07:00
olaservo
2ca82b5be6 Bump version to 0.15.0 2025-06-25 07:19:44 -07:00
Ola Hungerford
f2aaa8d668
Merge pull request #479 from ryanjclark/feat/cli-http
Feat/cli http
2025-06-25 05:02:32 -07:00
Ryan Clark
14a9b8fb36
feat: formatting 2025-06-25 00:46:11 -05:00
Ryan Clark
0bef6f71ad
feat: add tests for http transport 2025-06-24 09:23:51 -05:00
Alex Andru
0e6915a061 chore: bump workspace deps 2025-06-20 18:54:13 +02:00
cliffhall
1c75f88760 Bump version to 0.14.3
- Need to do a patch level release in order to test the ghcr docker container publishing feature added to main.yml in #257
2025-06-17 16:38:29 -04:00
Jerome
eb27b954e5
Bumped all versions to 0.14.2 2025-06-14 19:48:59 +01:00
Jerome
e585789208
Remaining version bump locations 2025-06-13 18:37:44 +01:00
cliffhall
8ef91e359e Bump Inspector packages to 0.14.0, and sdk to 1.12.1 2025-06-04 16:13:35 -04:00
Ryan Clark
7fbe86a88c
Merge branch 'main' into feat/cli-http 2025-06-01 13:27:49 -05:00
Ryan Clark
daa863ddfc
feat: add transport option to cli 2025-06-01 13:27:16 -05:00
ihrpr
7cf85b526a
update TS sdk 2025-05-21 20:56:25 +01:00
ihrpr
b0db14c3a7
0.13.0 bump version 2025-05-21 20:33:19 +01:00
olaservo
f514857a34 Apply process env after defaults 2025-05-19 05:31:24 -07:00