October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk3 min

Model Context Protocol (MCP) Message Format Explained

MCP messages use JSON-RPC 2.0. See the request, response, and notification shapes, plus how the 2026-07-28 revision changes context, sessions, and follow-up input.

Free tools Windows power users keep installed

One-click scans. No signup required.

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

MCP messages use JSON-RPC 2.0 envelopes: requests carry a method and ID, responses echo that ID with a result or error, and notifications have no ID and receive no reply. The current specification, versioned 2026-07-28, changes how context and follow-up input work compared with earlier MCP revisions, so the version matters when reading examples.

What an MCP message looks like

Every client-server message in MCP conforms to JSON-RPC 2.0. The envelope identifies the operation and, for a request, lets the sender match the eventual response to the request.

As an Amazon Associate I earn from qualifying purchases.

Request

A request includes jsonrpc set to "2.0", a string or integer id, a method, and optional params. An ID cannot be null, and a sender must not reuse an ID that is still outstanding.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {"name": "search", "arguments": {"q": "otters"}}
}

This illustrative call asks to run a tool named search, passing otters as the query. The method names and parameter contents tell the recipient what operation is requested; the ID is for matching messages, not for describing the operation. See the versioned base protocol specification.

Result response

A successful response contains jsonrpc: "2.0", the same id as the request, and a result object. In the 2026-07-28 protocol, that result includes resultType: complete means the operation finished, while input_required means the client must provide additional input. For compatibility with an earlier protocol version, a client may interpret a missing resultType as complete.

Error response

An error response has an error object containing an integer code and a message. It ordinarily echoes the request ID, allowing the sender to associate the failure with the correct call.

Notification

A notification has a method and optional params, but no id. Because there is no request to answer, the receiver must not send a response.

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

How requests, input, and notifications fit together

The current base protocol describes request/response, Multi Round-Trip Requests (MRTR), and subscribe-and-notify patterns. These describe how messages interact; they do not change the JSON-RPC envelope rules.

Ordinary request and response

The client sends a request with an ID. The server returns either a result or an error carrying that ID. This pairing is the basic pattern behind operations such as tool calls.

Multi Round-Trip Requests

If an operation needs more client input, the server can return a result marked input_required, identify what it needs, and have the client retry the original operation with the supplied answers. The July 28, 2026 release announcement says MRTR replaces server-initiated elicitation, sampling, and roots requests that previously depended on a held-open stream. See the release announcement.

Subscribe and notify

A subscription begins with a request/response interaction, even if its response is followed by a long-lived notification stream. The subscription state belongs to that request; it is not inferred from the transport connection.

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

What changed in the 2026-07-28 revision

The July 28, 2026 release announcement identifies 2026-07-28 as the released specification. This revision retires the initialize/initialized exchange and the Mcp-Session-Id protocol session header. Instead of negotiating context once and associating later traffic with a protocol session, each request carries its protocol version and client context in _meta. Clients may use server/discover to learn server capabilities in advance, but discovery is optional.

Earlier MCP revisions used initialization to negotiate the protocol version and capabilities, then associated later communication with a session. Examples written for those revisions may therefore show initialize or session headers. When implementing or interpreting an example, check which revision it targets rather than assuming the lifecycle is unchanged.

Stateless describes the protocol core, not necessarily the application. An application can still preserve task or conversation state, but cross-request state must be referenced by an explicit identifier supplied by the client rather than inferred silently from a connection or process.

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

How HTTP transport relates to the JSON-RPC body

With Streamable HTTP, the JSON-RPC message remains the body of a POST. Headers such as MCP-Protocol-Version, Mcp-Method, and Mcp-Name expose routing metadata to HTTP infrastructure; they do not replace the JSON-RPC message. A server or intermediary may use the headers to route traffic without treating them as the operation’s full content.

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

Validation and error codes

MCP uses JSON Schema to validate protocol data. If a schema does not declare $schema, the current specification defaults to JSON Schema 2020-12; implementations must support that dialect, and the specification recommends using it. The versioned page identifies the TypeScript schema as the protocol source of truth and provides a generated JSON Schema for tooling.

The current base protocol lists standard JSON-RPC error codes for general failures and reserves -32020 through -32099 for MCP-defined server errors.

Code Meaning in the current specification
-32020 HeaderMismatch
-32021 MissingRequiredClientCapability
-32022 UnsupportedProtocolVersion
-32602 Invalid Params; the current revision uses this for resource-not-found where older revisions used -32002

Clients that need to interoperate with older servers are advised to accept the legacy -32002 resource-not-found code as well as the current code. The authoritative list and schema guidance are in the base protocol specification.

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.

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

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
PC Slower Than It Used to Be?Free scan - under a minute
Crashes, No Sound, or Screen Glitches?Free driver scan

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.