作为已拥有自建或第三方 MCP Server (Model Context Protocol Server)的企业开发者,可以通过 AgentKit 将已有 MCP Server 作为后端服务统一接入至 AgentKit 的 MCP 服务。本文从连通性验证、创建 MCP 服务、配置 MCP 工具集到 Agent 代码集成与结果检查,为您详细介绍已有 MCP Server 接入 AgentKit 的全流程操作。
在企业已经部署了自建 MCP Server(例如内部知识库检索、工单系统工具),或计划接入第三方 MCP Server(例如 GitHub MCP、Notion MCP)场景下,可以通过 AgentKit 统一接入这些 MCP Server,而不是让每个 Agent 分别直连后端端点。
AgentKit 网关转发 MCP 请求,不改变后端 MCP 协议行为,并在入口层提供以下能力:
- 统一入站认证:为 MCP 服务增加统一的访问控制,避免后端端点裸暴露。
- 统一工具发现:通过 MCP 工具集(Toolset)集中管理工具入口,降低多 Agent 场景的配置成本。
Streamable HTTP 是 MCP 的一种传输方式,基于 HTTP 请求承载 JSON-RPC(JSON Remote Procedure Call)消息,支持以流式方式返回结果。
在本文中,后端 MCP Server 需要提供可被 AgentKit 网关调用的 Streamable HTTP 端点,例如https://your-mcp-server.internal:8080/mcp/v1(路径可自定义)。
- tools/list:用于枚举后端 MCP Server 提供的工具列表,返回result.tools数组。
- tools/call:用于调用某个工具,通常包含工具名与入参(例如 {"query": "xxx"})。
MCP 工具集用于在 AgentKit 中对工具进行组织、检索与授权管理。
- 网关会将后端已有 MCP Server 的 tools/list 响应透传给平台侧。
- 在 AgentKit 中,可以将 MCP 服务关联到 MCP 工具集,实现工具的统一编排与管理。
- 已有 MCP Server 可正常运行,且后端必须实现 MCP 协议的 Streamable HTTP 传输端点,能响应 tools/list 与 tools/call 请求,如:https://your-mcp-server.internal:8080/mcp/v1。
- 已具备可访问的网络环境,即 AgentKit 网关能访问已有 MCP Server 地址。
说明
当前 AgentKit 网关暂不支持私网 IP 地址作为后端,建议您使用如下两种方式实现网络环境的可达性。
- 同 VPC:火山引擎同 VPC(Virtual Private Cloud)下子网间网络默认互通,可内网直达。
- 已准备出站凭据。已有 MCP Server 作为后端服务,需提前准备 API Key / Token 以作为 AgentKit 中 MCP 服务的出站凭据(例如Authorization: Bearer <token>或自定义 Header)。
- (可选)已创建网关实例。本文演示操作均以共享模式创建 MCP 服务和 MCP 工具集。如需在生产环境中使用,建议选择专属网关模式,需提前创建网关实例,详见创建企业网关实例。
- AgentKit 网关仅支持 MCP 2025-03-26 及之后协议版本的 Streamable HTTP 传输,不支持直接接入 stdio 传输 / SSE(Server-Sent Events)-only 的 MCP Server。如需接入,请先使用 mcp-proxy 或同类工具将 stdio 进程或 SSE-only 服务封装为 Streamable HTTP 端点,再按本文流程接入。
- 如果接入的已有 MCP Server 是第三方 MCP Server(例如 GitHub MCP、Notion MCP),需额外注意 AgentKit 网关要能访问第三方公网域名,确保出站安全组与代理策略允许 AgentKit 网关的访问请求。
下文以“企业自建内部 MCP Server”为例,介绍完整的已有 MCP Server 接入 AgentKit MCP 服务的流程。本文操作假设有 2 个 自建的内部 MCP Server,且均部署在第三方云上(如阿里云),本文通过公网访问后端服务(自建的内部 MCP Server)的方式,实现网络的可达性。
向已有 MCP Server 的 Streamable HTTP 端点发送一次 tools/list 请求,用于验证网络连通性与协议可用性。示例请求代码如下:
curl -i -N --max-time 20 \
-X POST 'https://<mcp server url>' \
-H 'Authorization: Bearer <apikey>' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
"protocolVersion": "2025-11-25",
"name": "curl-mcp-smoke-test",
参数配置表
返回 JSON-RPC 响应,并包含 result.tools 数组表明已有 MCP Server 可达;若出现超时、拒绝连接或报错 5xx,请先排查网络、路径与已有 MCP Server 状态,再继续后续操作。
步骤二:创建 MCP 服务并配置入站认证和出站认证
- 在左侧导航树中选择“网关 > MCP 接入”,在 MCP 服务页签单击“创建 MCP 服务”按钮。
-
- 单击“创建”按钮,完成第一个已有 MCP Server 对接 AgentKit 的 MCP 服务创建。
- 参考上述步骤2 ~ 步骤4,完成第二个已有 MCP Server 对接 AgentKit 的 MCP 服务创建。
- 操作成功可分别在新创建的 MCP 服务“基本信息”页签下,看到对应服务的 MCP 访问端点。
-
注意
- 必须操作:通过 AgentKit 控制台创建 Agent 并在 Agent 中集成从 REST API / OpenAPI 转换的工具。
- 可以跳过:通过 VeADK 在 Agent 中集成从 REST API / OpenAPI 转换的工具;MCP 服务中的暴露的 MCP 工具数量较少,无需使用 MCP 工具集进行分类管理。
- 本文由于有两个 MCP 服务,为便于工具管理,所以本文操作需要配置 MCP 工具集。
- 在左侧导航树中选择“网关 > 接入”,在 MCP 工具集页签单击“创建 MCP 工具集”按钮。
-
- 单击“创建”按钮,完成 MCP 工具集的创建操作,成功创建的结果如下。
- 在新创建的 MCP 工具集“MCP 工具”页签下,可看到创建时勾选的工具。
-
- 在新创建的 MCP 工具集“调试”页签下,可按照界面步骤测试成功。
- Step 2:从已有 MCP Server 接入的工具中,选择一个进行调试。
- Step 3:输入必要参数,单击“测试工具”按钮。
-
至此已成功把企业已有的自建 MCP Server 接入到 AgentKit,在 AgentKit 的 MCP 工具集中已暴露这些自建 MCP Server 的工具。后续步骤是把 MCP 工具集的信息集成到 Agent 中,集成后 Agent 可统一调用这些工具,而无需对接每个 MCP Server。
步骤四:Agent 代码集成 MCP 工具集并验证
此处在通过 VeADK 构建的 Agent 中集成 MCP 工具集,目的是在 Agent 代码中连接 AgentKit 网关暴露的 MCP 端点,并携带入站凭证完成工具发现与工具调用。 - 在 MCP 工具集 mcp_toolset_doc 的“基本信息”页签下,获取 MCP 工具集的 URL 信息和入站身份认证 API Key。
-
- 在火山引擎访问控制控制台“API 访问密钥”下,单击“创建 Access Key”按钮创建 Access Key,创建成功后复制 Access Key ID(AK)和 Secret Access Key(SK)信息。
-
- 您本地 VeADK 构建的 Agent 项目结构如下所示,需为 Agent 添加 AK/SK 信息和 MCP 工具集信息。
├── __init__.py # 模块导出文件
├── .env # 环境变量文件,需要在这里配置您所需的环境变量信息
└── agent.py # Agent 定义文件
- 在您本地终端中执行如下命令,设置环境变量,添加 AK/SK 信息。
注意
由于 AK/SK 属于高敏感凭据,直接写入.env等静态配置文件存在泄露风险,在本地开发环境中配置火山引擎 AK/SK 时,推荐通过终端会话级环境变量导出的方式管理。
export VOLCENGINE_ACCESS_KEY=<your_access_key>
export VOLCENGINE_SECRET_KEY=<your_secret_key>
- 在创建了 Agent 的虚拟环境中执行命令cd <项目根目录>,进入项目根目录。
- 按i键进入编辑模式,在.env文件中,填写如下内容添加 MCP 工具集配置。
TOOL_MCP_ROUTER_URL=<tool_mcp_router_url>
TOOL_MCP_ROUTER_API_KEY=<tool_mcp_router_api_key>
- 按esc键退出编辑模式,输入:wq保存并退出文件。
- 查询 Agent 可调用的 MCP工具,可看到返回的工具列表与 MCP 工具集中勾选的工具及企业已有 MCP Server 的工具一致。
-
- 在本地终端执行source .venv/bin/activate命令重新激活 VeADK 虚拟环境。若已在 VeADK 虚拟环境,请跳过本步骤。
- 执行cd <项目根目录>命令,进入 Agent 项目的根目录。
- 执行agentkit launch命令,发布 Agent 到 AgentKit 智能体运行时。
- 输入提示词“你有哪些 MCP 工具”,成功返回企业已有 MCP Server 中的工具。
-