Skip to content

初始化请求

初始化请求

MCP 会话以 initialize 请求开始,用于协商协议版本、声明客户端能力。该方法为免认证公开方法,无需携带 API Key,可用于连通性探测。

由于 ChemFlow MCP 服务运行于无状态 Streamable HTTP 模式,每次请求独立完成,notifications/initialized 通知可发送但并非必须(不发送不影响后续 tools/call)。

请求示例

POST /mcp HTTP/1.1
Host: unveilchem.com
Content-Type: application/json
Accept: 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"
}
}
}

参数说明

字段类型必填说明
jsonrpcstring是固定为 "2.0"
idnumber | string是请求 ID,用于匹配响应
methodstring是固定为 "initialize"
params.protocolVersionstring是客户端期望的协议版本,服务端将返回实际协商版本
params.capabilitiesobject是客户端能力声明,可为空对象
params.clientInfo.namestring是客户端名称(用于日志追踪)
params.clientInfo.versionstring是客户端版本

响应示例

以下为线上服务实测响应:

{
"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 个可用工具的完整清单。