初始化请求
初始化请求
MCP 会话以 initialize 请求开始,用于协商协议版本、声明客户端能力。该方法为免认证公开方法,无需携带 API Key,可用于连通性探测。
由于 ChemFlow MCP 服务运行于无状态 Streamable HTTP 模式,每次请求独立完成,notifications/initialized 通知可发送但并非必须(不发送不影响后续 tools/call)。
请求示例
POST /mcp HTTP/1.1Host: unveilchem.comContent-Type: application/jsonAccept: application/json, text/event-stream
{ "jsonrpc": "2.0", "id": 1, "method": "initialize", "params": { "protocolVersion": "2025-06-18", "capabilities": {}, "clientInfo": { "name": "my-client", "version": "1.0.0" } }}参数说明
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
jsonrpc | string | 是 | 固定为 "2.0" |
id | number | string | 是 | 请求 ID,用于匹配响应 |
method | string | 是 | 固定为 "initialize" |
params.protocolVersion | string | 是 | 客户端期望的协议版本,服务端将返回实际协商版本 |
params.capabilities | object | 是 | 客户端能力声明,可为空对象 |
params.clientInfo.name | string | 是 | 客户端名称(用于日志追踪) |
params.clientInfo.version | string | 是 | 客户端版本 |
响应示例
以下为线上服务实测响应:
{ "jsonrpc": "2.0", "id": 1, "result": { "protocolVersion": "2025-06-18", "capabilities": { "experimental": {}, "prompts": { "listChanged": false }, "resources": { "subscribe": false, "listChanged": false }, "tools": { "listChanged": false } }, "serverInfo": { "name": "chemflow_mcp", "version": "1.29.0" } }}注意:响应以
text/event-stream格式返回,客户端从data:行提取 JSON。serverInfo.version随服务迭代更新,以实际返回为准。
完成握手
按 MCP 规范,客户端可在收到 initialize 响应后发送 notifications/initialized 通知:
{ "jsonrpc": "2.0", "method": "notifications/initialized", "params": {}}注意:
notifications/initialized是通知,无id字段,服务端不会返回响应。无状态下该通知非必须。
下一步
会话协商完成后,可调用 tools/list 获取 12 个可用工具的完整清单。