docs: rewrite the MCP Inspector documentation for v2 (#3143)
* docs: rewrite the Inspector documentation for v2
Replaces the single legacy-era Inspector page with a folder of pages
covering the three clients (web, CLI, TUI) behind one mcp-inspector
binary, and the legacy vs. modern (2026-07-28) protocol-era fork that
now drives most of the tool's behavior.
New pages under docs/tools/inspector/:
- protocol-eras the era setting and negotiation, then the fork feature
by feature: logging, resource subscriptions, tasks,
MRTR, x-mcp-header mirrored params and excluded tools,
and the Mcp-* header / error taxonomy. Each section
names the test-servers config that reproduces it.
- web tab-by-tab walkthrough, session token, monitoring
sidebar, server settings, deep links.
- cli method reference, argument coercion, output formats,
app probing, exit codes and error envelopes, CI recipes.
- tui tabs, keyboard reference, loopback OAuth.
- configuration the launcher/client flag split, catalog vs. config,
the -- separator, and every environment variable
attributed to the layer that reads it.
- authorization the OAuth flow end to end, callback URLs, mid-session
re-authorization and step-up, non-interactive runs,
and the web-to-CLI token handoff.
- recipes transports, importing client configs, reviewing an
MCP App, Docker, and hosting on a network.
/docs/tools/inspector keeps its URL as the overview page; the subpages
are nested under it in the Developer tools navigation group.
Screenshot slots are marked with TODO captions and are still to be
captured.
Refs modelcontextprotocol/inspector#1803
* docs: add Inspector screenshots
Captures 21 screenshots against the repo's composable test servers, so
every era-fork claim in the prose has a picture that reproduces from a
named config:
- protocol eras: the era selector, the Logs fork (session-scoped Set
Active Level vs. per-request Log Level), the modern subscription
LISTENING badge, the Tasks fork (tasks/list + blocking result vs.
polled handles with an inlined result), an MRTR round paused at the
pending-request modal, the SEP-2243 mirrored-header panel beside the
struck-through excluded tool, and a -32022 rendered in both the
Network and Protocol views
- web: tab bar, monitoring sidebar, server settings, tools, resources,
prompts, apps, protocol
- tui: Tools and Auth tabs
- authorization: Connection Info after a completed OAuth flow
Web and OAuth shots are driven headlessly through Playwright; the TUI
shots are captured from a real pty and replayed through a terminal
emulator, so they keep their colors. All were taken against an isolated
HOME so no real catalog or token appears.
The hero image now shows the v2 client instead of the v1 screenshot.
The one shot not captured is the mid-session re-authorization banner:
the test authorization server grants every configured scope on the
initial DCR exchange, so no step-up fires. That frame is omitted rather
than faked.
Refs modelcontextprotocol/inspector#1803
* docs: correct what a freshly seeded catalog contains
The seed is not empty everywhere — it differs by client, and the pages
flattened both cases into "seeded empty".
The web backend seeds a writable catalog with two sample servers
(DEFAULT_SEED_CONFIG in core/mcp/serverList.ts): a filesystem server
scoped to /tmp and the everything reference server, so a first launch
has something to connect to. The CLI and TUI seed an empty mcpServers
object instead (seedEmptyCatalog in core/mcp/node/config.ts).
Verified both by running each surface against a throwaway HOME rather
than reading the code alone.
A read-only --config is still never seeded on any surface.
Refs modelcontextprotocol/inspector#1803
* docs: drop "fork" wording from the Inspector docs
Addresses review feedback from @BobDickinson and @olaservo: "fork" was
used to mean "the legacy/modern split", which collides with its git
meaning. Every use is now phrased in terms of protocol eras, matching
the `protocolEra` config field and the Protocol Era selector in the UI.
Also reframes the "Reproducing each era locally" section so it reads as
setup for the per-feature "Reproduce with ..." pointers rather than a
non-sequitur, and replaces one remaining "the 2026-07-28 leg" jargon.
* docs: address review feedback on the Inspector docs
- Tighten the Node/npx and server-README sentences in the Inspector index
- Move Protocol eras after the client and configuration pages, in both the
navigation and the "Where to go next" cards — it only makes sense once the
basics are understood
- Drop the client-side-negotiation implementation detail in favour of the
takeaway: era selection behaves the same in all three clients
- Explain the -32602 error panels in relation to legacy rendering, and stop
implying the difference is isError vs. JSON-RPC error
* Update docs/docs/draft/tools/inspector.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/2026-07-28/tools/inspector/configuration.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/draft/tools/inspector/configuration.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/2026-07-28/tools/inspector/configuration.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/draft/tools/inspector/configuration.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/draft/tools/inspector/cli.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/2026-07-28/tools/inspector/web.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/draft/tools/inspector/web.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/2026-07-28/tools/inspector/configuration.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/2026-07-28/tools/inspector/web.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/draft/tools/inspector/web.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/2026-07-28/tools/inspector/web.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/draft/tools/inspector/web.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/2026-07-28/tools/inspector/web.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/draft/tools/inspector/web.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/2026-07-28/tools/inspector/web.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/draft/tools/inspector/configuration.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/draft/tools/inspector/configuration.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/2026-07-28/tools/inspector/recipes.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/draft/tools/inspector/recipes.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/2026-07-28/tools/inspector/configuration.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/2026-07-28/tools/inspector.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/draft/tools/inspector.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/2026-07-28/tools/inspector.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/draft/tools/inspector.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/2026-07-28/tools/inspector.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/draft/tools/inspector.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/2026-07-28/tools/inspector.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/draft/tools/inspector.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Update docs/docs/2026-07-28/tools/inspector.mdx
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
* Apply review suggestions to Inspector v2 docs
Editorial pass across the eight Inspector pages, applied to both the
draft and 2026-07-28 copies: clearer first-use bridging from the npx
command to the mcp-inspector binary, definitions and cross-links for
protocol era, MRTR, roots, MCP Apps, CIMD, and the session token, plus
corrections where the prose drifted from the current draft (serverInfo
now rides in the result _meta, the -32021 client-capability wording, the
401 WWW-Authenticate resource_metadata description, and the optional legacy
session id). Also fixes the CI recipe whose exit-code branch could never
fire, and swaps the marked em dashes, unicode arrows, ellipsis glyphs,
curly quotes, and bold-lead list walls for plain ASCII prose. A number
of remaining dashes still need the page-wide sweep called out in review.
No-Verification-Needed: docs-only prose changes
:house: Remote-Dev: homespace
* Sweep remaining em dashes and unicode glyphs from Inspector docs
Finish the page-wide pass the review called for: replace the remaining
em dashes, unicode arrows, and ellipsis glyphs with plain ASCII
punctuation (commas, colons, semicolons, or parentheses as the sentence
reads), including inside Frame captions and code samples, and spell out
the placeholder table cells as None. Applied identically to the draft and
2026-07-28 copies.
No-Verification-Needed: docs-only prose changes
:house: Remote-Dev: homespace
* Quote tui.mdx description containing a colon
The unquoted YAML value with a colon after 'Inspector' failed frontmatter parsing and broke the Mintlify deploy. Quote it in both the draft and 2026-07-28 copies, matching cli.mdx.
No-Verification-Needed: docs-only frontmatter fix
:house: Remote-Dev: homespace
---------
Co-authored-by: Den Delimarsky <53200638+localden@users.noreply.github.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Den Delimarsky <den@anthropic.com> C
Cliff Hall committed
e24f0099b60f7c00e165a0faa02a72029d2fa654
Parent: 7bf6041
Committed by GitHub <noreply@github.com>
on 8/2/2026, 11:44:41 PM