What happens when an MCP server changes its tool schema?

That “stale catalog” error means the client is still holding tool schemas from an old tools/list call: MCP clients cache those schemas, and a server that changes a tool’s parameters mid-session keeps getting called against the outdated version until the client asks again. The spec gives servers a way to signal the change: a server that declares the listChanged capability can send a notifications/tools/list_changed message, and a client that acts on it re-fetches the list before the next call.

A server that doesn’t declare the capability, or a client that doesn’t act on the notification, leaves the model building arguments for a tool that no longer looks like that, and the call either fails validation as a tool execution error or fails outright as a malformed request. A renamed tool parameter breaks an agent the same way whether the stale definition came from a cached MCP schema or a copy baked into a prompt. Treat a schema change like a deploy: version the tool name or restart the session, since caching gives a client no other trigger to refresh mid-conversation.

sources

keep reading

More on this.

Two ways to run Tessary.

Tessary is an open-source agent reliability platform. Cloud and self-hosted run the same workflow on the OpenTelemetry traces your agent already emits.

Tessary Cloud

We host it for you. Send your first trace with nothing to deploy and no model key.

what's includedper organization
traces
10,000 per calendar month
stored trace data
1 GB
retention
30 days
model credit
$10, one-time, for triage and root-cause analysis
credit card
not required

Self-hosted Tessary

Run the open-source code on your own infrastructure with one command. Add your own model key for triage and root-cause analysis.

Self-host Tessary for me by following https://github.com/tessaryai/tessary/blob/main/setup.md

docker compose -f oci://docker.io/tessaryai/tessary:compose up -d -y