跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Go / GolangAI

基于 Higress 网关将 REST API 转换为 MCP Server 工具

Higress 网关新增 MCP Server 插件功能,允许开发者无需编写代码即可将现有的 REST API 转换为 AI 助手可调用的工具。该方案支持统一认证、鉴权与限流,提供灵活的请求参数传递方式(如 JSON、表单、URL 参数)及响应模板配置,结合 GJSON 语法处理数据,帮助快速构建 AI Agent 的数据源支持。

链路追踪发布于 2026/2/14更新于 2026/6/916 浏览
基于 Higress 网关将 REST API 转换为 MCP Server 工具

利用 Higress 网关实现 REST API 到 MCP Server 的转换

Higress 是一款云原生 API 网关,集成了流量、微服务及安全网关能力。它基于 Istio 和 Envoy 开发,支持使用 Go/Rust/JS 等语言编写 Wasm 插件。除了常规的流量治理,Higress AI 网关现在支持多种 AI 服务提供商(如 OpenAI、DeepSeek、通义千问等),并具备令牌限流、消费者鉴权、WAF 防护及语义缓存等功能。

核心能力:MCP Server 插件

MCP(Model Context Protocol)是为 AI 助手设计的协议,定义了 AI 模型与外部工具和资源交互的标准方式。通过 Higress 的 mcp-server 插件,我们可以将现有的 REST API 快速转换为 AI 助手可调用的工具,无需额外编写代码。

这一方案的主要优势在于:

  • 零代码集成:直接配置即可将 REST API 暴露为 AI 工具。
  • 统一治理:复用 Higress 网关的认证、鉴权、限流和可观测性能力,确保安全性与性能。
  • 快速部署:利用 Higress 插件机制,几分钟内即可添加新的 MCP Server。

该插件默认在标准阶段执行,优先级设为 30。

配置结构详解

配置主要分为 Server 级和 Tool 级两部分。

Server 配置

这是 MCP Server 的基础信息。如果是内置 Server(如 quark-search),只需配置名称;若是 REST-to-MCP 场景,可自定义名称。

字段名类型必填描述
server.namestring是MCP Server 的名称
server.configobject否服务器配置,如 API 密钥等
server.allowToolsarray否允许调用的工具列表,不指定则允许所有

REST-to-MCP 工具配置

这是核心部分,定义如何将 HTTP 请求映射为 AI 工具调用。

字段名类型必填描述
toolsarray否工具配置列表
tools[].namestring是工具名称
tools[].description
string
是
工具功能描述
tools[].argsarray是参数定义列表
tools[].requestTemplateobject是HTTP 请求模板
tools[].responseTemplateobject是响应转换模板
参数定义细节

每个工具参数都需要明确类型和行为。支持的类型包括 string、number、integer、boolean、array 和 object。对于数组或对象类型,需进一步定义 items 或 properties 模式。

请求参数传递方式

这里有四种互斥的方式,决定了参数如何进入 HTTP 请求:

  1. 表单提交 (argsToFormBody):参数以 application/x-www-form-urlencoded 格式编码,自动设置 Content-Type。
  2. URL 查询参数 (argsToUrlParam):参数追加到 URL 中。
  3. JSON 请求体 (argsToJsonBody):参数作为 JSON 对象发送,自动添加 Content-Type: application/json。
  4. 手动构建 (body):最灵活,完全自定义请求体内容。

例如,使用手动构建时,可以这样写:

requestTemplate:
  body: |
    {
      "query": "{{.args.query}}",
      "filters": {{toJson .args.filters}},
      "options": { "limit": {{.args.limit}} }
    }

模板语法说明

配置中大量使用了模板引擎来动态填充数据。它结合了 Go Template 和 GJSON 路径语法。

  • 访问配置值:使用 {{.config.字段名}}
  • 访问工具参数:使用 {{.args.参数名}}
  • GJSON 路径:用于解析 JSON 响应,支持点表示法、数组索引、迭代和过滤。

例如,访问用户列表中的第一个名字:users.0.name。如果需要获取所有年龄大于 30 的用户姓名:users.#(age>=30)#.name。

配置示例

内置 Server 示例

配置一个简单的内置搜索服务:

server:
  name: "quark-search"
  config:
    apiKey: "xxxx"

REST API 转换示例

下面是一个将高德地图地理编码 API 转换为 MCP 工具的完整配置。注意 YAML 的缩进和引号的使用。

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: false
        - name: output
          description: "输出格式"
          type: string
          enum:
            - json
            - xml
          default: json
      requestTemplate:
        url: "https://restapi.amap.com/v3/geocode/geo"
        method: GET

通过这种方式,任何 REST API 都可以被快速封装成 AI Agent 可用的工具,无需修改原有后端代码,极大提升了开发效率。

目录

  1. 利用 Higress 网关实现 REST API 到 MCP Server 的转换
  2. 核心能力:MCP Server 插件
  3. 配置结构详解
  4. Server 配置
  5. REST-to-MCP 工具配置
  6. 参数定义细节
  7. 请求参数传递方式
  8. 模板语法说明
  9. 配置示例
  10. 内置 Server 示例
  11. REST API 转换示例
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 赛博塔罗 Java 与前端实现方案
  • OpenClaw 安装与飞书机器人接入指南
  • AIGC 22 个基本概念详解:从原理到应用
  • Python 文件路径详解:绝对路径、相对路径与 pathlib
  • Hadoop 2.x Eclipse 插件编译与安装实战
  • Neo4j 安装与配置教程(Windows/MacOS/Linux)
  • 云端多模型并行部署:Youtu-LLM 写作能力对比测试
  • macOS C++ 开发环境搭建与实战指南
  • Web 前端开发基础核心知识点梳理
  • Go 语言核心概念与实战速成指南
  • VS Code 中通过 DBHub-MCP 连接云端 MySQL 至 Copilot
  • 22 个核心概念,彻底搞懂 AIGC 基础
  • Python 依赖注入(DI)三种实现方式与可测试性实践
  • LFM2.5-1.2B-Thinking 模型:打造个人 AI 写作助手
  • Qt C++ 场景图架构核心类详解
  • NVIDIA AI Enterprise 运维实战:医疗行业培训路径分析
  • C++ STL list 容器详解:使用与模拟实现
  • 深入理解 Linux %IOWAIT 指标含义
  • VS Code Python 解释器选择报错及受限模式修复
  • 主流开源 AI 无人机巡检系统项目调研

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online