← Back to directory
M

MCP Inspector

Official
Visual testing tool for MCP servers
GitHub source repository ↗
★ 10.6k Stars Category · Dev Tools Very popular
73FMRS · B
Reliability
10/20
Security and permissions
15/20
Maintenance
17/20
Documentation
18/20
Setup experience
13/20

MCP Inspector is the officially maintained MCP protocol testing tool, offering Web, CLI, and TUI interfaces to inspect any MCP server's tools, resources, prompts, and low-level protocol traffic — well suited to protocol development and debugging, but it is not itself a business-facing MCP server meant to be called by end users or AI clients.

Read the FMRS scoring method →

MCP Inspector is a developer tool maintained in the official Model Context Protocol repository (modelcontextprotocol/inspector) for inspecting and debugging MCP servers — it is a client-side testing tool, not an MCP server that exposes tools to AI clients. It ships as a single npm package, @modelcontextprotocol/inspector, providing three ways to inspect a server through one mcp-inspector binary: a Web UI (Vite + React + Mantine, default), a scriptable CLI for automation and CI, and an interactive terminal UI (TUI) built with Ink. All three share connection logic, state stores, and OAuth handling via the internal @inspector/core package. The project's current line is v2 (branch v2/main); main holds the legacy v1 implementation in bug-fix-only mode. The repo also bundles composable test MCP servers and ready-made showcase configs demonstrating pagination, resource subscriptions, tasks, logging, and multi-round-trip (MRTR) elicitation across both legacy and modern protocol eras.

Tools

The tool list has not been reviewed yet.

Setup

Run it without installing: npx @modelcontextprotocol/inspector opens the Web UI by default; add --cli for the command-line client or --tui for the terminal UI. To develop from source, install Node >=22.19.0, run npm install at the repo root (cascades into every client), then npm run build, or run cd clients/web && npm run dev for fast Web HMR iteration. An official Docker image is also published: docker run --rm -p 6274:6274 ghcr.io/modelcontextprotocol/inspector.

Fit and risk

Best for

  • Engineers building or maintaining an MCP server who need to verify protocol behavior
  • Teams that want automated regression checks of an MCP server in CI
  • Advanced users debugging low-level request/response details, such as custom headers or error codes

Not for

  • End users who just want to chat with an AI assistant and don't care about the underlying protocol
  • Teams wanting a hosted, zero-setup inspection service (it must be run locally or self-hosted)
  • Anyone looking for an MCP server that provides business-facing tools to an AI client — Inspector is itself a client/testing tool, not a callable tool server

Required permissions

  • Runs Node.js and may spawn a target MCP server as a subprocess when using stdio transport
  • Makes outbound network connections to reach MCP servers over streamable-HTTP
  • In Web mode, binds a local port (default 6274) and runs a backend capable of spawning processes
  • Reads and writes local configuration files (e.g. `--config`/`--catalog` JSON)

Risks and side effects

  • The Web backend can spawn processes; setting `DANGEROUSLY_BIND_ALL_INTERFACES=true` exposes it to the local network, so pair it with an auth token
  • Setting `DANGEROUSLY_OMIT_AUTH=true` disables authentication and should only be used in fully trusted environments
  • When pointed at an untrusted or malicious MCP server, its responses are proxied and displayed as-is, so the trustworthiness of the server under inspection matters

Troubleshooting

  1. Verify local Node.js is >=22.19.0, or install/build steps will fail
  2. After a fresh clone or a dependency change, re-run `npm install` at the repo root to resync every client
  3. If remapping the Docker published port causes connections to be rejected (403), set `ALLOWED_ORIGINS` to match the origin the browser actually uses
  4. Before using bundled test-server configs, run `npm run test-servers:build` (from `clients/web`) to generate `test-servers/build/`, or subprocess-based test servers won't launch
  5. Use `npm run validate` (fast) or `npm run coverage` (the strict per-file coverage gate) to validate changes — there is no aggregate root `test` script

Use cases

Visually browsing the tools, resources, and prompts exposed by an MCP server during development
Running scripted smoke tests against an MCP server from CI via the CLI
Interactively invoking tools and watching logs/network traffic from a terminal via the TUI
Debugging protocol-level behavior — pagination, resource subscriptions, tasks, and multi-round-trip (MRTR) elicitation — across legacy and modern protocol eras

Supported clients

Supported clients have not been confirmed yet.