Guide · Updated July 2026 · 7 min read

How to test an MCP server

Direct answer: Test your MCP server the way a real client will drive it — the full protocol lifecycle, not a ping. Four layers: (1) transport reachable over HTTPS, (2) a valid JSON-RPC initialize handshake, (3) tools/list with well-described tools and valid input schemas, (4) latency and auth. You can do it by hand with curl, with the MCP Inspector, or automatically with the free MCP Pulse scanner.

What "testing an MCP server" actually means

An MCP server isn't a normal REST API — clients like Claude, Cursor and agent frameworks speak a specific JSON-RPC 2.0 lifecycle over a transport (today: streamable HTTP, which may respond with plain JSON or an SSE stream). "It returns 200" tells you nothing. What matters is whether the client can complete the handshake, enumerate your tools, and understand them well enough to call them.

1. Transport & reachability

2. The initialize handshake

This is the make-or-break call. A minimal manual test:

curl -sN https://your-server.example.com/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -H 'MCP-Protocol-Version: 2025-06-18' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{
        "protocolVersion":"2025-06-18","capabilities":{},
        "clientInfo":{"name":"test","version":"1.0"}}}'

A healthy response contains result.protocolVersion, result.serverInfo (name + version) and result.capabilities. If any is missing, clients and registries can't identify or route to your server.

3. tools/list and tool quality

After initialize, send the notifications/initialized notification, then call tools/list. For each tool, verify:

This is the single most common gap we see: servers that respond perfectly but ship tools with empty or one-word descriptions, then wonder why agents never call them.

4. Latency & auth

Agents run multi-step chains — a 2-second handshake compounds across every hop. Measure it. And decide your auth posture deliberately: a public read-only server answering without auth is fine; a server whose tools mutate state or reach private data should require an Authorization header.

The fast way: automated scan

Doing all four layers by hand for every deploy is tedious. MCP Pulse runs the real initialize + tools/list handshake, scores conformance, tool-doc coverage, latency, TLS and auth 0–100, and tells you exactly what to fix — in 10 seconds, no signup.

Test your MCP server now

Real protocol handshake, free, 10 seconds.

Scan my server →