Nacos-MCP 融合架构:运维nacos的MCP服务项目

@作者: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),可以在上述组合基础上,为你写一套更具体的"落地搭配方案 + 配置片段"。

相关推荐
小钻风33662 小时前
Docker入门基础知识(一)
运维·docker·容器
小钻风33662 小时前
Docker入门基础知识(二)
运维·docker·容器
深圳市恒讯科技2 小时前
2026新加坡服务器配置全攻略:SSL证书、硬件防火墙与CDN加速
运维·服务器·ssl
回忆是昨天里的海2 小时前
k8s部署的微服务动态扩容
java·运维·kubernetes
黑棠会长2 小时前
微服务实战.06 |微服务对话时,你选择打电话还是发邮件?
微服务·云原生·架构·c#
野猪佩挤2 小时前
Jenkins动态Salve调度其他集群Docker in Docker
运维·docker·jenkins
乾元2 小时前
下一代检测:基于自编码器(Autoencoder)的异常流量检测
运维·网络·人工智能·深度学习·安全·安全架构
GHL2842710903 小时前
TeamTalk-msg_server学习
运维·服务器·c++·学习
回忆是昨天里的海3 小时前
k8s整体架构及核心组件
架构·k8s