本文以 Nacos v3.2.2 和 Higress v2.2.5 为例,介绍如何零代码改动将存量 API 转换成 MCP 服务,方便 AI 通过 Harness 低成本调用存量 API。可作为官方文档 存量API转换MCP手册 的补充,及 后端开发必看:零代码实现存量服务改造成MCP服务 的内容更新。
整体结构类似下图:
- API 自动或手动注册到 Nacos 中
- Higress 通过 Nacos 获取 API 信息,自动生成 MCP 服务
- AI Agent(本文使用 DeepSeek Harness)通过 MCP 服务调用存量 API
环境准备
存量 API 工程
以一个只有 Swagger 2.0 接口的存量 API 工程为例,假设 API 地址为 http://localhost:8090,Swagger 地址为 http://localhost:8090/v2/api-docs 。
将存量 API 注册到 Nacos 引擎中,可通过 Nacos SDK 或 Spring Cloud 等框架进行注册或自动注册。
也可以 OpenAPI 3.x 格式的 JSON/YAML 文件直接 导入至 Nacos 中 完成 MCP 工具的注册。
Swagger 2.0 规范在 2015 年被捐赠 给 Linux 基金会旗下的 OpenAPI Initiative 后,更名为 OpenAPI 2.0,但与 OpenAPI 3.x 规范有较大差异,直接在 Nacos 中导入 Swagger 2.0 的 JSON 文件会报错,可先通过 swagger2openapi 工具,或直接以对话方式让 AI 帮助执行格式转换。
关于 Swagger 和 OpenAPI 的更多信息可见:OpenAPI vs Swagger: what’s the difference between the two specs? 。
Nacos
在运行环境中部署版本 3.0.0 及以上的 Nacos 引擎,可参考 Nacos快速开始,Nacos Docker 快速开始 或 Nacos Kubernetes 快速开始。
假设部署后 Nacos Console 的访问地址为 http://localhost:8080 ,HTTP API 端口为 8848,客户端 gRPC 请求服务端端口为 9848,Nacos 管理员用户 nacos 的密码也设为 nacos。
Higress
部署 Higress-AI:在运行环境中部署版本 2.1.2 及以上的 Higress,可参考 Higress Docker 快速开始 或 Higress Kubernetes 快速开始。
假设部署后 Higress UI 控制台入口为 http://localhost:8001,网关 HTTP 协议入口为 8002 端口。
在使用 Higress 进行 MCP 协议转换时,如果要使用 HTTP with Server-Sent Events(SSE) 传输机制,则还需要部署一个 Redis 服务,并在 Higress 配置中指定 Redis 的地址和端口。但该传输机制已在 2025 年 03 月 26 日被 Streamable HTTP 取代,@deepseek-ai/dsh-mcp-client 中的
transport字段也只支持stdio或streamable-http,本文示例中将使用streamable-http传输机制(stdio适用于客户端将 MCP 服务器作为子进程启动,仅限本地使用),因此可不需要部署 Redis 服务。
Nacos 中进行的配置
1 创建 MCP Server

2 配置 MCP Server 基本信息、HTTP 转 MCP、导入工具

服务名称后续会用到,协议类型选择Streamable;- 打开
HTTP 转 MCP开关,以直连新服务的方式直接访问http://localhost:8090存量 API 工程; 工具管理中选择从OpenAPI导入,然后选择 OpenAPI 3.x 的 JSON 或 YAML 文件导入;- 完成配置后点击右下角
发布按钮。
3 手动添加工具
如果接口数量较少,也可通过 新建工具 按钮手动添加工具,配置工具对应接口的出入参及请求和响应模板,如调用 OpenAI 格式的 /v1/models 接口获取可用模型信息:
- 请求模板
{
"url": "/v1/models",
"method": "GET",
"headers": [
{
"key": "Authorization",
"value": "Bearer {{ .args.apiKey }}"
}
]
}
- 响应模板
{
"body": "{{ . }}"
}
模板更多语法可见:MCP模版配置手册 。
Higress 中进行的配置
1 编辑全局配置 higress-config,开启 MCP Server 功能

2 创建 Nacos 3.x 类型的服务来源


类型选择Nacos 3.x;名称随意填写,注册中心地址按实际情况填写,本例中是127.0.0.1;注册中心访问端口填写 Nacos HTTP API 端口,如8848;是否开启了认证选择是,填写 Nacos 管理员用户名nacos及密码,本例中也是nacos;- 如果在 Nacos 中创建 MCP Server 时使用了命名空间,
Nacos命名空间ID要填写命名空间 ID(不是命名空间名称)。如果使用的是默认的public命名空间,此处可以不填; 是否启用MCP Server功能选是;MCP Server路由路径前缀可保持默认/mcp,如有修改,之后访问 MCP Server 时也需同时修改。- 完成后点击右上角
确定。
3 在服务列表中检查
在服务列表中,检查是否有新配置的服务来源对应的服务记录,如果没有,需要检查一下上一步哪个环节配置出错了。

服务列表中有对应记录,就可以通过 HTTP 协议验证 MCP 服务状态了,URL 为 {Higress 网关 HTTP 协议入口}/{Higress 服务来源中配置的 MCP Server 路由路径前缀}/{Nacos MCP Server 中配置的服务名称},如:
$ curl http://127.0.0.1:8082/mcp/nacos-mcp-server -I
HTTP/1.1 400 Bad Request
vary: Accept-Encoding
date: Thu, 29 Oct 2026 09:25:31 GMT
server: istio-envoy
connection: close
transfer-encoding: chunked
状态码 400 代表服务已可用,否则返回的状态码是 404。
本例中,存量 API 服务转换出来的 MCP Server 地址即为 http://127.0.0.1:8082/mcp/nacos-mcp-server,可将其配置到 Harness 工具中供 AI 调用。
DeepSeek Harness 中进行的配置
DeepSeek Harness 版本:
0.2.1-rc.5
DeepSeek Harness 中已内置了 MCP 资源访问插件 @deepseek-ai/dsh-mcp-resources,只需配置 MCP 客户端 @deepseek-ai/dsh-mcp-client 。
web profile 中默认没有 dsh-mcp-client 插件,添加时需要在 ~/.dsh/profiles/web/cordis.patch.yml 中使用 insert 添加:
- insert:
- id: streamable-http-mcp-test
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: test
transport: streamable-http
url: http://127.0.0.1:8082/mcp/nacos-mcp-server
之后即可在内置插件中搜索到新增的 mcp-client 插件:

现在,通过 Harness 智能的使用存量 API 能力吧。