基于 Nacos + Higress 的MCP 开发新范式,手把手教程来了!
子葵
|
2025年7月17日
|
作者:子葵
Naocs 3.0 中已经支持和Higress配合使用实现存量Http转化为MCP服务,3.0.1 及以上版本在支持存量转化的基础上同时支持同步Nacos中已经注册的原生的MCP服务,并在Higress上进行暴露,完成了对所有Remote Server类型的代理访问支持。

通过结合 Spring AI Alibaba,FastMCP 等框架,可以实现应用自动注册到Nacos中,并通过 Higress 自动将注册的应用对外暴露给Client侧访问。此文档从0到一完成Higress+Nacos配合实现REST API转MCP和透明代理暴露标准 MCP 服务。
环境准备
创建独立的docker网络
Higress 部署
使用docker部署Higress
部署redis
配置MCP Server的全局参数
修改配置文件
受 Docker 运行环境的限制,非 Linux 操作系统在修改 yaml 文件之后,需要等待一段时间才能让新的配置生效。如果希望立即生效的话,可以使用以下命令重启 higress-ai 容器:
Nacos部署
通过docker直接部署
配置Higress 连接到Nacos mcp registry
在Higress 服务来源中增加Nacos3.x服务来源
打开 higress 控制台,部署主机地址:8001, 点击服务来源添加,并添加nacos3.x 服务来源,地址填写 nacos

服务部署和验证
REST API 转 MCP
进入nacos控制台,访问 部署主机ip:8081,点击 mcp regsitry 并创建 mcp server


添加 TOOL,Tool 名称为 get_weather, 参数为 city, 协议转化配置为
并发布为最新版本, 通过 sse ednpoint 直接访问 http://宿主机host:8080/mcp/amap/sse

在 3.0.0 基础上,3.0.1 支持在模版中引用 Nacos 配置,并且可以通过动态修改配置实现对模版的动态控制。

通过Nacos 动态配置能力,动态更新模版中的值,动态轮转后端访问token,动态控制网关访问后端服务的参数。
新建配置文件 amap_key , 分组为data的配置,配置内容为
并在模版中直接进行引用

保存为最新版本,通过上面的endpoint进行访问

访问成功,修改配置中的key的值为非法值

访问失败
通过 Spring AI Alibaba 实现自动注册和自动暴露到 Higress
克隆 sping ai alibaba examples 仓库
进入nacos mcp example 目录
修改配置文件中nacos的用户名密码为自己设置的用户名和密码
启动项目
启动之后,在nacos中查看注册的mcp服务

higress 会自动发现注册的mcp服务并产生透明代理规则,可以直接通过higress访问mcp服务。通过inspector应用调试通过higress暴露的 mcp 服务

总结
在新版本的 higress 和 nacos 中,higress 通过 nacos 做统一发现实现存量应用的零改造适配MCP协议,并且能够实现 MCP 服务的自动代理,Higress 作为 MCP 网关对外提供统一的MCP暴露,Nacos作为MCP Regsitry 对MCP 服务做统一管理,对外提供统一的服务发现,动态变更等能力。