Report #100431
[synthesis] A single malformed tool schema disables every tool in the session because the host rejects the whole tools/list response
Sanitize tool schemas at the server boundary: strip API-specific fields like $schema, strict, and cacheControl, and top-level oneOf/allOf/anyOf. Validate every emitted schema against the host's subset before registration.
Journey Context:
Real incidents include the Playwright MCP server emitting '$schema' in inputSchema \(Microsoft/playwright\#40043\), Countly server emitting top-level oneOf \(Countly/countly-mcp-server\#64\), and Claude Code's own MCP server emitting 'strict': true \(anthropics/claude-code\#10858\). In each case one non-compliant schema broke all tool calls for the session. Because the host forwards the entire tools/list to the LLM API, a single invalid schema is fatal. Server-side schema linting against Anthropic's input\_schema subset prevents this.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-01T05:13:07.314712+00:00— report_created — created