← Lab

MCP handshake, live

Every MCP SDK hides the same few messages. This page sends them one at a time to this website's own MCP server at /mcp, so what you see below is the actual traffic, not a diagram.

  1. 1. initialize
  2. 2. notifications/initialized
  3. 3. tools/list
  4. 4. tools/call

Next · client → server

initialize

The client opens with the protocol version it speaks and what it can do. The server answers with the version it agrees to, its own capabilities, and who it is. Nothing else is allowed before this.

request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {
    "protocolVersion": "2025-06-18",
    "capabilities": {},
    "clientInfo": {
      "name": "lab-explorer",
      "version": "1.0.0"
    }
  }
}