调用MCP网关 - InvokeMcpGateway
功能介绍
该接口用于调用已创建并配置好Target的MCP网关。
调用方法
请参见如何调用API。
授权信息
当前API调用无需身份策略权限。
URI
POST /mcp
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| Mcp-Session-Id | 否 | String | 参数解释 会话ID,用于标识MCP服务器与客户端之间逻辑相关的交互会话,它主要用于支持需要维护状态化会话的服务器场景。 约束限制: 客户端在后续同一会话的所有HTTP请求头中携带此Mcp-Session-Id。 取值范围: 必须仅包含可见ASCII字符(十六进制范围0x21至0x7E)。 默认取值: 不涉及。 |
| Accept | 是 | String | 参数解释 客户端声明可接受的响应内容类型。在Streamable HTTP传输中,客户端通过此头告知服务器其能够处理的内容格式,以便服务器选择合适的响应方式。 约束限制: 当客户端发送HTTP POST请求时,必须在Accept头中同时列出application/json和text/event-stream作为支持的内容类型。 取值范围: MIME类型,多个类型用逗号分隔。必需包含application/json和text/event-stream。 默认取值: 不涉及。 |
| Content-Type | 是 | String | 参数解释 请求或响应的内容类型,指示消息体的数据格式。在Streamable HTTP传输中,客户端发送POST请求时必须使用application/json作为Content-Type,以表明消息体为JSON-RPC格式的请求、通知或响应。 约束限制: 客户端POST请求:Content-Type必须以application/json开头,消息体为单个JSON-RPC请求、通知或响应。 取值范围: 必须以application/json开头(可包含字符集等参数,如application/json; charset=utf-8)。 默认取值: 不涉及。 |
| Authorization | 是 | String | 参数解释: 本次智能体运行时调用对应的身份认证凭据。需要根据实际的智能体运行时的入站身份认证方式获取对应的身份认证凭据。 API Key认证、IAM认证及OAuth 2.0认证具体请参见认证鉴权。 约束限制: 不涉及。 取值范围: 不超过4096位字符。 默认取值: 不涉及。 |
| X-Sdk-Content-Sha256 | 否 | String | 参数解释: 如果智能体运行时的入站认证类型为IAM认证时,需要指定该Header头为UNSIGNED-PAYLOAD。 约束限制: 不涉及。 取值范围: 固定为UNSIGNED-PAYLOAD。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| jsonrpc | 是 | String | 参数解释: JSON-RPC 协议版本标识。 约束范围: 不涉及。 取值范围: 默认取值: 不涉及。 |
| id | 是 | One of: | 参数解释: JSON-RPC 请求的唯一标识 ID,用于匹配对应的响应,遵守 MCP 协议格式。 约束范围: 同一会话中,未完成请求的 ID 必须唯一。 取值范围: 默认取值: 不涉及。 |
| method | 是 | String | 参数解释: 调用方法,用于指定客户端执行的操作类型。 约束范围: 不涉及。 取值范围: 默认取值: 不涉及。 |
| params | 否 | One of:
| 参数解释: 调用方法对应的参数信息,不同method对应不同类型的参数结构体,遵守MCP协议格式。 约束范围: 不涉及。 取值范围:
默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| protocolVersion | 是 | String | 参数解释: 客户端支持的MCP版本,当前支持2024-11-05、2025-03-26、2025-06-18版本。 约束范围: 格式必须符合 YYYY-MM-DD 日期格式。 取值范围: 不涉及。 默认取值: 不涉及。 |
| capabilities | 是 | 参数解释: 客户端能力声明,用于与服务器进行能力协商。 约束范围: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 | |
| clientInfo | 是 | CoreGatewayClientInfo object | 参数解释: 客户端信息。 约束范围: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| elicitation | 否 | Map<String,Object> | 参数解释: 客户端支持从服务器获取信息。 约束范围: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| experimental | 否 | Map<String,Map<String,Object>> | 参数解释: 客户端支持的实验性、非标准功能。 约束范围: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| roots | 否 | CoreGatewayRootsCapability object | 参数解释: Roots能力,表示客户端支持向服务器提供文件系统根目录信息。 约束范围: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| sampling | 否 | map<string, object> | 参数解释: 采样能力,表示客户端支持处理来自服务器的LLM采样请求。 约束范围: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| listChanged | 否 | Boolean | 参数解释: 客户端是否会在根目录列表变更时发出通知。 约束范围: 不涉及。 取值范围: true: 支持变更通知; false: 不支持。 默认取值: false |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| name | 是 | String | 参数解释: 客户端名称。 约束范围: 不涉及。 取值范围: 长度为1-64个字符。 默认取值: 不涉及。 |
| version | 是 | String | 参数解释: 客户端版本。 约束范围: 不涉及。 取值范围: 长度为1-32个字符。 默认取值: 不涉及。 |
| title | 否 | String | 参数解释: 面向UI展示的可读标题,2025-06-18版本新增参数。 约束范围: 不涉及。 取值范围: 长度为0-256个字符。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| cursor | 否 | String | 参数解释: 分页光标,用于获取下一页工具列表。 约束范围: 不涉及。 取值范围: 长度为0-256。 默认取值: 不涉及。 |
| _meta | 否 | CoreGatewayRequestMeta object | 参数解释: 请求元数据信息,键值对形式。 取值范围: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| name | 是 | String | 参数解释: 调用工具名称。 约束范围: 不涉及。 取值范围: 长度为1-256个字符。 默认取值: 不涉及。 |
| arguments | 否 | Map<String,Object> | 参数解释: 自定义参数,键值对形式,遵守MCP协议格式。 约束范围: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| _meta | 否 | CoreGatewayRequestMeta object | 参数解释: 请求元数据信息,键值对形式。 取值范围: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| _meta | 否 | CoreGatewayRequestMeta object | 参数解释: 请求元数据信息,键值对形式。 取值范围: 不涉及。 |
| additionalProperties | 否 | Object | 参数解释: 扩展属性,键值对形式。 取值范围: 不涉及。 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| jsonrpc | String | 参数解释: JSON-RPC 协议版本标识。 约束范围: 不涉及。 取值范围: 默认取值: 不涉及。 |
| id | One of: | 参数解释: JSON-RPC 请求的唯一标识 ID,用于匹配对应的响应,遵守 MCP 协议格式。 约束范围: 同一会话中,未完成请求的 ID 必须唯一。 取值范围: 默认取值: 不涉及。 |
| result | One of:
| 参数解释: 调用网关返回的响应结果,根据请求方法不同返回对应类型的结果。 约束范围: 根据请求方法对应的响应结果如下: 取值范围: 不涉及(由具体 Schema 定义)。 默认取值: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| _meta | map<string, object> | 参数解释: 响应结果元数据信息,键值对形式。 取值范围: 不涉及。 |
| tools | Array of CoreGatewayTool objects | 参数解释: 工具集合,遵守MCP协议格式。 取值范围: 不涉及。 |
| nextCursor | String | 参数解释: 分页光标,用于获取下一页工具列表。 取值范围: 长度为0-256。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| _meta | map<string, object> | 参数解释: 响应结果元数据信息,键值对形式。 取值范围: 不涉及。 |
| name | String | 参数解释: 工具名称。 取值范围: 长度为1-256个字符。 |
| title | String | 参数解释: 工具的人类可读标题(用于UI显示),2025-06-18版本新增参数。 取值范围: 长度为0-256。 |
| description | String | 参数解释: 工具解释。 取值范围: 长度为0-1024个字符。 |
| annotations | CoreGatewayToolAnnotations object | 参数解释: 向客户端描述工具的附加属性。 取值范围: 不涉及。 |
| inputSchema | inputSchema object | 参数解释: 一个 JSON Schema 对象,用于定义工具所需的参数。 取值范围: 不涉及。 |
| outputSchema | outputSchema object | 参数解释: 一个可选的 JSON Schema 对象,用于定义工具输出的结构,2025-06-18版本新增参数。 取值范围: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| destructiveHint | Boolean | 参数解释: 破坏性更新提示,如果为 true,表示该工具可能对其环境执行破坏性更新。默认值:true。 取值范围: true或false。 |
| idempotentHint | Boolean | 参数解释: 幂等性提示,如果为 true,表示使用相同参数重复调用该工具不会产生额外效果。默认值:false。 取值范围: true或false。 |
| openWorldHint | Boolean | 参数解释: 开放世界提示,如果为 true,表示该工具可能与外部实体的“开放世界”进行交互。默认值:true。 取值范围: true或false。 |
| readOnlyHint | Boolean | 参数解释: 只读提示,如果为 true,表示该工具不会修改其环境。默认值:false。 取值范围: true或false。 |
| title | String | 参数解释: 工具的人类可读标题,2025-06-18 前主要使用 annotations.title 表示 UI 标题。 取值范围: 长度为0-256。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| type | String | 参数解释: JSON Schema 类型标识,必须为 "object",表示参数是一个键值对对象。 取值范围: 仅允许 object。 |
| properties | Map<String,Map<String,Object>> | 参数解释: 定义工具参数的JSON Schema属性声明。 取值范围: 不涉及。 |
| required | Array of strings | 参数解释: 必填参数列表,列出在 properties 中定义且必须提供的参数名。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| type | String | 参数解释: JSON Schema 类型标识,必须为 "object",表示输出是一个键值对对象。 取值范围: 仅允许 object。 |
| properties | Map<String,Map<String,Object>> | 参数解释: 定义工具输出的JSON Schema属性声明。 取值范围: 不涉及。 |
| required | Array of strings | 参数解释: 必填输出参数列表,列出在 properties 中定义且必须提供的参数名。 取值范围: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| _meta | map<string, object> | 参数解释: 响应结果元数据信息,键值对形式。 取值范围: 不涉及。 |
| content | Array of objects | 参数解释: 工具调用的响应结果,遵守MCP协议格式。 取值范围: 不涉及。 |
| isError | Boolean | 参数解释: 工具调用是否为错误响应。 取值范围: true或false。 |
| structuredContent | Map<String,Object> | 参数解释: 一个可选的 JSON 对象,表示工具调用的结构化结果,应与 Tool.outputSchema 对齐,2025-06-18版本新增参数。 取值范围: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| _meta | map<string, object> | 参数解释: 响应结果元数据信息,键值对形式。 取值范围: 不涉及。 |
| protocolVersion | String | 参数解释: 服务器确定的MCP协议版本。 取值范围: 格式必须符合 YYYY-MM-DD 日期格式。 |
| capabilities | 参数解释: 服务器能力详情。 取值范围: 不涉及。 | |
| serverInfo | CoreGatewayServerInfo object | 参数解释: 服务器信息。 取值范围: 不涉及。 |
| instructions | String | 参数解释: 可选的说明文本,用于指导 AI 如何使用服务器。 取值范围: 长度 0-4096。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| tools | CoreGatewayToolsCapabilities object | 参数解释: 服务器工具能力定义。 取值范围: 不涉及。 |
| prompts | 参数解释: 服务器提示词能力定义。 取值范围: 不涉及。 | |
| resources | 参数解释: 服务器资源能力定义。 取值范围: 不涉及。 | |
| logging | map<string, object> | 参数解释: 服务器日志能力定义。 取值范围: 不涉及。 |
| experimental | map<string, object> | 参数解释: 服务器实验性扩展能力定义。 取值范围: 不涉及。 |
| completions | map<string, object> | 参数解释: 服务器参数自动补全能力定义。 取值范围: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| listChanged | Boolean | 参数解释: 是否支持工具列表变更通知。 取值范围: true或者false。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| listChanged | Boolean | 参数解释: 是否支持提示词列表变更通知。 取值范围: true或者false。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| subscribe | Boolean | 参数解释: 是否支持资源订阅。 取值范围: true或者false。 |
| listChanged | Boolean | 参数解释: 是否支持资源列表变更通知。 取值范围: true或者false。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| name | String | 参数解释: 服务器名称。 取值范围: 长度 1-128。 |
| version | String | 参数解释: 服务器版本。 取值范围: 长度 1-32。 |
| title | String | 参数解释: 面向UI展示的可读标题,2025-06-18版本新增参数。 约束范围: 不涉及。 取值范围: 长度为0-256个字符。 默认取值: 不涉及。 |
状态码:401
| 参数 | 参数类型 | 描述 |
|---|---|---|
| code | Integer | 参数解释: 异常错误码。 取值范围: 不涉及。 |
| message | String | 参数解释: 错误详细信息。 取值范围: 长度为 1 - 512 个字符。 |
状态码:500
| 参数 | 参数类型 | 描述 |
|---|---|---|
| jsonrpc | String | 参数解释: JSON-RPC 协议版本标识。 约束范围: 不涉及。 取值范围: 默认取值: 不涉及。 |
| id | One of: | 参数解释: JSON-RPC 请求的唯一标识 ID,用于匹配对应的响应,遵守 MCP 协议格式。 约束范围: 同一会话中,未完成请求的 ID 必须唯一。 取值范围: 默认取值: 不涉及。 |
| error | CoreGatewayJSONRPCError object | 参数解释: 错误详情,包含错误代码、消息和附加数据。 约束范围: 必须包含 code 和 message 字段。 取值范围: 包含标准错误码和自定义错误码的对象。 默认取值: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| code | Integer | 参数解释: 错误类型代码,标识发生的错误类别。 约束范围: 预定义错误码范围为 -32768 至 -32000,自定义错误码应使用正数或 -32000 以上的负数。 取值范围: 默认取值: 不涉及。 |
| message | String | 参数解释: 错误的简短描述,提供人类可读的错误信息。 约束范围: 不涉及。 取值范围: 不超过2048位字符。 默认取值: 不涉及。 |
| data | Object | 参数解释: 关于错误的附加信息,用于携带更详细的错误上下文。 约束范围: 不涉及。 取值范围: 任意 JSON 类型(字符串、数字、对象、数组等)。 默认取值: 不涉及。 |
请求示例
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "initialize",
"params" : {
"protocolVersion" : "2025-06-18",
"capabilities" : {
"roots" : {
"listChanged" : true
},
"sampling" : { }
},
"clientInfo" : {
"name" : "MyAIClient",
"version" : "1.0.0"
}
}
} 响应示例
无
状态码
| 状态码 | 描述 |
|---|---|
| 200 | MCP网关调用成功的响应Body体。 |
| 401 | 未授权(认证令牌缺失、无效或已过期)。 |
| 500 | JSON-RPC错误。 |
错误码
请参见错误码。