📘 智能体 MCP JSON-RPC 接口文档

基本信息

  • URL 模板:

    POST /api/v1/{type}/{key}/mcp
  • 请求方式: POST

  • 请求体格式: application/json

  • 协议: JSON-RPC 2.0

URL 参数

参数 类型 必填 说明
type string 业务分类,例如 "assistat", "flow"
key string 对应业务标识,例如应用 key

请求结构

所有请求遵循 JSON-RPC 2.0 格式:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "方法名",
  "params": { ... }
}
  • jsonrpc: 固定为 "2.0"
  • id: 客户端请求标识,响应会携带相同 id
  • method: 调用的方法名
  • params: 该方法的参数对象

响应结构

成功

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": { ... }
}

失败

{
  "jsonrpc": "2.0",
  "id": 1,
  "error": {
    "code": -32601,
    "message": "Method not found",
    "data": "附加错误信息(可选)"
  }
}

支持的方法

1. initialize

初始化连接,通常在客户端启动时调用。

请求示例

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {
    "protocolVersion": "2024-11-05",
    "capabilities": {},
    "clientInfo": {
      "name": "ClientName",
      "version": "1.0.0"
    }
  }
}

响应示例

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "serverInfo": {
      "name": "MCP Server",
      "version": "1.0.0"
    },
    "capabilities": {}
  }
}

2. tools/list

获取工具列表。

请求示例

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/list",
  "params": {}
}

响应示例

{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "tools": [
      { "name": "calculator", "description": "Simple calculator" },
      { "name": "translator", "description": "Text translator" }
    ]
  }
}

3. tools/call

调用某个工具。

请求示例

{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "calculator",
    "arguments": { "expression": "1+2*3" }
  }
}

响应示例

{
  "jsonrpc": "2.0",
  "id": 3,
  "result": {
    "output": "7"
  }
}

4. resources/list

获取资源列表。

{
  "jsonrpc": "2.0",
  "id": 4,
  "method": "resources/list",
  "params": {}
}

响应

{
  "jsonrpc": "2.0",
  "id": 4,
  "result": {
    "resources": [
      { "id": "file1", "type": "text", "name": "example.txt" }
    ]
  }
}

5. resources/read

读取资源内容。

请求

{
  "jsonrpc": "2.0",
  "id": 5,
  "method": "resources/read",
  "params": {
    "resourceId": "file1"
  }
}

响应

{
  "jsonrpc": "2.0",
  "id": 5,
  "result": {
    "content": "Hello World"
  }
}

6. prompts/list

获取可用提示词列表。

{
  "jsonrpc": "2.0",
  "id": 6,
  "method": "prompts/list",
  "params": {}
}

响应

{
  "jsonrpc": "2.0",
  "id": 6,
  "result": {
    "prompts": [
      { "id": "p1", "title": "Summarize text" }
    ]
  }
}

7. prompts/get

获取指定提示词。

{
  "jsonrpc": "2.0",
  "id": 7,
  "method": "prompts/get",
  "params": { "id": "p1" }
}

响应

{
  "jsonrpc": "2.0",
  "id": 7,
  "result": {
    "id": "p1",
    "content": "Please summarize the following text..."
  }
}

错误码

code message 说明
-32600 Invalid Request 请求结构不合法
-32601 Method not found 不存在的方法
-32602 Invalid params 参数错误
-32603 Internal error 服务端内部错误