更新时间:2026-06-10 GMT+08:00
分享

调用MCP网关 - InvokeMcpGateway

功能介绍

该接口用于调用已创建并配置好Target的MCP网关。

调用方法

请参见如何调用API

授权信息

当前API调用无需身份策略权限。

URI

POST /mcp

请求参数

表1 请求Header参数

参数

是否必选

参数类型

描述

Mcp-Session-Id

String

参数解释

会话ID,用于标识MCP服务器与客户端之间逻辑相关的交互会话,它主要用于支持需要维护状态化会话的服务器场景。

约束限制

客户端在后续同一会话的所有HTTP请求头中携带此Mcp-Session-Id

取值范围

必须仅包含可见ASCII字符(十六进制范围0x21至0x7E)。

默认取值

不涉及。

Accept

String

参数解释

客户端声明可接受的响应内容类型。在Streamable HTTP传输中,客户端通过此头告知服务器其能够处理的内容格式,以便服务器选择合适的响应方式。

约束限制

当客户端发送HTTP POST请求时,必须在Accept头中同时列出application/jsontext/event-stream作为支持的内容类型。

取值范围

MIME类型,多个类型用逗号分隔。必需包含application/jsontext/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。

默认取值:

不涉及。

表2 请求Body参数

参数

是否必选

参数类型

描述

jsonrpc

String

参数解释:

JSON-RPC 协议版本标识。

约束范围:

不涉及。

取值范围:

  • 2.0: JSON-RPC协议2.0版本。

默认取值:

不涉及。

id

One of:

  • String

  • Integer

参数解释:

JSON-RPC 请求的唯一标识 ID,用于匹配对应的响应,遵守 MCP 协议格式。

约束范围:

同一会话中,未完成请求的 ID 必须唯一。

取值范围:

  • 字符串类型。

  • 整数类型(通常为正整数)。

默认取值:

不涉及。

method

String

参数解释:

调用方法,用于指定客户端执行的操作类型。

约束范围:

不涉及。

取值范围:

  • initialize: 初始化,客户端在首次连接时发送给服务器,要求其开始初始化流程。

  • tools/list: 获取工具列表,用于请求服务器拥有的工具列表。

  • tools/call: 调用工具,用于调用服务器提供的工具。

  • ping: 连接检查,用于客户端与服务端连接保活与健康检查。

默认取值:

不涉及。

params

One of:

参数解释:

调用方法对应的参数信息,不同method对应不同类型的参数结构体,遵守MCP协议格式。

约束范围:

不涉及。

取值范围:

  • initialize: 对应 CoreGatewayInitializeParams,初始化参数,包含协议版本、客户端能力和客户端信息。

  • tools/list: 对应 CoreGatewayToolsListParams,工具列表查询参数,可选包含分页光标。

  • tools/call: 对应 CoreGatewayToolsCallParams,工具调用参数,包含工具名称和调用参数。

  • ping: 对应 CoreGatewayPingParams,连接检查参数,可选包含扩展属性参数。

默认取值:

不涉及。

表3 CoreGatewayInitializeParams

参数

是否必选

参数类型

描述

protocolVersion

String

参数解释:

客户端支持的MCP版本,当前支持2024-11-05、2025-03-26、2025-06-18版本。

约束范围:

格式必须符合 YYYY-MM-DD 日期格式。

取值范围:

不涉及。

默认取值:

不涉及。

capabilities

CoreGatewayClientCapabilities object

参数解释:

客户端能力声明,用于与服务器进行能力协商。

约束范围:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

clientInfo

CoreGatewayClientInfo object

参数解释:

客户端信息。

约束范围:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表4 CoreGatewayClientCapabilities

参数

是否必选

参数类型

描述

elicitation

Map<String,Object>

参数解释:

客户端支持从服务器获取信息。

约束范围:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

experimental

Map<String,Map<String,Object>>

参数解释:

客户端支持的实验性、非标准功能。

约束范围:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

roots

CoreGatewayRootsCapability object

参数解释:

Roots能力,表示客户端支持向服务器提供文件系统根目录信息。

约束范围:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

sampling

map<string, object>

参数解释:

采样能力,表示客户端支持处理来自服务器的LLM采样请求。

约束范围:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表5 CoreGatewayRootsCapability

参数

是否必选

参数类型

描述

listChanged

Boolean

参数解释:

客户端是否会在根目录列表变更时发出通知。

约束范围:

不涉及。

取值范围:

true: 支持变更通知; false: 不支持。

默认取值:

false

表6 CoreGatewayClientInfo

参数

是否必选

参数类型

描述

name

String

参数解释:

客户端名称。

约束范围:

不涉及。

取值范围:

长度为1-64个字符。

默认取值:

不涉及。

version

String

参数解释:

客户端版本。

约束范围:

不涉及。

取值范围:

长度为1-32个字符。

