Higress 是一款云原生 API 网关,集成了流量、微服务及安全网关功能。基于 Istio 和 Envoy 开发,支持 Go/Rust/JS 等语言编写 Wasm 插件。其 AI 网关特性支持多种 AI 服务提供商,并具备令牌限流、消费者鉴权等功能。
其中,mcp-server 插件专为 AI 助手设计,基于 Model Context Protocol (MCP),定义了 AI 模型与外部工具交互的标准。它允许将现有 REST API 转换为 AI 助手可调用的工具,无需编写额外代码。借助 Higress 网关的能力,还能统一处理认证、鉴权、限流和可观测性,实现快速构建和部署。
插件默认在标准阶段执行,优先级设为 30。配置主要分为 Server 配置和 REST-to-MCP 工具配置两部分。Server 名称必填,REST-to-MCP 场景下可自定义;工具列表需定义名称、描述及参数结构。参数类型支持 string、number、integer、boolean、array 及 object,并可指定是否必需或默认值。
请求参数传递有四种互斥方式:argsToFormBody(表单编码)、argsToUrlParam(查询参数)、argsToJsonBody(JSON 体)以及 body(手动构建)。模板语法采用 GJSON Template,结合了 Go 模板和 GJSON 路径,方便访问配置值和工具参数,也能处理响应转换。
这里有两个典型的配置场景可以参考。首先是内置 MCP Server 的用法:
server:
name: "quark-search"
config:
apiKey: "xxxx"
其次是基础配置示例,展示如何将高德地图 API 转换为 MCP 工具:
server:
name: rest-amap-server
config:
apiKey: your-api-key-here
tools:
- name: maps-geo
description: "将详细的结构化地址转换为经纬度坐标。支持对地标性名胜景区、建筑物名称解析为经纬度坐标"
args:
- name: address
description: "待解析的结构化地址信息"
type: string
required: true
- name: city
description: "指定查询的城市"
type: string
required:
[, ]


