What does an MCP initialize handshake look like

Send initialize with a protocolVersion and clientInfo, then read serverInfo and instructions from the reply.

Run it

curl -s https://mcp.model.tools/mcp -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"c","version":"1"}}}'

Response

{"result":{"protocolVersion":"2024-11-05","serverInfo":{…}}}