Methodology

Tooltower watches remote MCP servers from the outside, the way a client sees them. This page explains what we measure, what the labels mean, and what we will not claim.

What is public

What a check is

A liveness check is one server/discover POST. A server is reachable when its MCP handler returns a well-formed JSON-RPC response — a result or an error. Servers on protocol versions before 2026-07-28 answer server/discover with a standard error, and that counts as reachable: an older server is not a broken one, because dual-era clients (Claude, Claude Code, Codex and others) still connect to it.

Once a day we also detect the protocol era and transport (2026-07-28, an earlier version over streamable HTTP, or the deprecated HTTP+SSE transport) and, hourly, read the anonymous tool/prompt/resource lists.

Outcomes that are never "down"

Outcome Meaning
Auth edge reachable The server asks for authorization (401 with a challenge). We report the edge, not the backend, and never mark it Operational.
Blocked by WAF A bot-protection page answered instead of the server. Says nothing about the server.
Rate limited 429, or 503 with Retry-After. We back off.
Cold start The first try timed out and an immediate retry succeeded — typical for scale-to-zero hosting.
Incomplete TLS chain The server omits an intermediate certificate; many clients still connect. Reported as a warning.

Status labels

If more than 20% of the closely watched servers fail from one region in the same 5 minutes, we assume the problem is ours: that region is quarantined, and if it happens everywhere public "Down" labels are suppressed.

How we measure

What we do not claim

Corrections

Owners can annotate incidents and ask for corrections; we answer within 1 business day. Corrections are logged here.

Date Server Correction
— — —

How the bot behaves and how to opt out: /bot.