默认取值:

不涉及。

title

String

参数解释:

面向UI展示的可读标题,2025-06-18版本新增参数。

约束范围:

不涉及。

取值范围:

长度为0-256个字符。

默认取值:

不涉及。

表7 CoreGatewayToolsListParams

参数

是否必选

参数类型

描述

cursor

String

参数解释:

分页光标,用于获取下一页工具列表。

约束范围:

不涉及。

取值范围:

长度为0-256。

默认取值:

不涉及。

_meta

CoreGatewayRequestMeta object

参数解释:

请求元数据信息,键值对形式。

取值范围:

不涉及。

表8 CoreGatewayToolsCallParams

参数

是否必选

参数类型

描述

name

String

参数解释:

调用工具名称。

约束范围:

不涉及。

取值范围:

长度为1-256个字符。

默认取值:

不涉及。

arguments

Map<String,Object>

参数解释:

自定义参数,键值对形式,遵守MCP协议格式。

约束范围:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

_meta

CoreGatewayRequestMeta object

参数解释:

请求元数据信息,键值对形式。

取值范围:

不涉及。

表9 CoreGatewayPingParams

参数

是否必选

参数类型

描述

_meta

CoreGatewayRequestMeta object

参数解释:

请求元数据信息,键值对形式。

取值范围:

不涉及。

additionalProperties

Object

参数解释:

扩展属性,键值对形式。

取值范围:

不涉及。

表10 CoreGatewayRequestMeta

参数

是否必选

参数类型

描述

{自定义key}

Map<String,Object>

参数解释:

请求元数据信息,键值对形式。

取值范围:

不涉及。

progressToken

One of:

  • String

  • Integer

参数解释:

进度令牌,用于将进度通知与原始请求关联起来。

取值范围:

字符串或整数。

响应参数

状态码:200

表11 响应Body参数

参数

参数类型

描述

jsonrpc

String

参数解释:

JSON-RPC 协议版本标识。

约束范围:

不涉及。

取值范围:

  • 2.0: JSON-RPC协议2.0版本。

默认取值:

不涉及。

id

One of:

  • String

  • Integer

参数解释:

JSON-RPC 请求的唯一标识 ID,用于匹配对应的响应,遵守 MCP 协议格式。

约束范围:

同一会话中,未完成请求的 ID 必须唯一。

取值范围:

  • 字符串类型。

  • 整数类型(通常为正整数)。

默认取值:

不涉及。

result

One of:

参数解释:

调用网关返回的响应结果,根据请求方法不同返回对应类型的结果。

约束范围:

根据请求方法对应的响应结果如下:

  • initialize: 对应 CoreGatewayInitializeResult,初始化响应结果。

  • tools/list: 对应 CoreGatewayToolsListResult,工具列表响应结果。

  • tools/call: 对应 CoreGatewayToolsCallResult,工具调用响应结果。

  • ping: 对应 CoreGatewayPingResult,连接检查响应结果。

取值范围:

不涉及(由具体 Schema 定义)。

默认取值:

不涉及。

表12 CoreGatewayToolsListResult

参数

参数类型

描述

_meta

map<string, object>

参数解释:

响应结果元数据信息,键值对形式。

取值范围:

不涉及。

tools

Array of CoreGatewayTool objects

参数解释:

工具集合,遵守MCP协议格式。

取值范围:

不涉及。

nextCursor

String

参数解释:

分页光标,用于获取下一页工具列表。

取值范围:

长度为0-256。

表13 CoreGatewayTool

参数

参数类型

描述

_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版本新增参数。

取值范围:

不涉及。

表14 CoreGatewayToolAnnotations

参数

参数类型

描述

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。

表15 inputSchema

参数

参数类型

描述

type

String

参数解释:

JSON Schema 类型标识,必须为 "object",表示参数是一个键值对对象。

取值范围:

仅允许 object。

properties

Map<String,Map<String,Object>>

参数解释:

定义工具参数的JSON Schema属性声明。

取值范围:

不涉及。

required

Array of strings

参数解释:

必填参数列表,列出在 properties 中定义且必须提供的参数名。

表16 outputSchema

参数

参数类型

描述

type

String

参数解释:

JSON Schema 类型标识,必须为 "object",表示输出是一个键值对对象。

取值范围:

仅允许 object。

properties

Map<String,Map<String,Object>>

参数解释:

定义工具输出的JSON Schema属性声明。

取值范围:

不涉及。

required

Array of strings

参数解释:

必填输出参数列表,列出在 properties 中定义且必须提供的参数名。

取值范围:

不涉及。

表17 CoreGatewayToolsCallResult

参数

参数类型

描述

_meta

map<string, object>

参数解释:

响应结果元数据信息,键值对形式。

取值范围:

不涉及。

content

Array of objects

参数解释:

工具调用的响应结果,遵守MCP协议格式。

