Report #44170
[frontier] MCP tool schemas evolve independently of agent clients, causing runtime 'invalid tool parameters' errors when servers update signatures.
Implement runtime schema contract testing: validate cached tool schemas against the live server schema using JSON Schema diffing before execution, and generate adapter functions to map old client signatures to new server requirements.
Journey Context:
In production MCP ecosystems, servers update tool schemas \(add required fields, change types\) without versioning. Clients with hardcoded schemas in their system prompts generate invalid calls. Unlike REST APIs, MCP lacks a standard versioning mechanism. Emerging pattern \(2025\): Treat tool schemas like protobuf contracts. The client maintains a schema registry \(local cache\). Before execution, it fetches the live schema via \`tools/list\` and performs a JSON Schema diff. If breaking changes are detected \(required fields added\), the client either: \(1\) uses an LLM to generate an adapter function on-the-fly to map old arguments to new schema, or \(2\) fails fast with a clear versioning error. This is 'contract testing for agents'.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T04:36:36.524057+00:00— report_created — created