MCP Inspector changeddocs/2026-07-28/tools/inspector
Nearest release: v2.1.295, published 5 hours after upstream edited the page. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.
Upstream edited this page at 8 Oct 2026 12:58 UTC, give or take a minute or two: the time comes from Anthropic’s own sitemap rather than from a commit. This site recorded the change at 20 Oct 2026 20:07 UTC.
Upstream edited
Recorded here
Lines+99added
Lines−107removed
From line
14
where the diff opens
First seen
14 Aug 2026
this site's first read of the page
Recorded edits4to this page, all time
The whole hunk
from line 14, old and new numbered
/
from line 14
1414
1515The package also installs **`mcpdo`**, an experimental [connection client](/docs/2026-07-28/tools/inspector/mcpdo) that connects to a server once and keeps it open across many commands, on the same core.
1616
17<Frame caption="The MCP Inspector web client after a tool call, with the monitoring sidebar pinned and widened so the JSON-RPC exchange stays readable while you work.">
18 <img src="https://mintcdn.com/mcp/pUebPdrb6PY5_mfH/images/inspector/web-monitor-sidebar.png?fit=max&auto=format&n=pUebPdrb6PY5_mfH&q=85&s=2ced9eeefa020be53fe4fe957b7d07c6" width="3840" height="2160" data-path="images/inspector/web-monitor-sidebar.png" />
19</Frame>
17
2018
2119## Quickstart
2220
2321The Inspector requires **Node 22.19.0 or newer** and runs directly through `npx`. No installation is required:
2422
25<Tabs>
26 <Tab title="Web">
27 ```bash theme={null}
28 # Launch the web UI and connect to a local stdio server
29 npx @modelcontextprotocol/inspector node path/to/server/index.js
23**Web**
3024
31 # Or launch with no target and add servers from the UI
32 npx @modelcontextprotocol/inspector
33 ```
25```bash theme={null}
26# Launch the web UI and connect to a local stdio server
27npx @modelcontextprotocol/inspector node path/to/server/index.js
3428
35 The command prints a URL carrying a per-launch API token and opens it in your browser (set `MCP_AUTO_OPEN_ENABLED=false` to stop it opening). See [Web client](/docs/2026-07-28/tools/inspector/web).
36 </Tab>
29# Or launch with no target and add servers from the UI
30npx @modelcontextprotocol/inspector
31```
3732
38 <Tab title="CLI">
39 ```bash theme={null}
40 # List a server's tools and exit
41 npx @modelcontextprotocol/inspector --cli node path/to/server/index.js --method tools/list
33The command prints a URL carrying a per-launch API token and opens it in your browser (set `MCP_AUTO_OPEN_ENABLED=false` to stop it opening). See [Web client](/docs/2026-07-28/tools/inspector/web).
4234
43 # Call a tool and pipe the result into jq
44 npx @modelcontextprotocol/inspector --cli https://api.example.com/mcp --transport http \
45 --method tools/call --tool-name get_weather --tool-arg city=Boston --format json | jq .result
46 ```
35**CLI**
4736
48 See [CLI client](/docs/2026-07-28/tools/inspector/cli).
49 </Tab>
37```bash theme={null}
38# List a server's tools and exit
39npx @modelcontextprotocol/inspector --cli node path/to/server/index.js --method tools/list
5040
51 <Tab title="TUI">
52 ```bash theme={null}
53 npx @modelcontextprotocol/inspector --tui node path/to/server/index.js
54 ```
41# Call a tool and pipe the result into jq
42npx @modelcontextprotocol/inspector --cli https://api.example.com/mcp --transport http \
43 --method tools/call --tool-name get_weather --tool-arg city=Boston --format json | jq .result
44```
5545
56 See [TUI client](/docs/2026-07-28/tools/inspector/tui).
57 </Tab>
58</Tabs>
46See [CLI client](/docs/2026-07-28/tools/inspector/cli).
5947
48**TUI**
49
50```bash theme={null}
51npx @modelcontextprotocol/inspector --tui node path/to/server/index.js
52```
53
54See [TUI client](/docs/2026-07-28/tools/inspector/tui).
55
6056### Inspecting published servers
6157
6258Pass the command that launches the server as the Inspector's arguments, or point it at a remote server with `--server-url`:
6359
64<Tabs>
65 <Tab title="npm package">
66 ```bash theme={null}
67 npx -y @modelcontextprotocol/inspector npx @modelcontextprotocol/server-filesystem ~/Desktop
68 ```
69 </Tab>
60**npm package**
7061
71 <Tab title="PyPI package">
72 ```bash theme={null}
73 npx @modelcontextprotocol/inspector uvx mcp-server-git --repository ~/code/mcp/servers.git
74 ```
75 </Tab>
62```bash theme={null}
63npx -y @modelcontextprotocol/inspector npx @modelcontextprotocol/server-filesystem ~/Desktop
64```
7665
77 <Tab title="Remote HTTP server">
78 ```bash theme={null}
79 npx @modelcontextprotocol/inspector --server-url https://api.example.com/mcp --transport http
80 ```
81 </Tab>
82</Tabs>
66**PyPI package**
8367
68```bash theme={null}
69npx @modelcontextprotocol/inspector uvx mcp-server-git --repository ~/code/mcp/servers.git
70```
71
72**Remote HTTP server**
73
74```bash theme={null}
75npx @modelcontextprotocol/inspector --server-url https://api.example.com/mcp --transport http
76```
77
8478Always read a server's own README first, since every server requires different commands and arguments.
8579
86<Warning>
87 **The Inspector stores secrets (OAuth tokens, OAuth client secrets, and stdio
88 `env:` values) in the OS keychain when one is available.** On a machine with
89 no keychain (Linux without libsecret or a Secret Service, headless and SSH
90 sessions, Termux, and containers with a mounted volume) they are saved to
91 `~/.mcp-inspector/secrets.json` instead, **unencrypted unless you supply a
92 key**. See [Where secrets are
93 stored](/docs/2026-07-28/tools/inspector/configuration#where-secrets-are-stored)
94 for how to get a keychain back, encrypt the file, or keep secrets in memory
95 only.
96</Warning>
80> [!WARNING]
81>
82> **The Inspector stores secrets (OAuth tokens, OAuth client secrets, and stdio
83> `env:` values) in the OS keychain when one is available.** On a machine with
84> no keychain (Linux without libsecret or a Secret Service, headless and SSH
85> sessions, Termux, and containers with a mounted volume) they are saved to
86> `~/.mcp-inspector/secrets.json` instead, **unencrypted unless you supply a
87> key**. See [Where secrets are
88> stored](/docs/2026-07-28/tools/inspector/configuration#where-secrets-are-stored)
89> for how to get a keychain back, encrypt the file, or keep secrets in memory
90> only.
9791
9892## Launcher flags vs. client flags
9993
from line 98
10498
10599Everything else (`--catalog`, `--config`, `--server-url`, `--transport`, `--method`, the OAuth flags) is defined by the *client*, not the launcher, and the clients do not all define the same set. The [Configuration and flags](/docs/2026-07-28/tools/inspector/configuration) page is organized that way, by owner.
106100
107<Note>
108 Mode flags are recognized only at the front of the command line: the first token that isn't `--web` / `--cli` / `--tui` ends launcher parsing, and everything after it is forwarded to the client unchanged. That's what lets a literal `--cli` appear later as one of your server's own arguments:
101> [!NOTE]
102>
103> Mode flags are recognized only at the front of the command line: the first token that isn't `--web` / `--cli` / `--tui` ends launcher parsing, and everything after it is forwarded to the client unchanged. That's what lets a literal `--cli` appear later as one of your server's own arguments:
104>
105> ```bash theme={null}
106> mcp-inspector --cli node server.js --cli # mode is CLI; the trailing --cli goes to server.js
107> ```
109108
110 ```bash theme={null}
111 mcp-inspector --cli node server.js --cli # mode is CLI; the trailing --cli goes to server.js
112 ```
113</Note>
109> [!NOTE]
110>
111> `--help` behaves differently with and without a mode flag. Without one,
112> `-h`/`--help` anywhere on the command line (even after a server command)
113> prints the launcher's help and exits. With a mode flag it is forwarded, so
114> `mcp-inspector --cli --help` prints the CLI's full flag reference instead.
114115
115<Note>
116 `--help` behaves differently with and without a mode flag. Without one,
117 `-h`/`--help` anywhere on the command line (even after a server command)
118 prints the launcher's help and exits. With a mode flag it is forwarded, so
119 `mcp-inspector --cli --help` prints the CLI's full flag reference instead.
120</Note>
121
122116## Where to go next
123117
124<CardGroup cols={2}>
125 <Card title="Web client" icon="browser" href="/docs/2026-07-28/tools/inspector/web">
126 A tab-by-tab walkthrough of the graphical inspector.
127 </Card>
118> **[Web client](/docs/2026-07-28/tools/inspector/web)**
119>
120> A tab-by-tab walkthrough of the graphical inspector.
128121
129 <Card title="CLI client" icon="terminal" href="/docs/2026-07-28/tools/inspector/cli">
130 Method reference, output formats, exit codes, and CI recipes.
131 </Card>
122> **[CLI client](/docs/2026-07-28/tools/inspector/cli)**
123>
124> Method reference, output formats, exit codes, and CI recipes.
132125
133 <Card title="TUI client" icon="table-columns" href="/docs/2026-07-28/tools/inspector/tui">
134 Terminal navigation and keyboard reference.
135 </Card>
126> **[TUI client](/docs/2026-07-28/tools/inspector/tui)**
127>
128> Terminal navigation and keyboard reference.
136129
137 <Card title="Configuration and flags" icon="sliders" href="/docs/2026-07-28/tools/inspector/configuration">
138 Catalog vs. config files, the full per-client flag reference, and
139 environment variables.
140 </Card>
130> **[Configuration and flags](/docs/2026-07-28/tools/inspector/configuration)**
131>
132> Catalog vs. config files, the full per-client flag reference, and
133> environment variables.
141134
142 <Card title="Authorization" icon="lock" href="/docs/2026-07-28/tools/inspector/authorization">
143 The OAuth flow end to end, mid-session re-authorization, and loopback
144 callbacks.
145 </Card>
135> **[Authorization](/docs/2026-07-28/tools/inspector/authorization)**
136>
137> The OAuth flow end to end, mid-session re-authorization, and loopback
138> callbacks.
146139
147 <Card title="Protocol eras" icon="code-branch" href="/docs/2026-07-28/tools/inspector/protocol-eras">
148 Legacy vs. modern (2026-07-28) operation, and how every tab changes between
149 protocol eras.
150 </Card>
140> **[Protocol eras](/docs/2026-07-28/tools/inspector/protocol-eras)**
141>
142> Legacy vs. modern (2026-07-28) operation, and how every tab changes between
143> protocol eras.
151144
152 <Card title="mcpdo connection client" icon="plug" href="/docs/2026-07-28/tools/inspector/mcpdo">
153 Connect once, then run many commands against a named connection.
154 </Card>
145> **[mcpdo connection client](/docs/2026-07-28/tools/inspector/mcpdo)**
146>
147> Connect once, then run many commands against a named connection.
155148
156 <Card title="Security" icon="shield-halved" href="/docs/2026-07-28/tools/inspector/security">
157 The threat model: the web backend's token, Docker, secret storage, stdio
158 servers, and the mcpdo daemon.
159 </Card>
149> **[Security](/docs/2026-07-28/tools/inspector/security)**
150>
151> The threat model: the web backend's token, Docker, secret storage, stdio
152> servers, and the mcpdo daemon.
160153
161 <Card title="Recipes" icon="book" href="/docs/2026-07-28/tools/inspector/recipes">
162 Importing client configs, reviewing MCP Apps, Docker, and network hosting.
163 </Card>
154> **[Recipes](/docs/2026-07-28/tools/inspector/recipes)**
155>
156> Importing client configs, reviewing MCP Apps, Docker, and network hosting.
164157
165 <Card title="Debugging guide" icon="bug" href="/docs/2026-07-28/tools/debugging">
166 Broader debugging strategies beyond the Inspector.
167 </Card>
168</CardGroup>
158> **[Debugging guide](/docs/2026-07-28/tools/debugging)**
159>
160> Broader debugging strategies beyond the Inspector.
169161
No line in this hunk matches that.