0Pricing
MCP Academy · Lesson

The Initialize Handshake

How client and server agree on version and features.

The Initialize Handshake is a free MCP Academy lesson on CoddyKit — lesson 3 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the MCP Academy learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

First Words Matter

Before any tool runs, client and server must meet. That opening exchange is the initialize handshake, and nothing else happens until it finishes.

The Client Speaks First

The handshake always starts with the client sending an initialize request. The server stays quiet and waits to be greeted before it replies.

{"jsonrpc": "2.0", "id": 0, "method": "initialize"}

Agreeing on a Version

The client offers a protocolVersion so both sides speak the same MCP edition. The server confirms a version it can support in its reply.

{"params": {"protocolVersion": "2025-06-18"}}

Declaring Capabilities

Each side lists its capabilities, such as tools, resources, or sampling. This tells the other party which features it may safely use.

{"capabilities": {"tools": {}, "resources": {}}}

Introducing Yourself

The client also sends clientInfo with its name and version. It is a friendly nameplate so the server knows exactly who connected.

{"clientInfo": {"name": "claude-desktop", "version": "1.0"}}

The Server Responds

The server replies with its own chosen version, its capabilities, and serverInfo. Now both sides know what the other can do.

{"result": {"protocolVersion": "2025-06-18",
  "serverInfo": {"name": "my-server", "version": "0.1"}}}

Sealing the Deal

After the reply, the client sends a final notifications/initialized message. It has no id and no answer, simply signaling that setup is complete.

{"jsonrpc": "2.0", "method": "notifications/initialized"}

Only Then, Real Work

Until that initialized notification arrives, the server should refuse other calls. The handshake gates everything that follows it.

Why Negotiate at All

Versions and features evolve, so the handshake lets a new client and an old server negotiate common ground instead of crashing on mismatch.

Capabilities Shape the Session

If the server never advertised resources, a polite client will not ask for them. Declared capabilities quietly define the rules of the whole session.

The Handshake in Three Beats

Remember the rhythm: client sends initialize, server responds, client confirms with initialized. Three beats and the connection is live.

Quick Check

What does the client send to finish the initialize handshake?

Recap: Saying Hello

You traced the handshake end to end: the client offers a version and capabilities, the server confirms, and a final initialized note opens the session for real work.

Frequently asked questions

Is the “The Initialize Handshake” lesson free?

Yes — the full text of “The Initialize Handshake” is free to read here on the web, and the MCP Academy course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the MCP Academy course, upgrade to CoddyKit PRO.

What will I learn in “The Initialize Handshake”?

How client and server agree on version and features. You practise MCP Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start MCP Academy?

No prior experience is required. MCP Academy on CoddyKit is structured for beginners through advanced learners; this is — lesson 3 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “The Initialize Handshake” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this MCP Academy lesson?

Yes. Every MCP Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. Requests, Responses & Notifications
  2. Anatomy of a JSON-RPC Call
  3. The Initialize Handshake
  4. Reading Errors in the Wire
← Back to MCP Academy