取值范围:

不涉及。

isError

Boolean

参数解释:

工具调用是否为错误响应。

取值范围:

true或false。

structuredContent

Map<String,Object>

参数解释:

一个可选的 JSON 对象,表示工具调用的结构化结果,应与 Tool.outputSchema 对齐,2025-06-18版本新增参数。

取值范围:

不涉及。

表18 CoreGatewayInitializeResult

参数

参数类型

描述

_meta

map<string, object>

参数解释:

响应结果元数据信息,键值对形式。

取值范围:

不涉及。

protocolVersion

String

参数解释:

服务器确定的MCP协议版本。

取值范围:

格式必须符合 YYYY-MM-DD 日期格式。

capabilities

CoreGatewayServerCapabilities object

参数解释:

服务器能力详情。

取值范围:

不涉及。

serverInfo

CoreGatewayServerInfo object

参数解释:

服务器信息。

取值范围:

不涉及。

instructions

String

参数解释:

可选的说明文本,用于指导 AI 如何使用服务器。

取值范围:

长度 0-4096。

表19 CoreGatewayServerCapabilities

参数

参数类型

描述

tools

CoreGatewayToolsCapabilities object

参数解释:

服务器工具能力定义。

取值范围:

不涉及。

prompts

CoreGatewayPromptsCapabilities object

参数解释:

服务器提示词能力定义。

取值范围:

不涉及。

resources

CoreGatewayResourcesCapabilities object

参数解释:

服务器资源能力定义。

取值范围:

不涉及。

logging

map<string, object>

参数解释:

服务器日志能力定义。

取值范围:

不涉及。

experimental

map<string, object>

参数解释:

服务器实验性扩展能力定义。

取值范围:

不涉及。

completions

map<string, object>

参数解释:

服务器参数自动补全能力定义。

取值范围:

不涉及。

表20 CoreGatewayToolsCapabilities

参数

参数类型

描述

listChanged

Boolean

参数解释:

是否支持工具列表变更通知。

取值范围:

true或者false。

表21 CoreGatewayPromptsCapabilities

参数

参数类型

描述

listChanged

Boolean

参数解释:

是否支持提示词列表变更通知。

取值范围:

true或者false。

表22 CoreGatewayResourcesCapabilities

参数

参数类型

描述

subscribe

Boolean

参数解释:

是否支持资源订阅。

取值范围:

true或者false。

listChanged

Boolean

参数解释:

是否支持资源列表变更通知。

取值范围:

true或者false。

表23 CoreGatewayServerInfo

参数

参数类型

描述

name

String

参数解释:

服务器名称。

取值范围:

长度 1-128。

version

String

参数解释:

服务器版本。

取值范围:

长度 1-32。

title

String

参数解释:

面向UI展示的可读标题,2025-06-18版本新增参数。

约束范围:

不涉及。

取值范围:

长度为0-256个字符。

默认取值:

不涉及。

表24 CoreGatewayPingResult

参数

参数类型

描述

_meta

map<string, object>

参数解释:

响应结果元数据信息,键值对形式。

取值范围:

不涉及。

状态码:401

表25 响应Body参数

参数

参数类型

描述

code

Integer

参数解释:

异常错误码。

取值范围:

不涉及。

message

String

参数解释

错误详细信息。

取值范围

长度为 1 - 512 个字符。

状态码:500

表26 响应Body参数

参数

参数类型

描述

jsonrpc

String

参数解释:

JSON-RPC 协议版本标识。

约束范围:

不涉及。

取值范围:

  • 2.0: JSON-RPC协议2.0版本。

默认取值:

不涉及。

id

One of:

  • String

  • Integer

参数解释:

JSON-RPC 请求的唯一标识 ID,用于匹配对应的响应,遵守 MCP 协议格式。

约束范围:

同一会话中,未完成请求的 ID 必须唯一。

取值范围:

  • 字符串类型。

  • 整数类型(通常为正整数)。

默认取值:

不涉及。

error

CoreGatewayJSONRPCError object

参数解释:

错误详情,包含错误代码、消息和附加数据。

约束范围:

必须包含 codemessage 字段。

取值范围:

包含标准错误码和自定义错误码的对象。

默认取值:

不涉及。

表27 CoreGatewayJSONRPCError

参数

参数类型

描述

code

Integer

参数解释:

错误类型代码,标识发生的错误类别。

约束范围:

预定义错误码范围为 -32768 至 -32000,自定义错误码应使用正数或 -32000 以上的负数。

取值范围:

  • -32700: 解析错误(Parse error)。

  • -32600: 无效请求(Invalid Request)。

  • -32601: 方法未找到(Method not found)。

  • -32602: 无效参数(Invalid params)。

  • -32603: 内部错误(Internal error)。

默认取值:

不涉及。

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错误。

错误码

请参见错误码

相关文档