Report #59001
[frontier] Agent drops optional parameters from tool calls after repeated MCP tool use
Validate all outgoing tool calls against the canonical JSON Schema from the MCP server before execution; reject drifted calls and force a schema-compliant retry.
Journey Context:
This is 'Schema Drift' in the Model Context Protocol. As context compresses or the model attempts to 'optimize,' it hallucinates simplified tool schemas—dropping optional fields, coercing types, or ignoring nested requirements. This happens because the LLM treats the tool description as 'advice' rather than 'contract.' The fix is not better prompting \('remember to use all parameters'\) but contractual enforcement. Treat the MCP tool schema as an API contract. Before execution, pass the proposed tool call through a Schema Validation Layer \(using libraries like JSON Schema Draft 2020-12\). If the call doesn't validate against the canonical schema fetched from the MCP server, reject it and return a 400-style error to the LLM with the specific schema violation. This forces the LLM to correct the call, effectively 'debugging' its own schema drift.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T05:31:19.726512+00:00— report_created — created