2.10.0

modelcontextprotocol/inspector2.10.0Oct 7, 2026by cliffhall

Upgrading?

AI Summary

A major feature release introducing the `mcpdo` daemon CLI client, significant TUI enhancements including Tasks and Subscriptions tabs, and improved CLI functionality with shell completion and output formatting options.

Key Highlights

  • Introduction of `mcpdo`, an experimental connection CLI client
  • New TUI tabs for Tasks and Subscriptions with a Roots editor
  • CLI shell completion support for Bash, Zsh, and Fish
  • CLI output flags to save results to files and JSON formatting
  • Web improvements including an unauthenticated health check probe

New Features

  • mcpdo daemon CLI client
  • TUI Tasks and Subscriptions tabs
  • CLI shell completion
  • CLI --output flag
  • Web health check probe

Full Release Notes

## What's Changed
* docs(release): add the release-notes step and the re-cut procedure by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2555
* Scope secret-store entries by a per-state-file namespace by @BobDickinson in https://github.com/modelcontextprotocol/inspector/pull/2556
* Promote recurring pr-flow/board-ops command blocks into scripts/ helpers by @BobDickinson in https://github.com/modelcontextprotocol/inspector/pull/2559
* refactor(core): adopt @modelcontextprotocol/ext-tasks; host adapter in core/extension/tasks by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2564
* test(web): drop the unjustified double cast in storage-browser.test.ts by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2584
* test(cli): prove the catalog-budget escape hatch round-trips by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2595
* test(core): crashable stdio fixture + mid-session crash reconciliation tests by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2598
* fix(web): one scrollbar for long JSON tool results by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2593
* fix(web): compare deep-link auth tokens in constant time by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2577
* feat(web): add an unauthenticated GET /healthz probe to the backend by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2585
* feat(web): show the OAuth redirect URI with copy in Server Settings by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2586
* fix: redact URL query secrets in error text shown by the web and TUI clients by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2588
* fix(core): --server with an Object.prototype name reports not found (#2537) by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2583
* fix(cli): read stored-auth tokens from the active issuer slot (#2517) by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2572
* feat(cli): add -q/--quiet to print only the result or the error by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2576
* feat(cli): bash/zsh/fish shell completion via --completion by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2579
* Purge secret-store entries orphaned when a state file's namespace stamp is stripped by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2600
* feat(cli): servers/add, servers/edit, servers/remove catalog writes by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2581
* feat(scripts): script the release notes and Release creation (release:notes) by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2591
* feat(cli): --output <path> / --output-format raw|json to save a result to a file by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2582
* feat(cli,tui): skills catalog budget flags (--skill-catalog-max-skills/--skill-catalog-max-bytes) by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2587
* ci: replace the suspended DCO app with a signoff check we own by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2603
* fix(tui): cap Protocol tab request/response bodies like the Network pane by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2597
* fix(tui,web): handle a browser opener that cannot be spawned by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2575
* feat(tui): copy values via OSC 52, with a save-to-file fallback (#2421) by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2573
* feat(tui): add a / filter to the Tools, Resources, Prompts and Skills lists by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2578
* feat(tui): w on the tool result view saves the result to a file by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2594
* feat(tui): add a '?' keybinding help overlay by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2592
* feat(tui): Tasks and Subscriptions tabs and a Roots editor by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2599
* test(web): subscribe the fetch log before connecting in timeout-diagnostics (#2580) by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2612
* feat(daemon-cli): mcpdo — experimental connection CLI client (#1432) by @BobDickinson in https://github.com/modelcontextprotocol/inspector/pull/1783
* fix(web): chain MRTR rounds when the server rotates requestState by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2610
* ci: run the DCO check on every v2 PR now, before push, and after merge (#2616) by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2619
* chore(core): promote the CLI surface mcpdo shares into core/cli (#2461) by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2613
* feat(tui): verify the whole skills catalog with v, so the catalog budget applies by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2620
* test(tui): stop parsing the wrapped frame for the saved-copy path by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2626
* chore(release): 2.10.0 step 1 — audit, audit fixes, bump to 2.10.0 by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2627
* fix(cli): complete servers/add|edit|remove and --output-format values by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2634
* fix: v2.10.0 merge review findings — TUI error redaction, mcpdo daemon flush, CodeQL #78-#81 by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2639
* ci: make DCO a required status check on v2/main (#2621) by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2635
* fix: sweep table-cell escaping (CodeQL #74-#76) and document mcpdo's environment variables by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2641
* chore(release): merge v2/main into main for v2.10.0 by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2637


**Full Changelog**: https://github.com/modelcontextprotocol/inspector/compare/2.9.0...2.10.0
**Smoke test ledger for milestone branch**: [v2/chore/milestone-merge-v2.10.0](https://claude.ai/artifact/KQe73j1A6QcGvnpAXfx2Hb)

## Thanks for helping us improve

This release addresses issues reported by these community members. Thank you for taking the time to file them:

* @CloneOfAlex (#2420, #2421, #2428, #2429, #2430, #2431, #2432, #2433, #2434, #2435, #2436, #2437, #2438)

Related Repositories