Skip to content
All builds

When an MCP connection fails, which stage failed?

Checks a local MCP server stage by stage and names the one that failed.

Code on GitHubDiscuss this build

Design choice

Walk the session one stage at a time and keep a report for each attempt.

In practice

A failed connection is a failed stage. Name it before changing anything.

What I built

  • Stage-by-stage session checks: initialize, ready, ping, tool discovery
  • Catalogue fingerprints marked changed, unchanged or unavailable
  • Every report kept, so a failure and its recovery can be compared
  • Saved reports compared offline, after the server has exited

Where it stops

Local loopback addresses only, MCP protocol versions 2025-11-25, 2025-06-18 and 2025-03-26, and at most 16 targets, 4 at a time. It does not say whether a server is safe or production-ready.