{"version":"2.1.234","anchor":"mcp-failures-are-sorted-into-a-cause-taxonomy-for-reporting","canonical_anchor":"mcp-failures-are-sorted-into-a-cause-taxonomy-for-reporting","heading":"MCP failures are sorted into a cause taxonomy for reporting","tier":"internal","area":"MCP","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.234\/e\/mcp-failures-are-sorted-into-a-cause-taxonomy-for-reporting","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.234","markdown":"### MCP failures are sorted into a cause taxonomy for reporting\n\nMCP failures are now sorted into causes like server down, login problem or bad config for reporting.\n\n**What**\n\nFailures from MCP servers are now classified as `downstream_error`, `downstream_unreachable`, `user_auth`, `user_config` or `other` and attached to tool-error telemetry, so it is possible to tell a server that is down from a login or config problem. Nothing you see changes.\n\n**Details**\n\n- Classification uses error classes, JSON-RPC and HTTP codes, and a curated set of network error codes including ECONNREFUSED, ERR_PROXY_TUNNEL and ESOCKETTIMEDOUT, following up to four chained causes.\n- The classification is also attached to \"MCP server is not connected\" and MCP tool timeout errors.\n- MCP connect telemetry gained flags for a suppressed listen and a denylisted negotiation.\n\n**Evidence**\n\n`downstream_unreachable`, `mcpErrorSource`\n\n- Area: MCP\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 2\/5"}