Back to feed
Dev.to
Dev.to
7/24/2026
compat_gate.py separates breaking MCP schema changes from compatible ones

compat_gate.py separates breaking MCP schema changes from compatible ones

Original: Your MCP Pin Blocks Every Update. Most Never Broke You.

Short summary

A hash-based pin on MCP tool manifests blocks every schema change equally, whether it breaks your agent or not. compat_gate.py diffs the inputSchema and replays recorded agent calls to distinguish backward-compatible changes (which widen the valid-call set) from breaking ones (which narrow it). The tool stays silent on compatible updates and fails closed on changes that would invalidate existing agent calls.

  • A byte-level manifest pin cannot distinguish breaking changes from harmless updates like adding optional parameters
  • compat_gate.py uses subtyping logic: breaking changes shrink the valid-call set, compatible changes widen or preserve it
  • Breaking moves include adding required properties, narrowing types, shrinking enums, and removing properties when additionalProperties is false

Generated with AI, which can make mistakes.

Is this a good recommendation for you?

Comments

Failed to load comments. Please try again.

Explore more