Skip to main content
The initialize method is the first request an AI client must send after connecting. It negotiates the protocol version and returns the server’s capabilities, name, and version.

MCP Endpoint

POST https://yoursite.com/mcp/{slug}/{server_id}
Content-Type: application/json

Request

curl -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize",
    "params": {
      "protocolVersion": "2024-11-05",
      "capabilities": {
        "roots": {"listChanged": true},
        "sampling": {}
      },
      "clientInfo": {
        "name": "claude-desktop",
        "version": "1.0.0"
      }
    }
  }' \
  "https://yoursite.com/mcp/my-weather-tools/a1b2c3d4e5f6a1b2"

Response

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "protocolVersion": "2024-11-05",
    "capabilities": {
      "tools": {
        "listChanged": true
      }
    },
    "serverInfo": {
      "name": "My Weather Tools",
      "version": "1.0.0"
    }
  }
}

Response Headers

HeaderDescription
Mcp-Session-IdSession ID to use in subsequent requests
Content-Typeapplication/json

Follow-up Notification

After receiving the initialize response, the client should send the notifications/initialized notification to signal it’s ready:
{
  "jsonrpc": "2.0",
  "method": "notifications/initialized",
  "params": {}
}
This is a notification (no id field), so no response is expected.

Capabilities

GetMCP currently reports:
CapabilityValue
tools.listChangedtrue — server can notify when tool list changes