Follow Discord
Sweep 22 Oct 2026 · 04:32Z Build v2.1.308 527 read Stable v2.1.308 Latest v2.1.308 Next v2.1.308 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One change · mcp

Configuration and flags changeddocs/2026-07-28/tools/inspector/configuration

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+55added
Lines−55removed
From line 13 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 13, old and new numbered
/
lines
from line 13
1313 
1414Everything below belongs to a client.
1515 
16<Note>
17 The package also installs a second, separate bin, `mcpdo`, the experimental
18 [connection client](/docs/2026-07-28/tools/inspector/mcpdo). It is not reached
19 through the launcher and takes no mode flag.
20</Note>
16> [!NOTE]
17>
18> The package also installs a second, separate bin, `mcpdo`, the experimental
19> [connection client](/docs/2026-07-28/tools/inspector/mcpdo). It is not reached
20> through the launcher and takes no mode flag.
2121 
2222## Choosing servers
2323 
from line 35
3535 
3636The two are **mutually exclusive**, and neither combines with an ad-hoc target. Passing both is rejected identically by all three clients. The web client is stricter in one respect: it also rejects `--header` and `--protocol-era` alongside a file, where the CLI and TUI apply them on top of the file's settings.
3737 
38<Note>
39 **What a freshly seeded catalog contains depends on the client.** The web backend seeds three sample servers, so a first launch has something to connect to immediately:
38> [!NOTE]
39>
40> **What a freshly seeded catalog contains depends on the client.** The web backend seeds three sample servers, so a first launch has something to connect to immediately:
41>
42> ```json theme={null}
43> {
44> "mcpServers": {
45> "filesystem-server-default": {
46> "type": "stdio",
47> "command": "npx",
48> "args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
49> },
50> "everything-server-default": {
51> "type": "stdio",
52> "command": "npx",
53> "args": ["-y", "@modelcontextprotocol/server-everything"]
54> },
55> "example-server-default": {
56> "type": "streamable-http",
57> "url": "https://example-server.modelcontextprotocol.io/mcp"
58> }
59> }
60> }
61> ```
62>
63> The CLI and TUI seed an empty `{ "mcpServers": {} }` instead: they are non-interactive or list-driven, so sample entries would be noise rather than a starting point.
64>
65> Either way, seeding happens only when the file does not exist yet, and a read-only `--config` is never seeded at all.
4066 
41 ```json theme={null}
42 {
43 "mcpServers": {
44 "filesystem-server-default": {
45 "type": "stdio",
46 "command": "npx",
47 "args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"]
48 },
49 "everything-server-default": {
50 "type": "stdio",
51 "command": "npx",
52 "args": ["-y", "@modelcontextprotocol/server-everything"]
53 },
54 "example-server-default": {
55 "type": "streamable-http",
56 "url": "https://example-server.modelcontextprotocol.io/mcp"
57 }
58 }
59 }
60 ```
67> [!NOTE]
68>
69> `--config` is what you want when pointing the Inspector at a config file you
70> didn't write: a coworker's, a client application's, or one checked into a
71> repo. It guarantees the Inspector will not touch the file.
6172 
62 The CLI and TUI seed an empty `{ "mcpServers": {} }` instead: they are non-interactive or list-driven, so sample entries would be noise rather than a starting point.
63 
64 Either way, seeding happens only when the file does not exist yet, and a read-only `--config` is never seeded at all.
65</Note>
66 
67<Note>
68 `--config` is what you want when pointing the Inspector at a config file you
69 didn't write: a coworker's, a client application's, or one checked into a
70 repo. It guarantees the Inspector will not touch the file.
71</Note>
72 
7373### Ad-hoc targets
7474 
7575Instead of a file you can name one server directly, either as a positional command (stdio) or a URL:
from line 186
186186| `MCP_CATALOG_PATH`, `MCP_STORAGE_DIR` | As described under [CLI and TUI](#cli-and-tui). |
187187| `HTTPS_PROXY` / `HTTP_PROXY` / `NO_PROXY` | Standard proxy routing for outbound MCP connections. |
188188 
189<Warning>
190 Never combine `DANGEROUSLY_OMIT_AUTH` and `DANGEROUSLY_BIND_ALL_INTERFACES`.
191 The web backend spawns processes and holds OAuth tokens, so anyone who can
192 reach it can drive it.
193</Warning>
189> [!WARNING]
190>
191> Never combine `DANGEROUSLY_OMIT_AUTH` and `DANGEROUSLY_BIND_ALL_INTERFACES`.
192> The web backend spawns processes and holds OAuth tokens, so anyone who can
193> reach it can drive it.
194194 
195195What the token does and does not protect is laid out under [The web backend and its API token](/docs/2026-07-28/tools/inspector/security#the-web-backend-and-its-api-token).
196196 
from line 235
235235| Container with **no volume** on the secrets directory | Memory | No, this session only |
236236| Container **with** a volume on the secrets directory | File | Yes |
237237 
238<Warning>
239 **With no keychain, secrets go to a plaintext file, and you did not have to ask for it.** On a host where the keychain probe fails (Linux without libsecret or a running Secret Service, a headless server or SSH session with no D-Bus session, Android/Termux), the Inspector **automatically** stores secrets in `~/.mcp-inspector/secrets.json`. Unless you supply a key, that file is **unencrypted**. Mode `0600` keeps out other non-root users, but not root, not backups or copies of your home directory, and not any program running as you, including the stdio servers the Inspector starts.
240 
241 Pick one:
242 
243 * **Get a keychain back:** install libsecret and run a Secret Service (for example `gnome-keyring`), or run the Inspector inside a desktop session. On the next start the Inspector moves the file's secrets into the keychain and deletes the file.
244 * **Encrypt the file:** supply a generated key with `MCP_INSPECTOR_SECRET_KEY_FILE` (preferred) or `MCP_INSPECTOR_SECRET_KEY`.
245 * **Don't write secrets to disk at all:** `MCP_INSPECTOR_SECRET_STORE=memory`, and re-enter them each session.
246 
247 Even encrypted, secrets on disk carry moderate risk. See [what the file store protects against](/docs/2026-07-28/tools/inspector/security#what-the-file-store-protects-against).
248</Warning>
238> [!WARNING]
239>
240> **With no keychain, secrets go to a plaintext file, and you did not have to ask for it.** On a host where the keychain probe fails (Linux without libsecret or a running Secret Service, a headless server or SSH session with no D-Bus session, Android/Termux), the Inspector **automatically** stores secrets in `~/.mcp-inspector/secrets.json`. Unless you supply a key, that file is **unencrypted**. Mode `0600` keeps out other non-root users, but not root, not backups or copies of your home directory, and not any program running as you, including the stdio servers the Inspector starts.
241>
242> Pick one:
243>
244> * **Get a keychain back:** install libsecret and run a Secret Service (for example `gnome-keyring`), or run the Inspector inside a desktop session. On the next start the Inspector moves the file's secrets into the keychain and deletes the file.
245> * **Encrypt the file:** supply a generated key with `MCP_INSPECTOR_SECRET_KEY_FILE` (preferred) or `MCP_INSPECTOR_SECRET_KEY`.
246> * **Don't write secrets to disk at all:** `MCP_INSPECTOR_SECRET_STORE=memory`, and re-enter them each session.
247>
248> Even encrypted, secrets on disk carry moderate risk. See [what the file store protects against](/docs/2026-07-28/tools/inspector/security#what-the-file-store-protects-against).
249249 
250250[mcpdo](/docs/2026-07-28/tools/inspector/mcpdo) never falls back to `memory`: its commands and its daemon are separate processes, so it uses the file store instead.
251251 
Feedback