It is the fastest way to see exactly what a host will see, without involving a model.
The MCP Inspector is the official developer tool for poking at a server. It acts as a client: it connects, lists everything the server offers, and lets you call tools with a form while showing the raw messages going back and forth.
With the Python SDK the easiest start is:
uv run mcp dev notes_server.pyThis starts the Inspector, which launches your file over stdio, and prints a local web address to open. You will see tabs for Tools, Resources (with resource templates listed separately) and Prompts. The form for each tool is built from its input schema, which is a quick way to check your type hints produced what you meant.
The Inspector is a Node.js program (Node is a JavaScript runtime; you need a recent version installed). You can also run it directly with npx @modelcontextprotocol/inspector <command that starts your server>, or point it at a remote server's URL.
It has three faces in one package:
- the web UI (default),
- a CLI mode (
--cli) that prints machine-readable output, handy in scripts and CI, - a TUI mode (
--tui), a text interface inside the terminal.
Use the Inspector first whenever something misbehaves in a real host. If a tool works in the Inspector, the problem is host configuration; if it fails there too, it is your server.
Example
# Open the web Inspector on a Python server (needs Node installed)
uv run mcp dev notes_server.py
# Same thing with the Inspector directly
npx @modelcontextprotocol/inspector uv run mcp run notes_server.py
# Scriptable: list the tools and exit
npx @modelcontextprotocol/inspector --cli uv run mcp run notes_server.py --method tools/listRemember
- mcp dev server.py opens the Inspector on your server
- Tabs for tools, resources/templates and prompts, plus raw message history
- --cli for scripts and CI, --tui for the terminal
- Works in the Inspector but not the host? Check the host config