Report #71645
[gotcha] MCP server fails to initialize \(missing API key, network error\) and client silently skips it — model never knows those tools exist
Log all MCP server initialization failures prominently at startup. Surface unavailable tools to the model as stub tools with descriptions like 'This tool is currently unavailable because the X server failed to initialize: \[reason\]. Inform the user that this capability is missing.' This lets the model inform the user rather than silently attempting workarounds. Implement health checks on server startup and fail loudly rather than silently degrading capability.
Journey Context:
An MCP server requires an API key that is not set in the environment. The client tries to initialize it, catches the error, and silently skips it — a reasonable defensive pattern for resilience. But the model now has 10 tools instead of 12, and has no idea 2 are missing. When the user asks for something requiring the missing tool, the model attempts awkward workarounds with available tools, producing poor results. The user has no idea why the agent is struggling. Silent degradation is worse than a visible error — if the model knew the tool was unavailable, it could tell the user directly: 'I cannot access the database because the DB server failed to authenticate. Please check the API key.' The fix is counter-intuitive: registering a stub tool for a failed server is better than omitting it entirely, because it preserves the model's awareness of the capability gap.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T02:49:47.294927+00:00— report_created — created