mcp · reliability

52% of MCP Servers Are Silently Dead. Here's How to Tell.

A 2026 analysis of over 2,100 remote MCP server endpoints found more than half were completely dead. Not erroring. Not timing out with a clear signal. Just not working — while still accepting a connection.

That statistic is worth sitting with, because it points at a category error most health checks make: treating "connected" and "working" as the same fact. They aren't. A server can accept a TCP connection, complete a handshake, and report itself as reachable, while every actual tool call it receives fails, hangs, or returns garbage. A connection-only check sees a green light. A user sees nothing happen.

Why this specific failure mode is easy to miss

Most monitoring instinct comes from web services, where "connected" and "working" are close enough to the same thing that conflating them rarely costs you. MCP breaks that assumption. The protocol layer (does the connection open) and the application layer (does a real tool call return a correct result) are genuinely separate questions, and a server can pass the first while failing the second indefinitely.

There's a second, quieter problem in the same neighborhood: MCP stdio servers communicate over stdout. A single stray print() or console.log() call — the most natural debugging instinct there is — writes directly into that same channel and corrupts every protocol message that follows it. This is a documented, common mistake, not an edge case, precisely because logging to stdout is the default reflex for most developers.

The fix isn't more monitoring — it's monitoring the right thing. A real health check has to make an actual round-trip tool call and verify the response, separately from checking the connection opened at all.

The third piece: what happens after a connection drops

Connections dropping mid-session is its own documented pattern — reported especially on certain platforms, varying by client — and MCP's protocol doesn't specify a standard recovery behavior. Without an explicit reconnection strategy, a dropped connection just means the integration stops working until something notices and restarts it manually.

MCP Server Reliability Kit

Health checks that catch "connected but not working," automatic reconnection with backoff, and a logger that can't corrupt your stdio transport. 11 real test cases, including the exact silent-failure scenario this exists to catch.

Get the kit — $59