Catch MCP breaking changes before you merge.

Snapshot your Model Context Protocol (MCP) server, compare its tools, schemas and descriptions, and gate pull requests on compatibility. A renamed argument can break a caller. A rewritten description can change which tool an agent picks.

Check your MCP contractRule referencemcp-inspect init --snapshot

Local CLI. No account required. Discovery does not invoke tools.

See a breaking MCP contract change

Make search.limit required and existing calls that omit it can fail. Rewrite the tool description and an agent may select it differently. MCP Inspect surfaces both changes with a rule id and migration hint.

BREAKING
  search.limit: optional → required
  Accept omitted limit with the previous default during migration.

POTENTIALLY_BREAKING
  create_issue.description changed
  Review the wording and re-run your tool-selection evaluations.

Illustrative report. Prose severity is a deterministic heuristic, not a measurement of agent behavior. Learn which MCP changes can break callers.

Preview: build the CLI from source using the getting started guide. The npm package named mcp-inspect belongs to a different project.

Snapshot

Everything the protocol describes, normalised and fingerprinted. Two captures of an unchanged contract have the same surface fingerprint, even when their timestamps differ.

Diff

Semantic, MCP-aware comparison across four severities, with the old value, the new value and a suggested migration on every change.

Check

One workflow file. A pull request comment that stays current, and an exit code CI can gate on.

Observe

Optional usage evidence records which argument paths were present, never their values. Every observation carries its window and confidence.

Four severities

Assigned by pure code. No model participates, so the same two snapshots always produce the same verdict — which is what lets CI gate on it.

  • BREAKING — a correct existing caller can stop working.
  • POTENTIALLY BREAKING — behaviour or model-visible semantics changed.
  • NON BREAKING — strictly additive or widening.
  • DOCUMENTATION — prose changed too little to move a model.

Start with the contract you maintain

Capture a baseline and compare your first change, then add the GitHub Action to check pull requests. The CLI supports stdio and streamable HTTP servers. Optional shared history and telemetry live in the hosted console.

Working with a coding agent?

Install five procedural agent skills for setup, check triage, deprecation, instrumentation and surface review. Agents can also read Markdown docs through llms.txt.

Depending on someone else’s MCP server?

Schedule contract captures in the console’s watched-server settings and alert on changes. The inspector connects on a schedule; it stays outside the request path.

Does an unused tool mean it can be removed?

No. Telemetry shows observed usage within a stated window. A quiet tool may still have callers outside that window or outside collection. Read the privacy and evidence limits.