@作者:stackofumbrella
文章目录
- [一、直接面向 Nacos 的 MCP Server(读/查为主)](#一、直接面向 Nacos 的 MCP Server(读/查为主))
- [二、基于 Nacos 的 MCP 路由与代理(统一管理多 MCP 服务)](#二、基于 Nacos 的 MCP 路由与代理(统一管理多 MCP 服务))
- [三、MCP Server 自动注册到 Nacos 的 SDK / 框架(让"自家服务变成 Nacos MCP 服务")](#三、MCP Server 自动注册到 Nacos 的 SDK / 框架(让“自家服务变成 Nacos MCP 服务”))
- [四、与 Nacos 深度集成的 MCP 生态(补充)](#四、与 Nacos 深度集成的 MCP 生态(补充))
- [五、总结:如果要"运维 Nacos + MCP"](#五、总结:如果要“运维 Nacos + MCP”)
一、直接面向 Nacos 的 MCP Server(读/查为主)
nacos-group/nacos-mcp-server(Nacos MCP Server)
仓库:https://github.com/nacos-group/nacos-mcp-server
定位:专门为 Nacos 提供读写接口中的"读/查"侧 MCP Server,让大模型可以安全地查看 Nacos 集群状态和配置,而不是直接改动数据。
语言:Python(支持 3.x,推荐 3.13 以内)。Nacos 要求 3.0.0 以上。
主要特点:
当前版本 只读:仅提供查询、搜索、列表能力,不包含增删改写操作(未来版本计划扩展写入)。
依赖 Nacos 3.x 的 Admin API,适合用于 Nacos 3 作为配置中心/注册中心的场景。
提供的典型 MCP 工具(均是"运维观察"类):
list_namespaces:列出当前集群所有命名空间。
list_services:按命名空间分页列出服务,可筛选 groupName、serviceName,支持是否携带实例信息。
get_service:查看指定服务的详细元数据和集群信息(不含实例列表)。
list_service_instances:查看某个服务下的实例列表,可按集群筛选。
list_service_subscribers:查看订阅某服务的客户端列表(分页)。
list_configs:按命名空间、groupName、dataId 等分页列出配置。
get_config:查看单条配置的详细内容。
list_config_history / get_config_history:查看配置历史及单条历史记录。
list_config_listeners:查看订阅某条配置的监听者列表。
list_listened_configs:根据客户端 IP 反查它订阅了哪些配置。
运维价值:
做 Nacos 健康巡检 / 配置审计 / 客户端排障 非常合适:
"帮我看 public 命名空间下有哪些服务、各有多少实例?"
"这个 dataId 的发布历史是什么?是谁在订阅?"
"这个客户端 IP 正在监听哪些配置?"
二、基于 Nacos 的 MCP 路由与代理(统一管理多 MCP 服务)
nacos-group/nacos-mcp-router(Nacos MCP Router)
仓库:https://github.com/nacos-group/nacos-mcp-router
镜像:nacos/nacos-mcp-router(Docker Hub)
定位:标准 MCP Router / 网关型 MCP Server,以 Nacos 为"注册中心",负责:
搜索 MCP Server、为 LLM 推荐合适的服务;
安装/接入其他 MCP Server;
代理请求、做协议转换(stdio / SSE ↔ StreamableHTTP)。
两种工作模式:
Router 模式(默认)
工具:
search_mcp_server(task_description, key_words):根据任务描述与关键词,从 Nacos / Compass/MCPHub 搜索合适 MCP 服务。
add_mcp_server(mcp_server_name):按名字接入某个 MCP Server(如果是 stdio 会"安装+连接",SSE 直接连接)。
use_tool(mcp_server_name, mcp_tool_name, params):代理调用目标 MCP Server 的某个工具。
支撑能力:
接入 Search Provider:
Nacos Provider:基于 Nacos MCP Registry 查找已注册的 MCP 服务,支持关键词 & 向量相似度搜索。
Compass Provider:通过远程 COMPASS_API_BASE 接口进行语义搜索(默认 https://registry.mcphub.io/ )。
Proxy 模式(MODE=proxy)
挂在某个已在 Nacos 注册的 MCP Server(PROXIED_MCP_NAME),把其 SSE/stdio 协议"一键转换"为 StreamableHTTP,方便在 Higress、Dify 等 HTTP 环境里使用。
环境变量关键项(部分):
NACOS_ADDR / NACOS_USERNAME / NACOS_PASSWORD:Nacos 地址和账户,用于从 Nacos MCP Registry 获取 MCP 列表。
TRANSPORT_TYPE:stdio / sse / streamable_http。
MODE:router / proxy。
PROXIED_MCP_NAME:Proxy 模式下被代理的 MCP Server 名称。
运维价值:
对 Nacos 运维来说,Router 自身就是一个 "MCP 服务治理工具":
利用 Nacos 作为 MCP Registry,可做到 统一发现 + 统一路由 + 统一协议适配;
管理大量 MCP Server(数据库、消息队列、业务 API 等)时,用它作为中枢,Nacos 成为MCP 服务目录 & 配置中心。
nacos-group/nacos-mcp-router-typescript(Node/TS 版 Router)
仓库:https://github.com/nacos-group/nacos-mcp-router-typescript
定位:功能与 Python 版 Router 类似,但使用 TypeScript 实现,方便前后端一体 / Node 生态接入。[4]
能力要点:[4]
Nacos 深度集成:
使用 NACOS_SERVER_ADDR / NACOS_USERNAME / NACOS_PASSWORD / NACOS_NAMESPACE 等环境变量连接 Nacos;
自动发现挂在 Nacos 上的 MCP Server。
MCP 协议完整支持:
为 AI Agent 提供 Model Context Protocol 工具路由能力。
服务编排 & 负载均衡:
对多个 MCP 实例做智能路由、负载均衡、健康检查。
配置热更新:
基于 Nacos 配置中心实时热更 Router 行为。
适合场景:
团队后端主要是 Node/TypeScript,希望:
统一从 Nacos 获取 MCP 服务列表;
在自身服务或前端代理层中用 TS SDK 实现复杂路由和编排逻辑。
三、MCP Server 自动注册到 Nacos 的 SDK / 框架(让"自家服务变成 Nacos MCP 服务")
严格来说,这类并不是"直接运维 Nacos 的 MCP Server",
而是 帮助你把自己的 MCP Server 注册到 Nacos MCP Registry,然后再由:
Nacos MCP Router、
Spring AI Alibaba 客户端、
Higress MCP 网关
等进行发现与调用,从而形成一个完整的 Nacos 运维/治理闭环。
nacos-group/nacos-mcp-wrapper-python
仓库:https://github.com/nacos-group/nacos-mcp-wrapper-python
定位:Python 版的 Nacos MCP 包装 SDK,[5] 帮你把任意 MCP Server:
自动注册到 Nacos MCP Registry;
支持动态热更工具描述和参数;
支持运行时启停工具。
使用方式(核心思想):[5]
安装:pip install nacos-mcp-wrapper-python。
创建 NacosSettings(配置 SERVER_ADDR、NAMESPACE、USERNAME、PASSWORD 等)。
使用 NacosMCP 封装你的 MCP Server,工具通过 @mcp.tool() 装饰。
启动 mcp.run(transport="sse") 即可自动完成 Nacos 注册。
对 Nacos 运维的意义:
把你现有的脚本、内部 API 封装成 MCP Server 后,
使用这个 SDK 可以一键挂到 Nacos,让 Router / Higress / Dify 等平台统一发现和调度,
Nacos 就变成所有 MCP 服务的"统一服务登记簿"。
Spring AI Alibaba Nacos MCP 相关组件(Java 生态)
包括但不限于:
spring-ai-alibaba-mcp-nacos
spring-ai-alibaba-starter-mcp-registry
spring-ai-alibaba-autoconfigure-nacos-mcp-server 等。
Maven 描述中明确:"Nacos3 MCP for Spring AI Alibaba", 主要为 Java / Spring
Boot 开发者提供:
将 Spring Bean 中的 @Tool 方法自动暴露为 MCP 工具;
通过配置 spring.ai.alibaba.mcp.nacos.* 将这些 MCP 服务自动注册到 Nacos;
客户端(另一个 Spring Boot 应用)可以通过 LoadbalancedMcpSyncClient / ToolCallbackProvider 动态发现并调用这些 MCP 工具。
官方"自动注册与发现"文档中给出了完整的示例:
服务端用 spring-ai-alibaba-starter-mcp-registry + spring-ai-starter-mcp-server-webmvc;
客户端用 spring-ai-alibaba-starter-mcp-registry + spring-ai-starter-mcp-client-webflux;
全过程的服务发现依托 Nacos MCP Registry。
对 Nacos 运维的意义:
对 Java 团队而言,可以在 Spring 体系内:
零侵入地给现有服务加 MCP 能力;
把各种"运维工具、巡检逻辑"封装成 MCP 服务,统一注册在 Nacos;
通过 Nacos MCP Router 或 Spring AI Alibaba 客户端动态发现这些运维工具。
四、与 Nacos 深度集成的 MCP 生态(补充)
nacos-group/nacos-istio(Nacos + Istio MCP Server)
仓库:https://github.com/nacos-group/nacos-istio
定位:将 Nacos 作为 Istio 的 MCP Server,为 Istio 提供服务发现数据源。[8]
特点:
Go 实现,暴露一个 gRPC MCP 接口(-grpcAddr)和一个 HTTP Debug 接口(-httpAddr)。
支持 mock 模式,用于 MCP 性能测试和功能验证。
在 Nacos 运维层面,这个项目主要用于:
在 Service Mesh 场景下,把 Nacos 中的服务动态下发给 Istio;
通过统一 MCP 协议,让 Nacos 与 Istio 在服务发现 / 配置下发维度无缝协作。
五、总结:如果要"运维 Nacos + MCP"
只读巡检 / 日常查看 Nacos 状态
直接使用:
nacos-group/nacos-mcp-server(Python)
场景:
查看命名空间、服务、实例、订阅者、配置及其历史记录。
在 Claude Desktop / Cursor / MCP‑UI Chat 里自然语言提问,由 MCP 调用这些工具。
统一治理多个 MCP Server,让 Nacos 成为"工具中枢"
使用:
nacos-group/nacos-mcp-router(Python)或
nacos-group/nacos-mcp-router-typescript(TS)
场景:
你的环境中有很多 MCP Server(数据库、Redis、业务 API 等),需要统一注册到 Nacos;
再由 Router 按任务语义路由和代理,Nacos 则负责"注册表"和配置管理。
自研运维工具希望全部挂到 Nacos MCP 上
Python 生态:
用 nacos-mcp-wrapper-python 把自写 MCP 工具注册到 Nacos。
Java/Spring 生态:
用 spring-ai-alibaba-mcp-nacos / spring-ai-alibaba-starter-mcp-registry 自动注册。
服务网格环境下的 Nacos 运维
使用:
nacos-group/nacos-istio 作为 Istio 的 MCP 源头。
如果你能说明目前是 自建 Nacos 还是云上 Nacos、是否有 Istio / Higress、以及主要语言栈(Java / Python / Node),可以在上述组合基础上,为你写一套更具体的"落地搭配方案 + 配置片段"。