当您希望在 AgentKit 平台让 Agent 通过 MCP 调用现有的 HTTP 服务,但后端服务(MCP Server)不开放公网访问、仅能在私网通过域名访问时,可以参考本文完成接入。
- MCP Server 部署在 VPC、企业 IDC 或第三方云上私网环境。
- 需要通过 AgentKit 专属网关统一承接 MCP 服务入口,并在私网安全边界内完成调用。
本文假定后端业务部署在第三方云上(如“腾讯云”)VPC,后端以腾讯云 Private DNS 中的私网域名对内暴露,现在需要在 AgentKit 中把该私网域名作为 MCP 服务后端,并将 MCP 服务关联到 AgentKit 专属网关使用。
在上述场景下,需要以 AgentKit 专属网关承接 MCP 请求,通过私网出口访问后端服务,并通过私网 DNS 转发完成目标域名解析。实施时可按四层理解:专属网关入口、MCP 服务映射、私网网络连通、私网 DNS 解析。四层配置完整后,Agent 才能稳定调用后端能力。
- 已放通业务端口,以及 DNS 所需的 UDP/TCP 53(如使用自定义 DNS 端口,以实际端口为准)。本文操作需要创建腾讯云 Private DNS 入站 Endpoint,在腾讯云 Private DNS 的“内网解析 / 服务地址”中新建入站终端节点,选择已与火山 VPC 互通的腾讯云 VPC,并记录入站服务 IP 地址。DNS 端口按标准使用 53,建议同时放通 UDP 53 和 TCP 53。相关配置可参考腾讯云官方文档 Private DNS 服务地址。
说明
如果业务 Server 或 DNS 部署在阿里云,配置思路和腾讯云相同:创建 PrivateZone 入站终端节点,记录入站流量服务 IP,并确保安全组放通 53 端口。相关配置可参考阿里云官网文档 阿里云入站终端节点。 - 已完成 AgentKit 专属网关网络规划。明确后续创建的专属网关、MCP 服务所在地域、项目、以及支持被私网访问的 VPC 和子网。
- 准备后端私网域名(如 mcp-api.example.internal)、端口、MCP 路径、认证信息,以及在腾讯云侧完成允许访问该后端的安全组规则配置。
- 后端服务可正常运行,且后端必须实现 MCP 协议的 Streamable HTTP 传输端点,能响应 tools/list 与 tools/call 请求。
- 准备后端服务 API Key / Token 以作为 AgentKit 中 MCP 服务的出站凭据(例如Authorization: Bearer <token>或自定义 Header)。
向已有 MCP Server 的 Streamable HTTP 端点发送一次 tools/list 请求,用于验证网络连通性与协议可用性。示例请求代码如下:
参数配置表
返回 JSON-RPC 响应,并包含 result.tools 数组表明已有 MCP Server 可达;若出现超时、拒绝连接或报错 5xx,请先排查网络、路径与已有 MCP Server 状态,再继续后续操作。
网关实例是 AgentKit 的专属网关资源,用于为模型服务、MCP 服务和 MCP 工具集等资源提供统一访问入口。企业网关实例适用于生产环境或需要独立容量、资源隔离、访问入口统一管理和费用独立核算的业务场景。
- 在左侧导航树中选择“网关 > 网关总览”,在专属网关页签下单击“创建网关”按钮。
-
- 在页面右侧的配置详情和费用明细区域,确认当前配置对应的规格、网关类型、入站访问方式和费用项,阅读并勾选“我已阅读并同意 xxx”,单击“立即购买”按钮,完成操作。
说明
下图价格仅为示例没有指导意义,具体费用请以实际控制台展示为准。
-
-
- 在 MCP 页签下 MCP 服务中,单击“创建 MCP 服务”按钮。
-
- 单击“创建”按钮,完成 MCP Server 对接 AgentKit 的 MCP 服务创建。
后端服务类型为私网域名时,需额外调用网络侧 API 完成相关私网出口网络配置,服务才能正常通信。
- 单击 此处,在跨服务访问请求页面单击“立即授权”按钮,创建 ServiceRoleForPrivateLink 角色,允许私网连接访问您账号下的其他云服务资源,用于网络打通。
-
- 返回 AgentKit 控制台 网关实例页面,单击网关名称 prod_mcp_gateway ,在“配置信息”页签下获取“私有网络”、“子网”、“空间网络服务(SpaceNetwork)”与“出向网络服务(EgressService)” ID 信息。
-
- 新增私网出口,配置的 VPC、子网必须是与 AgentKit 网关实例入站配置中的 VPC 和子网严格一致,此处配置等同于 MCP 服务的出站网络配置。
-
- 查看空间信息,获取出口 ID(PrivateEgressEndpoint ID)。
-
完成网络互通后,还需要确保专属网关能够解析后端服务的私网域名。
参考 开启私网出口,配置查到的“出向网络服务(EgressService)”ID,开启私网出口域名解析。本文操作需要把腾讯云 Private DNS 入站 Endpoint 的 IP 地址和端口传入。 说明
建议按私网域名后缀维度配置,例如客户后端是 mcp-api.service.internal.example.com,则解析范围应覆盖 service.internal.example.com或实际私有域的根域。
步骤五:Agent 代码集成 MCP 工具集并验证
此处在通过 VeADK 构建的 Agent 中集成 MCP 工具集,目的是在 Agent 代码中连接 AgentKit 网关暴露的 MCP 端点,并携带入站凭证完成工具发现与工具调用。 - 在 MCP 服务 mcp_service_fgajjno5 的“基本信息”页签下,获取 MCP 服务的 URL 信息和入站身份认证 API Key。
-
- 在火山引擎 访问控制控制台 “API 访问密钥”下,单击“创建 Access Key”按钮创建 Access Key,创建成功后复制 Access Key ID(AK)和 Secret Access Key(SK)信息。
-
- 您本地 VeADK 构建的 Agent 项目结构如下所示,需为 Agent 添加 AK/SK 信息和 MCP 工具集信息。
- 在您本地终端中执行如下命令,设置环境变量,添加 AK/SK 信息。
注意
由于 AK/SK 属于高敏感凭据,直接写入.env等静态配置文件存在泄露风险,在本地开发环境中配置火山引擎 AK/SK 时,推荐通过终端会话级环境变量导出的方式管理。
- 在创建了 Agent 的虚拟环境中执行命令cd <项目根目录>,进入项目根目录。
- 按i键进入编辑模式,在.env文件中,填写如下内容添加 MCP 服务配置。
- 按esc键退出编辑模式,输入:wq保存并退出文件。
- 查询 Agent 可调用的 MCP工具,可看到返回的工具列表与 MCP 服务中爆破的工具及后端 MCP Server 的工具一致。
-
- 在本地终端执行source .venv/bin/activate命令重新激活 VeADK 虚拟环境。若已在 VeADK 虚拟环境,请跳过本步骤。
- 执行cd <项目根目录>命令,进入 Agent 项目的根目录。
- 执行agentkit launch命令,发布 Agent 到 AgentKit 智能体运行时。
- 输入提示词“你有哪些 MCP 工具”,成功返回企业已有 MCP Server 中的工具。
-