Zenaique

What happens during the MCP initialize handshake, and why does it matter?

Flashcard·Easy·4.0 · 0·~30s·Asked atFlowiseKpmgTesla·Relevant atAnthropic
Attempt it
TL;DR

During initialize, client and server each declare supported features via a capabilities object; both sides then stick to the intersection, enabling forward compatibility.

Memory aid
Sign in to see the mnemonic that makes this stick.
Easy to grasp

Imagine two kids meeting at a playground for the first time. Before they start playing, each one says which games they know: 'I know tag, hide and seek, and kickball.' The other says 'I know tag and freeze dance.' They agree to play tag because both listed it. Neither suggests a game the other never learned. MCP works the same way. When a client and server first connect, each sends a short list of features it supports. From then on, both stick to only the features they share. If the server later learns a new trick, older clients that never listed it simply ignore it. Nobody breaks. Nobody gets confused.

Concept explanation~2 min read

Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.

Capability negotiation is the small but critical mechanism that lets MCP evolve safely. The spec changes every few months. Hosts ship and stay deployed for years. Servers update on their own schedules. Without a way for both sides to agree on supported features at session start, every spec update would risk breaking something.

This explanation walks the three-message exchange, lists the capabilities each side commonly advertises in the 2026 spec, and shows why the asymmetric opt-in design is what makes forward compatibility actually work.

The three-message handshake

Every MCP session opens with exactly three messages.

The client sends an initialize JSON-RPC request. Its params include protocolVersion (a date-stamped string like "2026-03-26"), clientInfo (an object with name and version), and capabilities (an object listing the optional features the client supports). No other method may be called before this.

The server responds with its own protocolVersion (which may match the client's or be older if the server does not understand the client's version), serverInfo, and its own capabilities object listing what it offers.

The client sends a notifications/initialized notification (no id, no response expected). This signals the client has processed the server's response and the session is ready for normal operations.

Capability negotiation is the act of populating and reading the two capabilities objects in messages one and two. Everything that happens for the rest of the session must fit within the intersection of those two declarations.

Server capabilities in the 2026 spec
Client capabilities in the 2026 spec
Forward compatibility through mutual opt-in
Sign in to unlock the full deep dive.

Situations where this technique stops working.

Sign in to see when this approach fails.

2–4 min · Everything important, quickly.

Sign in to see the quick scan of the deep dive.

Real products, models, and research that use this idea.

  • Claude Desktop announces `roots` and `sampling` client capabilities; servers configured in the desktop config can rely on Claude to surface roots and accept sampling requests.
  • A simple search MCP server advertises only `tools`; the client never attempts `resources/list` against it because the resources capability is absent.
Sign in to see more production examples.

What an interviewer would ask next. Try answering before peeking at the approach.

QWhat should a client do if it attempts to call a feature the server did not advertise?
A

It should not make the call at all. A well-behaved client checks capabilities before issuing any method beyond initialize. Most servers return JSON-RPC error -32601 method not found for unadvertised methods. The client should hide the feature in its UI or surface a clear error to the user.

2 more follow-ups an interviewer would ask next. Sign in to reveal them.

Red flags & common mistakes

The phrases that signal junior thinking. Click to expand.

Most common mistake

Assuming every MCP server supports every feature. Servers advertise only what they implement, and the client must check before calling anything beyond initialize.

Sign in to see all red flags and common mistakes.

60 second bullets to scan on the way to the call.

  • Define capability negotiation as the feature exchange inside initialize.

  • Walk the three-message sequence (initialize request, response, notifications/initialized).

Sign in to unlock the revision sheet.

Primary sources. Browse if you want the original framing.

Similar questions

Same topic, related formats. Practice these next.

4 curated
Next question
What is the Model Context Protocol (MCP) and what problem does it solve?
MCQ·Easy