2.12.0
modelcontextprotocol/inspector2.12.0Oct 21, 2026by cliffhall
Upgrading?
Full Release Notes
## What's Changed ### Security fixes 2.12.0 fixes three vulnerabilities that affect every v2 release from 2.0.0 through 2.11.0. Upgrade with `npx @modelcontextprotocol/inspector@latest`. * **Opening a URL is restricted to `http(s)`, and the Inspector opens the URL it checked rather than the raw input.** A remote server's OAuth authorization URL can no longer run commands through the opener on Windows and WSL. `open` is bumped to v11 ([GHSA-q978-78c7-phqw](https://github.com/modelcontextprotocol/inspector/security/advisories/GHSA-q978-78c7-phqw)) * **The production web server validates the `Host` header** and answers any host outside its allow-list with 403 before serving a page. That closes the DNS-rebinding route to the API token and stored OAuth tokens. A new `MCP_INSPECTOR_ALLOWED_HOSTS` covers reverse proxies that rewrite `Host` ([GHSA-vcc9-3xgm-p9v4](https://github.com/modelcontextprotocol/inspector/security/advisories/GHSA-vcc9-3xgm-p9v4)) * **The `/api/fetch` proxy caps upstream response bodies at 4 MiB**, refusing early when `Content-Length` declares more, and still relays the status of an oversized error response ([GHSA-m5pj-3536-3xcp](https://github.com/modelcontextprotocol/inspector/security/advisories/GHSA-m5pj-3536-3xcp)) ### Other changes * test(cli): isolate the suite's OAuth state from ~/.mcp-inspector by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2728 * fix: resolve a request's Protocol entry when its send fails by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2733 * fix(subscriptions): stop retrying a subscriptions/listen refused over HTTP by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2730 * feat(web): optional TLS for the web UI listener by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2732 * ci: install pinned npm 11 before every dependency install by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2729 * fix(auth): carry a superseded namespace's client secret across a backend switch by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2731 * test(tui): keep TUI tests off the real ~/.mcp-inspector/auth.log by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2735 * fix(ema): allow a public resource-AS client in leg 3 by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2736 * ci: scan v2/main with a committed CodeQL advanced-setup workflow by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2741 * docs: retroactive DCO signoffs for the 10 unsigned commits on v2/main (#2617) by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2618 * fix(oauth): refresh an expired token behind an insufficient_scope challenge by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2738 * Recognize HTTP 429 and surface the server's Retry-After by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2737 * fix(auth): key in-flight PKCE verifiers by flow, not server URL by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2742 * fix(auth): carry a client credential only for the client its store stamp names by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2739 * feat(cli): --load mode for load-testing a tool by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2743 * fix(skills): require ttlMs and cacheScope on modern resources/directory/read results by @olaservo in https://github.com/modelcontextprotocol/inspector/pull/2747 * chore: bump version to 2.12.0 (release step 1) by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2763 * fix(cli): link https in --print-handoff when the web UI is served over TLS by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2773 * fix(web): drop the dropped body's framing headers from an oversize error relay by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2774 * fix(mcpdo): give resources/directory/read a URI and a cursor by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2775 * fix(core): keep the connection up when a request POST is HTTP-refused by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2777 * chore(release): merge v2/main into main for v2.12.0 by @cliffhall in https://github.com/modelcontextprotocol/inspector/pull/2769 ### New configuration * `MCP_INSPECTOR_ALLOWED_HOSTS`: unset by default. Comma-separated extra hostnames the prod web server accepts in `Host`. A leading `.` admits a domain and its subdomains. See the web README's "The Host allow-list" section. * `INSPECTOR_TLS_KEY_PATH` and `INSPECTOR_TLS_CERT_PATH`: unset by default. Set both to serve the web UI over https, in both prod and dev. See [`docs/tls.md`](https://github.com/modelcontextprotocol/inspector/blob/main/docs/tls.md). **Full Changelog**: https://github.com/modelcontextprotocol/inspector/compare/2.11.0...2.12.0 **Smoke test ledger for milestone branch**: [v2/chore/milestone-merge-v2.12.0](https://claude.ai/artifact/MTedfPXmfVa9q7DpzfgNTT) ## Thanks for helping us improve This release addresses issues and vulnerabilities reported by these community members. Thank you for taking the time to report them: * @CloneOfAlex (#2439, #2442, GHSA-m5pj-3536-3xcp) * @AyRickk (#2726) * @danpatsey (#2724) * @ferentinai (#2725) * @nosmile99 (#2723) * @steventamm (#2446) * @0xParth (GHSA-vcc9-3xgm-p9v4) * @eilonc-pillar (GHSA-q978-78c7-phqw) * @hackyhunter (GHSA-vcc9-3xgm-p9v4) * @imran-siddique (GHSA-vcc9-3xgm-p9v4)
Related Repositories
openclaw/openclaw★ 392,689
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
nilbuild/developer-roadmap★ 370,064
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
morluto/rea★ 357,471
Reverse engineer anything with agents, from app behavior down to native binaries.
anomalyco/opencode★ 219,652
The open source coding agent.
n8n-io/n8n★ 208,248
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.