面向已拥有存量 REST API / OpenAPI 的企业开发者,您可以通过 AgentKit Gateway 的 HTTP 转 MCP 协议模式,把工单、订单、审批、CRM 等后端接口一键包装成 Agent 可调用的 MCP 工具,无需改造后端代码。本文覆盖从准备 OpenAPI 文件、创建 MCP 服务、配置入站/出站认证、生成工具集,到 Agent 代码集成与结果验证的完整闭环流程。
企业内部往往已经沉淀了大量 REST 风格的业务系统:工单系统、订单中心、审批流、CRM、内部知识库检索接口等。要让 Agent 调用这些系统,通常有两条路:
- 改造后端:让每个系统重新实现一套 MCP 协议,此方案成本高、周期长,且需要业务团队配合。
- 在网关侧转换:由 AgentKit Gateway 读取 OpenAPI 描述文件,自动把每个 HTTP 接口映射为一个 MCP 工具,此方案可实现后端零改造。
HTTP 转 MCP 就是第二条路径。它由 Gateway 在入口层完成协议翻译:Agent 侧发起标准的 tools/list、tools/call 请求,Gateway 根据 OpenAPI 定义翻译成后端能识别的 HTTP 请求(GET / POST / PUT / DELETE + JSON Body),并把响应回传给 Agent。
除了协议翻译,Gateway 在入口层还统一提供以下能力:
- 统一入站认证:Agent 调用 Gateway 时通过 API Key 或 OAuth JWT 校验身份,避免后端接口直接对外暴露。
- 统一出站凭据注入:后端系统需要的 API Key / Bearer Token / OAuth Token 集中托管,不进入 Agent 代码。
- 统一工具治理:多个后端 API 可以聚合成一个 MCP 服务或 MCP 工具集入口对 Agent 暴露。
HTTP 转 MCP 是 AgentKit Gateway 提供的一种协议模式。Gateway 读取 OpenAPI 文件,把每个 path 和 method(例如 POST /v1/estimate-calories)的组合自动生成为一个 MCP 工具(例如 estimate_calories)。
- 工具名与描述:默认从 OpenAPI 的 operationId 与 summary / description 提取。
- 工具入参 Schema:从 OpenAPI 的 parameters 与 requestBody 提取,直接暴露给模型。
OpenAPI 文件是描述 REST API 的标准 YAML / JSON 文件,包含服务地址、路径、方法、参数、请求体与响应体结构。
在本文中,OpenAPI 文件是 HTTP 转 MCP 的唯一工具来源——工具名称、描述、参数、Schema 全部来自 OpenAPI 定义。文件质量直接决定模型选工具与传参的准确性。
MCP 工具集是对 MCP 工具进行组织、筛选与检索的入口。在 HTTP 转 MCP 场景下:
- 一份 OpenAPI 通常会生成十几到上百个工具,可以通过 MCP 工具集只挑选真正需要暴露给 Agent 的工具。
- 多个后端系统(工单 + 审批 + CRM)可以聚合到同一个 MCP 工具集,Agent 只对接一个工具入口。
- 工具数量较多时,可开启语义检索模式,模型按用户意图从工具集中动态挑选工具,降低单次 Prompt 中的工具描述占用。
- 已完成对应后端服务的创建及业务的部署。本文操作后端服务部署在云服务器中,相关操作详见购买并使用云服务器实例。
- 已准备符合要求的 OpenAPI 文件。后端接口必须有 Swagger 2.0 或 OpenAPI 3.0 描述文件,文件中需包含服务地址、路径、方法、参数、请求体与响应体定义。
说明
当前仅支持 Swagger 2.0 与 OpenAPI 3.0 格式的 API 描述文件。若后端仅有非规范化的接口文档(例如 Word / Wiki 描述),需要先整理为 OpenAPI 3.0 规范文件后再接入。API 文件的编写规范参见 MCP服务API文件规范与示例。 - 已具备可访问的网络环境,即 AgentKit 网关能访问已有 MCP Server 地址。
说明
当前 AgentKit 网关暂不支持私网 IP 地址作为后端,建议您使用如下两种方式实现网络环境的可达性。
- 同 VPC:火山引擎同 VPC(Virtual Private Cloud)下子网间网络默认互通,可内网直达。
- 出站凭据已就绪。后端 REST API 通常自身要求认证(例如Authorization: Bearer <token>或自定义 Header),需要提前准备好凭据作为 MCP 服务创建时的出站凭据。
- (可选)已创建网关实例。本文演示操作均以共享模式创建 MCP 服务和 MCP 工具集。如需在生产环境中使用,建议选择专属网关模式,需提前创建网关实例,详见创建企业网关实例。
下文以“把制作菜谱的 REST API 接入为 MCP 工具”为例,介绍完整的操作流程。操作所需的工具/文件清单如下:
从后端团队获取 OpenAPI 3.0 描述文件(.yaml 或 .json),并在本地校验其格式与关键字段是否完整。API 文件规范请参见 MCP 服务 API 文件规范与示例。 - 使用 Swagger Editor 或openapi-cli校验文件,确保文件无语法错误。
- 每个接口都有明确的operationId、summary与description信息。
- 入参字段带类型、required标记与自然语言description。
本文操作使用的 OpenAPI 文件为cooking_tools.yaml,一个可用的最小示例(片段):
title: Cooking Tools API
operationId: estimate_calories
description: 根据食材及用量估算一道菜的总热量
required: [name, amount_g]
参数配置说明
步骤二:创建 MCP 服务并配置入站认证和出站认证
- 在左侧导航树中选择“网关 > MCP 接入”,在 MCP 服务页签单击“创建 MCP 服务”按钮。
-
- 单击“创建”按钮,完成 MCP 服务的创建,成功操作结果如下。
- 在新创建的 MCP 服务“基本信息”页签下,可看到 Gateway 为该服务生成的 MCP 访问端点(Agent 侧连接的地址)。
-
- 在新创建的 MCP 服务“MCP 工具”页签下,能看到由 OpenAPI 自动生成的工具,且工具数量与 OpenAPI 中path × method的组合数一致。
-
注意
- 必须操作:通过 AgentKit 控制台创建 Agent 并在 Agent 中集成从 REST API / Open API 转换的工具。
- 可以跳过:通过 VeADK 在 Agent 中集成从 REST API / Open API 转换的工具。
- 本文使用 VeADK 的方式创建 Agent 并集成 MCP,为了覆盖全流程操作,所以本文操作会配置 MCP 工具集。
- 在左侧导航树中选择“网关 > 接入”,在 MCP 工具集页签单击“创建 MCP 工具集”按钮。
-
- 单击“创建”按钮,完成 MCP 工具集的创建操作,成功创建的结果如下。
- 在新创建的 MCP 工具集“MCP 工具”页签下,可看到创建时勾选的工具。
-
- 在新创建的 MCP 工具集“调试”页签下,可按照界面步骤测试成功。
- Step 2:输入跟此次工具相关的提示词,系统自动匹配最合适的工具。本文操作演示中, 由 REST API / OpenAPI 转换的工具为烹饪相关,此处输入“做大米饭”。
- Step 3:系统根据提示词检索出可用的工具,选择一个目标工具进行调试。
-
步骤四:Agent 代码集成 MCP 工具集并验证
此处在通过 VeADK 构建的 Agent 中集成 MCP 工具集,目的是在 Agent 代码中连接 Gateway 暴露的 MCP 端点,并携带入站凭证完成工具发现与工具调用。 - 在 MCP 工具集 mcp_toolset_syc 的“基本信息”页签下,获取 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>
- 在.env文件中,填写如下内容添加 MCP 工具集配置。
TOOL_MCP_ROUTER_URL=<tool_mcp_router_url>
TOOL_MCP_ROUTER_API_KEY=<tool_mcp_router_api_key>
- 操作结果:Agent 已成功自动识别 MCP 工具集中的工具,返回的工具列表与 MCP 工具集中勾选的工具一致。
-
- 在本地向 Agent 发送提示词“使用 MCP 工具内容,告诉我水煮蛋的步骤”,Agent 能成功调用 MCP 工具集中的工具处理任务。
-
- 将代码推送至 AgentKit 控制台智能体运行时中。
- 在本地终端执行source .venv/bin/activate命令重新激活 VeADK 虚拟环境。若已在 VeADK 虚拟环境,请跳过本步骤。
- 执行cd <项目根目录>命令,进入 Agent 项目的根目录。
- 执行agentkit launch命令,发布 Agent 到 AgentKit 智能体运行时。
- 登录 AgentKit控制台。在智能体列表中单击目标 Agent 名称,在 Agent 详情页单击“在线测试”按钮。
-
- 输入提示词“你有哪些 MCP 工具”,成功返回由 REST API 接入的、制作菜谱的工具。
-