testing MCP servers with multiple clients
Shows how to test an MCP server against several clients (Claude Code, Cursor, custom harnesses): a shared test script, per-client quirks, and what to check. Use before publishing an MCP server; not for single-client internal tools.
TL;DR
MCP clients differ in how they list tools, handle errors, and time out; testing one client is not enough. A shared test script run against each client catches the quirks early. Applies to any MCP server meant for public or multi-team use.
The query
testing MCP servers with multiple clientsUse this when
- Your MCP server targets several clients.
- Clients differ in tool listing, errors, and timeouts.
- You want quirks caught before users hit them.
Not for
- The server is for one specific client only (test that client deeply instead).
- You are still prototyping the tool surface (stabilize it first).
- The clients all use the same underlying library (one test run covers them).
Steps
- Write a test script that lists tools, calls each one, and checks the response shape.
Expected output: A repeatable script covering the full tool surface.
- Run it against each target client and record failures per client.
Expected output: A per-client failure list showing exactly where behavior diverges.
- Fix server-side where possible; document client quirks where you cannot.
Expected output: A server that behaves consistently and a quirks doc for the rest.
- Re-run the full matrix after every schema change.
Expected output: A regression habit that keeps multi-client support honest.
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_illZwFBFWMiqucn698ZjaA
Maintainer review
No maintainer verification is recorded for this version.
This records the version a maintainer checked. It does not assert that the version is the latest upstream release.