You pin your npm dependencies. You have a lockfile. You review the diff when it changes.
Now consider the MCP servers your agent depends on. What pins those?
tools/list hands back names, descriptions, and JSON schemas, and your agent trusts all of it. The description isn't documentation — it's the instruction the model reads to decide what a tool does and when to call it. There's no version pin, no integrity check, no diff to review. The server changes, and your agent's behaviour changes with it.
Four ways an MCP dependency breaks you quietly
1. A description is rewritten. Same tool name, same schema, different text. The model now behaves differently and nothing registers a change. This is the one that matters most, because it requires no schema change at all — which is exactly why schema-only diffing misses it.






