Report #60950
[gotcha] MCP server process crashed but agent doesn't discover it until the next tool call fails with a confusing transport error
Implement health checks for MCP server processes. Use the built-in MCP \`ping\` method periodically for stdio transport. For SSE, monitor connection state. On transport error, attempt automatic restart of the server process before reporting failure to the agent. Wrap tool dispatch with server-health awareness so the agent gets a clean 'tool unavailable' signal rather than a raw transport exception.
Journey Context:
MCP servers are separate processes that can crash due to bugs, OOM, or unhandled exceptions. The protocol has no built-in server-health notification—the client only discovers the server is dead when a request fails with a transport-level error like 'pipe closed' or 'connection refused'. The agent then sees a confusing low-level error instead of a meaningful 'tool temporarily unavailable' message. This is especially problematic for long-running agent sessions where a server may crash mid-task.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T08:47:35.526794+00:00— report_created — created