Test your MCP server the way an agent will
Run the calls a client makes, in order, read-only, and record what came back. Across 263 verified servers the handshake took 1,175 ms at the median. First step: Call server/discover (2026-07-28) or initialize (older servers). Last step: Never call a tool that changes state in a test.
Steps
- Call server/discover (2026-07-28) or initialize (older servers).
- List tools, resources and prompts.
- Check the 401 challenge and resource metadata.
- Never call a tool that changes state in a test.
What the sources say
- 2026-07-28 servers MUST implement server/discover; clients MAY call it first or use it to probe older stdio servers. (modelcontextprotocol.io, read 4 November 2026)
- Earlier revisions used an initialize handshake; clients detect the era and fall back, per the versioning page. (modelcontextprotocol.io, read 4 November 2026)
- List results now carry ttlMs and cacheScope, and servers SHOULD return tools in a deterministic order. (modelcontextprotocol.io, read 4 November 2026)
- Unauthenticated requests should get 401 with a WWW-Authenticate header naming resource_metadata. (modelcontextprotocol.io, read 4 November 2026)
- Claude's submission flow asks you to confirm every tool was run through MCP Inspector or a custom connector. (claude.com, read 4 November 2026)
What the directory's connector does
- It requests the endpoint with a read-only client and sends only the methods on the allowlist:
initialize,notifications/initialized,tools/list,resources/list,prompts/listandping. - It tries the 2026-07-28 revision first and falls back to 2025-11-25, then to the legacy SSE transport.
- It never calls a tool.
- At the median a verified server answered in 1,175 ms; the 90th percentile was 2,222 ms.
The full method, including the allowlist, is on the method page.
To score a server on the checks an agent depends on, rather than read raw calls, use Ora, the pick for testing an MCP server; the 28 checks say what it looks at.