跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言AI

使用 Higress 将 REST API 转换为 MCP Server

利用 Higress 网关的 MCP Server 插件,可将现有 REST API 快速转换为 AI 助手可调用的工具,无需编写额外代码。该方案支持统一认证、鉴权与限流,确保安全性与性能。通过配置请求模板与响应转换,结合 GJSON 语法灵活处理参数传递与数据清洗,涵盖表单、URL 参数及 JSON 体等多种方式。内置服务与自定义 API 均可轻松接入,显著降低 AI Agent 开发外部数据源集成的复杂度。

战神发布于 2026/3/16更新于 2026/10/1688 浏览
使用 Higress 将 REST API 转换为 MCP Server

Higress 作为云原生 API 网关,除了常规的流量治理,在 AI 领域也有独特优势。它基于 Istio 和 Envoy 开发,允许开发者使用 Go、Rust 或 JS 编写 Wasm 插件,并提供了开箱即用的控制台。特别是其 AI 网关能力,支持 OpenAI、DeepSeek 等多种服务,具备令牌限流、鉴权和语义缓存等功能。

今天重点聊聊如何用 Higress 的 MCP Server 插件,把现有的 REST API 快速变成 AI 助手能调用的工具。

核心能力

MCP(Model Context Protocol)定义了 AI 模型与外部工具交互的标准。借助 Higress 的这个插件,你不需要写一行业务代码,就能完成以下工作:

  1. 零代码转换:直接把 REST API 暴露给 AI 调用。
  2. 统一治理:复用网关的认证、鉴权、限流和可观测性能力,保障安全。
  3. 快速部署:通过插件机制动态添加新的 MCP Server。

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

配置详解

配置主要分为 Server 基础信息和具体的 REST-to-MCP 工具定义。

Server 基础配置
字段名类型必填描述
server.namestring是MCP Server 名称。内置服务如 quark-search 只需填这个;REST 场景可自定义。
server.configobject否扩展配置,比如 API 密钥等。
server.allowToolsarray否允许调用的工具白名单,不填则全开。
工具定义 (REST-to-MCP)

这是最关键的部分,你需要告诉网关如何构造 HTTP 请求以及如何解析返回结果。

字段名类型必填描述
toolsarray否工具列表。
tools[].namestring是工具名称。
tools[].descriptionstring是工具的功能描述,AI 会据此理解何时调用。
tools[].argsarray是参数定义列表。
tools[].requestTemplateobject是HTTP 请求模板。
tools[].responseTemplateobject是响应转换模板。

参数类型支持 string、number、integer、boolean、array 和 object。对于数组或对象,可以通过 items 或 properties 进一步定义结构。

请求与响应模板

这里使用了 GJSON Template 语法,结合了 Go 模板和 GJSON 路径。

请求参数怎么传? 有四种互斥的方式,根据后端接口需求选择:

  • 表单提交:argsToFormBody,自动加 application/x-www-form-urlencoded 头。
  • URL 参数:argsToUrlParam,拼接到 URL 后面。
  • JSON Body:argsToJsonBody,自动加 application/json 头。
  • 手动构建:body,最灵活,适合复杂场景。

例如手动构建 JSON 请求体:

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

注意这里的 {{.args.xxx}} 是访问工具传入的参数,{{toJson ...}} 用于序列化对象。

响应怎么处理? 同样用 GJSON 路径访问返回的 JSON 字段,配合模板函数(如 add、upper)和控制结构(if、range)进行清洗。

实战示例

1. 内置服务配置 如果是像 quark-search 这样的内置 MCP Server,配置很简单:

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

2. 转换高德地图 API 下面是一个将高德地理编码接口转换为 MCP 工具的完整配置。你可以看到如何通过 args 定义输入,再通过 requestTemplate 映射到 GET 请求。

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

通过这个配置,AI Agent 就能直接调用这个工具获取地理位置信息,而无需你再去写适配层代码。这种模式极大地降低了 AI 应用接入外部数据的门槛。

目录

  1. 核心能力
  2. 配置详解
  3. Server 基础配置
  4. 工具定义 (REST-to-MCP)
  5. 请求与响应模板
  6. 实战示例

更多推荐文章

查看全部
  • VSCode AI Copilot 自定义指令配置实战指南
  • Web 自动化测试常用函数解析与场景应用
  • Seedance 2.0 双分支扩散变换器架构深度解析与工程实践
  • C++ 网络编程详解:从原理到实战
  • OpenAI 首款 AI 硬件为笔形设备并研发音频模型;Pickle 四摄 AR 眼镜预售遭质疑
  • 二分查找实战:山峰数组峰顶索引与寻找峰值
  • Windows 系统如何彻底卸载所有 pip 安装的包
  • C++ 线程库与多线程编程详解
  • 免费部署 OpenClaw 龙虾机器人
  • 商汤开源 SenseNova-MARS 多模态搜索推理模型
  • C++ unordered 系列容器使用与底层模拟实现
  • 基于 LangGraph 实现模块化 Skills 型 AI Agent
  • C++ 推箱子游戏实现
  • OpenClaw + Matter 智能硬件控制架构设计:AI 驱动现实世界操作系统
  • C++ 哈希表链地址法(哈希桶)实现
  • VSCode AI Copilot 智能补全失效修复指南
  • AI产品经理面试指南:高频问题与核心能力解析
  • 无线联邦学习:隐私保护下的 AI 协同进化
  • 电池管理系统 BMS 三级架构:BMU、BCU 与 BAU 详解
  • C++ string 类全面解析

相关免费在线工具

  • 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