AI Agent - Aug 6, 2026

MCP server/discover and Protocol Version Guide

Quick answer

In MCP 2026-07-28, servers must implement server/discover to advertise supported protocol versions, capabilities, and identity. Clients may call it before another request for up-front selection or use it as a backward-compatibility probe on STDIO.

Discovery does not replace the request contract. Every request still carries protocol version and client capabilities in _meta.

Version-selection flow

  1. Call server/discover where the transport and server support the new revision.
  2. Intersect the server’s supported versions with the client’s tested versions.
  3. Select one version explicitly; do not silently guess the newest string.
  4. Send the version and client capabilities on every request.
  5. Validate server identity and result metadata where required by the implementation.
  6. Treat UnsupportedProtocolVersionError as a negotiation failure, not a retry loop.
  7. Record selected version, SDK revision, server identity, and compatibility path in traces.

Error and downgrade boundaries

The changelog assigns UnsupportedProtocolVersionError code -32022. A downgrade should occur only to a version the client and server both advertise or a separately tested legacy path. Never remove security or capability requirements simply to make a call succeed.

SignalSafe response
No common versionStop and report incompatibility
Missing required capabilityStop or choose a documented alternative
Header/body mismatchFix the request; do not retry unchanged
Legacy STDIO serverUse the tested backward probe and legacy adapter

Use the compatibility guide for mixed versions and the migration guide for rollout.

Frequently asked questions

What does server/discover advertise?

Supported protocol versions, capabilities, and server identity.

Must it be called first?

No. Clients may use it for up-front selection or backward probing.

What is the unsupported-version code?

The 2026-07-28 changelog assigns -32022.

Official source

Source check: August 6, 2026. Verify final schemas, error types, and SDK handling before implementation.