Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run Scan×
Skip to content
World desk5 min

MCP Is an Adapter Layer, So Version the API First

An MCP server that fronts an existing API has two contracts to keep: the API's and the protocol's. Pin the API first, then handle MCP revision negotiation at the adapter.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

If your MCP server fronts an existing application API, give that API a stable, deliberately versioned contract before you build the MCP adapter on top. The adapter’s job is translation: it turns your application’s operations and data into MCP tools, resources and prompts. It can’t make an unstable upstream contract stable.

Two separate compatibility questions are in play. One is whether your API stays compatible for its consumers. The other is whether an MCP client and server agree on a protocol revision. The official MCP specification covers only the second. “MCP is an adapter layer” is an architectural framing, not a rule that every MCP server must wrap a separately versioned API.

Two contracts, two owners

An MCP server fronting an existing service sits between two contracts that change on different schedules and for different reasons.

Axis Upstream application API MCP protocol
Contract owner Your team. It governs business behavior and data. The MCP specification. It governs protocol interoperability.
Who depends on it Every consumer of your API, including the adapter. MCP clients and servers.
Compatibility mechanism Whatever you choose: URL versions, headers, schema evolution rules. Date-based protocol revisions plus capability and extension negotiation.
Transport Your own HTTP or RPC layer. stdio or Streamable HTTP. The transport carries messages and doesn’t change their meaning.
Migration path Your own deprecation notices and sunset dates. MCP’s legacy-handshake fallback and feature deprecation policy.

Neither contract substitutes for the other. A server can speak the newest MCP revision flawlessly while exposing tools whose behavior shifts every time the backend changes. The reverse also happens: a well-versioned API can sit behind an adapter that fails with clients on a different protocol revision.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What MCP versioning covers

Date-form protocol revisions

According to the official MCP versioning guide, protocol revisions are identified by dates in YYYY-MM-DD form. A new identifier is issued only for backwards-incompatible changes. In the guide’s words, the version “will not be incremented when the protocol is updated, as long as the changes maintain backwards compatibility.” The guide lists 2026-07-28 as the current revision. Don’t mistake that date for an API version. It says nothing about your application’s contract.

Per-request declaration in the current model

In the current specification’s versioning and compatibility rules, each request declares its protocol version in metadata. Over HTTP the version also travels in the MCP-Protocol-Version header. A server either supports the declared version or rejects it, and the rejection reports the versions it does support. The client can then retry with a mutually supported version. If no overlap exists, it should surface an actionable incompatibility error.

Extensions and fallback

Extensions are negotiated through capabilities. If an extension isn’t available, the implementing party must fall back to core behavior or reject the request appropriately. An adapter shouldn’t assume every client supports every optional feature.

Transport is not semantics

The Transports overview states: “Protocol semantics are identical on every transport.” Choosing stdio over Streamable HTTP is a deployment decision. It doesn’t give you a different compatibility story.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Older clients and the handshake era

Earlier MCP revisions use an initialization handshake instead of per-request declaration. The current specification documents detection and fallback behavior so that modern and legacy clients and servers can interoperate. If you serve clients you don’t control, read that section before deciding which revisions to support.

One version-specific detail: in the 2025-11-25 revision’s HTTP transport, clients send MCP-Protocol-Version on subsequent requests. A server that receives no header and has no other way to identify the version should assume 2025-03-26. That is guidance for that revision. Don’t carry it over unchanged to the newer per-request metadata model.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Why the API comes first

The official MCP sources don’t prescribe an upstream API versioning strategy. What follows is architectural advice inferred from how the specification divides responsibilities. The overview and transport documents place protocol concerns on the MCP side and leave application behavior to the implementer.

  • Tool schemas are derived from the API. If an upstream field is renamed or its meaning changes, the tool’s inputs or outputs change with it. Models and client applications that learned the old shape see a silent break.
  • The protocol revision won’t warn you. MCP negotiation succeeds even when the business behavior behind a tool has changed incompatibly.
  • Two moving parts are harder to debug than one. With a pinned upstream contract, any failure is more likely in the protocol layer or in the mapping.

A practical sequence

  1. Pin the upstream contract. Choose an explicit version of your API (for example a versioned path or schema) and have the adapter call only that version.
  2. Record the expectation. Document which upstream version each tool, resource or prompt maps to, so a reviewer can see what a change affects.
  3. Keep translation at the boundary. Put field renames, defaults and shims in the adapter, in one visible place, instead of scattering compatibility logic through handlers.
  4. Decide which MCP revisions to accept. Support the current revision, and decide deliberately whether to also support the legacy handshake path for older clients.
  5. Return clear version errors. When a request declares an unsupported protocol version, report the versions you do support, as the specification requires.
  6. Test the mapping on both sides. Run contract tests against the upstream version whenever the API changes, and protocol-level tests whenever you upgrade your MCP SDK or revision support.
  7. Document migrations separately. Announce upstream API deprecations on their own timeline, distinct from any change in which MCP revisions you support.

Deprecation timing to plan around

MCP’s deprecation policy says a deprecated feature gets a documented migration path. It stays in the specification for at least twelve months before it becomes eligible for removal. Under an expedited-removal exception the minimum is ninety days. Check the live feature registry and migration notes for the status of any feature you rely on. Your own API’s deprecation window is separate. If your adapter depends on an MCP feature that’s being retired and an upstream endpoint that’s being sunset, track the two schedules independently.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Where the claim stops

This advice fits servers that wrap an existing API. A server that implements its capabilities directly, with no separate upstream service, has no second contract to version. It still needs to handle MCP revision negotiation. The versioning rules above come from the MCP maintainers’ documentation. The “version the API first” ordering is an engineering recommendation, not a specification requirement.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.