DEV Community

Mads Hansen
Mads Hansen

Posted on

Your MCP tool can keep its name and still become a different operation

An MCP database tool can keep the same name while becoming a different operation.

A default changes from 7 days to 30. A field becomes optional. An enum gains a value. An error that meant “retry” now means “ask the user.”

The server starts. The client discovers the tool. The first visible failure may be a production answer.

Treat tools/list as a versioned interface:

  1. normalize the complete contract
  2. calculate a deterministic digest
  3. classify every diff as patch, compatible, breaking, or security-sensitive
  4. pin important workflows to an approved digest
  5. replay representative calls against the candidate
  6. canary the new version before broad rollout
  7. keep old and new operations during a documented migration window

Schema compatibility is not semantic compatibility. Changing a default time range, tenant interpretation, data source, redaction rule, or error meaning can be breaking without changing a JSON type.

Store the contract digest with each trace. Then an incident review can answer which interface, policy, and result shape produced an answer.

Full guide: MCP database tool contract versioning

Top comments (0)