Free browser-based inspector and debugger for the Model Context Protocol (MCP). Connect to any HTTP or SSE MCP server to list its tools, resources and prompts, call them with live forms, and inspect every JSON-RPC payload. Includes an offline message builder, validator and full protocol reference. No install, no signup, runs entirely in your browser.
/mcp; legacy SSE servers expose /sse.
Authorization header on every request. Stored only in your browser memory.
100% offline. Build or paste any MCP message — get a validated, formatted payload back.
Every standard MCP method with its purpose, request shape and example response.
The MCP Inspector is a browser-based developer tool for testing, debugging and exploring servers that implement the Model Context Protocol (MCP) — the open standard introduced by Anthropic in late 2024 to give AI assistants like Claude a clean, language-agnostic way to talk to external systems. If you are building an MCP server, integrating one into a desktop client, or just exploring what the protocol can do, an inspector lets you skip the friction of wiring up a full client and see exactly what is happening on the wire.
Concretely, this Inspector does three things in one page: it connects to a live MCP server over HTTP or SSE and drives every standard method (tools/list, tools/call, resources/read, prompts/get…) through a clean form UI; it lets you build and validate any JSON-RPC 2.0 message offline so you can paste it into your own client code or curl command; and it ships a complete protocol reference so you can learn the spec without flipping between five browser tabs.
Pick the Live Tester tab and paste the full URL of your MCP endpoint. For the current Streamable HTTP transport this is usually a single endpoint like https://your-server.com/mcp; for the older SSE transport it is split into an event stream URL (/sse) plus a separate POST endpoint. Select the transport, optionally add an Authorization header (Bearer token, API key — whatever your server expects), and click Connect.
The Inspector immediately sends an initialize request with the MCP protocol version and a minimal client identity. If the handshake succeeds, the server name, version and capabilities appear in the status card. From there, the Tools, Resources and Prompts sub-tabs auto-populate. Click any tool to expand its description and input schema, fill in the form, hit Call, and the response appears in place alongside execution time. Every request and response is mirrored to the Logs tab as raw JSON-RPC so you can copy-paste a payload into your test suite or bug report.
The single most common failure when testing an MCP server from a browser is a CORS (Cross-Origin Resource Sharing) error. Browsers refuse to send cross-origin requests unless the server explicitly allows the requesting origin via an Access-Control-Allow-Origin header. If your server does not set it for https://toolssearcher.com (or *), the Inspector cannot reach it — through no fault of the Inspector itself.
There are three ways around this: add CORS headers to your MCP server (Access-Control-Allow-Origin: *, Access-Control-Allow-Methods: POST, GET, OPTIONS, Access-Control-Allow-Headers: Content-Type, Authorization, Mcp-Session-Id), put a permissive proxy in front of it for development, or use the Inspector's offline Message Builder + your own curl/Postman to drive the server directly. The Inspector detects CORS-style failures and surfaces a clear warning with the suggested headers, so you are never left wondering whether the bug is in your code or in the tool.
The Message Builder tab works without any network access. Pick any MCP method from the dropdown — initialize, tools/list, tools/call, resources/list, resources/read, prompts/list, prompts/get, logging/setLevel, completion/complete, ping, the various notifications/* events — and the corresponding JSON-RPC 2.0 envelope is generated for you with example parameters. Edit it freely in the textarea. Validate checks that the JSON parses, that the jsonrpc version is "2.0", that required fields are present, and that the method name matches the spec. Format pretty-prints. Copy drops the payload onto your clipboard, ready to paste into a test or a bug report.
This panel is the workhorse for offline workflows: writing unit tests for your server, reviewing a teammate's diff, or simply sanity-checking what your client is supposed to send before you wire it into production code.
The Protocol Reference tab lists every standard MCP method with a one-paragraph explanation of what it does, when a server is expected to support it, and a copy-pasteable example of both the request and a typical response. It covers the lifecycle (initialize, notifications/initialized, ping), the three feature areas (tools, resources, prompts), notifications a server can push (notifications/tools/list_changed, notifications/resources/updated, notifications/progress), client-driven features (sampling/createMessage, roots/list) and the logging and completion helpers. Use it as a cheat sheet while you build, or as an onboarding doc to ramp a new team member up on MCP in fifteen minutes.
This MCP Inspector is a static HTML/JS page. The only outbound network call is the one you trigger yourself: the request to your MCP server. Server URLs, auth headers and tool payloads are kept in memory; only the list of recently used server URLs is persisted to localStorage for convenience, and you can clear it any time with the Clear history button. There is no analytics on your sessions, no logging of what tools you called or what arguments you passed, and no relay through any of our servers. Everything happens between your browser and the MCP endpoint you point it at.
1. Run your server locally with a permissive CORS config:
Access-Control-Allow-Origin: *
2. Open the Inspector, paste http://localhost:3000/mcp, click Connect.
3. Verify the handshake → server name + version appear.
4. In the Tools tab, click a tool, fill arguments, Call.
5. Confirm the response matches your expectations in the Logs tab.
1. Open the Message Builder tab.
2. Pick "tools/call" from the dropdown.
3. Edit the JSON to match the exact call that failed in your client.
4. Click Validate → fix any schema errors.
5. Copy the payload into the GitHub issue along with the server's response.
1. Find the server's endpoint in its README (typically /mcp or /sse).
2. Connect via the Inspector.
3. Browse the Tools tab to see exactly what verbs it exposes.
4. Read each tool's input schema and example.
5. Decide whether to add it to your Claude Desktop config — use the
MCP Config Builder tool to generate the snippet.
MCP is an open protocol introduced by Anthropic in late 2024 that lets AI assistants like Claude connect to external systems — file systems, databases, APIs, internal tools — through a uniform, language-agnostic interface. Servers expose tools (callable verbs), resources (readable data) and prompts (templated instructions), and clients (Claude Desktop, Cursor, Zed, custom apps) consume them via JSON-RPC 2.0 over standard transports. See modelcontextprotocol.io for the full spec.
The most common cause is missing CORS headers on your server. Browsers refuse cross-origin requests by default. Add Access-Control-Allow-Origin: * (or specifically https://toolssearcher.com), Access-Control-Allow-Methods: POST, GET, OPTIONS and Access-Control-Allow-Headers: Content-Type, Authorization, Mcp-Session-Id to your server's HTTP responses. Other causes: the server is offline, the URL is wrong, or the protocol mismatch (HTTP vs SSE).
Not directly — browsers cannot launch subprocesses or read stdio. MCP's stdio transport is the default for desktop integration (Claude Desktop, Cursor), but it is inaccessible from any web page for security reasons. To test a stdio server from this Inspector, wrap it in a thin HTTP shim (a few dozen lines of Node or Python) that forwards POST bodies to the subprocess and streams responses back. Alternatively, use the Message Builder tab to construct payloads and pipe them through your own CLI client.
Streamable HTTP is the current recommended remote transport: one HTTP endpoint (usually /mcp) handles both POST requests and server-to-client streaming via chunked responses or upgrade-to-SSE. SSE (Server-Sent Events) is the legacy transport: it uses two endpoints — one event stream and one POST endpoint — and is being phased out in favour of Streamable HTTP. New servers should implement Streamable HTTP; this Inspector supports both for compatibility.
This page is a single static HTML file with no build step or external dependencies — view source in your browser to see exactly what it does. Anthropic also ships an official command-line MCP Inspector that runs an Electron-based debug UI locally; this browser version is meant as a zero-install complement for quick checks, public servers, and offline message building.
No. The Inspector keeps tokens, headers and tool arguments in browser memory only. The single piece of state persisted to localStorage is a short list of recently used server URLs, purely for convenience. Use the Clear history button to wipe it. Nothing about your session is sent to any third party — only your MCP server sees your requests.
Yes. Paste your Bearer token, API key or any custom credential into the Authorization header field — it is attached to every outgoing request. For OAuth-protected servers, complete the OAuth flow in your normal client first, copy the access token, and paste it here for testing. The token never leaves your browser except to reach the server you specified.
The Inspector advertises protocol version 2025-06-18 (the stable revision at time of writing) and falls back gracefully if the server negotiates an older version. The Protocol Reference tab documents the methods that are stable across recent revisions. If you need to test a specific version, edit the protocolVersion field in the Message Builder before sending the initialize request.