基于 Higress 网关将 REST API 转换为 MCP Server 工具
Higress 是一款云原生 API 网关,集成了流量、微服务及安全网关功能。它基于 Istio 和 Envoy 构建,支持 Go、Rust、JS 等语言编写的 Wasm 插件,并提供开箱即用的控制台。除了常规的 AI 网关能力(如令牌限流、语义缓存),Higress 还引入了 MCP Server 插件,让开发者能更便捷地连接 AI 模型与外部工具。
MCP Server 插件概览
MCP(Model Context Protocol)定义了 AI 模型与外部工具交互的标准。借助 Higress 的 mcp-server 插件,你可以直接将现有的 REST API 转化为 AI 助手可调用的工具,而无需额外编写代码。这不仅实现了统一认证、鉴权和限流,还能利用 Higress 的可观测性保障系统稳定性。
插件默认在标准阶段执行,优先级设为 30。
核心配置项解析
配置主要分为 Server 基础信息和 REST-to-MCP 工具定义两部分。
Server 基础配置
这里定义 MCP Server 的身份。如果是内置服务(如 quark-search),只需指定名称;若是自定义 REST 转换场景,可自由命名。
| 字段名 | 类型 | 必填 | 描述 |
|---|---|---|---|
server.name | string | 是 | MCP Server 名称 |
server.config | object | 否 | 扩展配置,如 API Key |
server.allowTools | array | 否 | 允许调用的工具白名单 |
REST-to-MCP 工具定义
这是最关键的部分,你需要告诉网关如何将 HTTP 请求映射为 AI 工具调用。
- 工具元数据:
name和description用于让 AI 理解这个工具是做什么的。 - 参数定义 (
args):详细描述输入参数,包括类型(string, number, boolean 等)、是否必需及默认值。对于复杂结构,支持array和object嵌套。 - 请求模板 (
requestTemplate):定义如何构造 HTTP 请求。url和method是基础。- 参数传递方式有四种互斥选项:直接作为 JSON Body (
argsToJsonBody)、查询参数 (argsToUrlParam)、表单提交 (argsToFormBody) 或手动构建 Body (body)。
- 响应模板 (
responseTemplate):使用 GJSON 路径语法从原始 HTTP 响应中提取并转换数据,使其符合 AI 预期的格式。


