
告别工具海!用Nacos MCP Router一站式管理你的AI工具服务,省心又省Token
经常使用 Cursor、Cherry Studio、Cline、Trae 等AI辅助工具的朋友,或许都有这样的困扰:随着使用深入,你会不自觉地配置了十几二十个MCP服务,每个服务下又挂载着少则几个、多则十几二十个独立工具。想象一下,在不同应用间切换使用时,你需要反复复制粘贴配置;新增或修改工具,每个应用里都要同步更新,效率低下,令人烦恼。更别提这些应用往往对MCP工具数量有限制,无限制添加是奢望。而且,光是这些工具的描述信息,对你使用的模型来说,也是一笔不小的Token开销。
这个问题一直困扰着我,直到我偶然发现了一个绝妙的工具,它竟然能用MCP来解决MCP本身的问题!是的,你没听错,用MCP来解决MCP管理的复杂性!
这个神奇的工具就是 nacos-mcp-router
。
一、核心思路:用一个MCP服务代理所有服务
nacos-mcp-router
的巧妙之处在于,它本身作为一个MCP服务运行,但它并不直接提供具体的工具能力,而是作为一个“路由器”或“网关”,将你在其他地方(比如一个中心化的配置中心)维护的工具列表动态地暴露给你的AI应用。
首先,看看在你的AI应用(如 cline 的 MCP 配置)中如何配置它:
{
"mcpServers": {
"nacos-mcp-router": {
"command": "uvx",
"args": [
"nacos-mcp-router@latest"
],
"env": {
"NACOS_ADDR": "<你的Nacos地址>, optional, default is 127.0.0.1:8848",
"NACOS_USERNAME": "<Nacos用户名>, optional, default is nacos",
"NACOS_PASSWORD": "<Nacos密码>, required, default is nacos"
}
}
// 你之前配置的其他MCP服务现在都可以移到Nacos去啦!
}
}
从配置可以看出,这是一个由 uv
管理的 Python 项目。关于 uv
的安装和使用,可以参考之前的相关文章
我写了个MCP工具,让我实现了生图自由了,这里不再赘述。
配置的核心在于 env
部分,它指向了 nacos-mcp-router
获取工具列表的“秘密基地”—— Nacos。
二、认识和安装 Nacos
对于没有开发背景的朋友,Nacos 可能有点陌生。简单来说,Nacos 是阿里巴巴开源的一个微服务服务注册中心和配置中心。它提供了动态服务发现、配置管理、服务和流量管理等能力。前段时间,Nacos 更新到了 3.0 版本,其中一个重要升级就是集成了MCP服务配置的能力,这正是 nacos-mcp-router
的核心依赖。
接下来,我们看看如何安装 Nacos,过程也很简单:
-
下载 Nacos Server:
访问 Nacos 官网下载页:nacos下载 选择最新稳定版(截图可能与实际版本有差异,请下载最新的): 下载后解压到合适的目录。
-
安装 JDK: Nacos 是用 Java 语言开发的,所以运行它需要 Java 环境,即 JDK (Java Development Kit)。如果你已经安装了JDK,可以跳过此步。 访问 Oracle JDK 下载页(或其他JDK提供商如OpenJDK):JDK下载
选择适合你操作系统的版本下载,比如 Windows 64-bit Installer: 下载后,按照提示“无脑”下一步进行安装即可。
-
启动 Nacos Server: JDK 和 Nacos 都准备好后,进入你解压的 Nacos 目录,找到
bin
文件夹。 打开命令行窗口(Windows 用户推荐使用 PowerShell 或 CMD),执行启动命令:startup.cmd -m standalone
(macOS/Linux 用户使用
startup.sh -m standalone
)启动过程中,会遇到卡着不动了,对应的输入:VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg= 敲回车就行了,如下图
看到类似下面的输出,说明 Nacos 启动成功:
-
访问 Nacos 管理界面: 打开浏览器,输入地址
http://localhost:8080
。默认的用户名和密码都是nacos
。 成功登录后,就进入了 Nacos 的管理控制台。
三、在 Nacos 中集中管理 MCP 服务
现在,到了最关键的一步:将你之前分散在各个AI应用配置中的MCP服务,统一迁移到 Nacos 中进行管理。
在 Nacos 管理界面的左侧菜单,找到 “MCP管理” -> “MCP列表”。这里就是维护所有MCP工具的中央仓库!
点击 “创建MCP服务”,将你原有的MCP配置信息填写进来。例如,添加一个我之前开发的 hh-mcp-comfyui MCP 绘图工具:
填写完毕后,点击保存即可。重复此步骤,将你所有的MCP服务都添加到 Nacos 中。
完成迁移后,回到你AI应用的MCP配置文件,你会惊喜地发现,你现在可以把那些密密麻麻的MCP服务配置全部删掉,只留下 nacos-mcp-router
这一个!瞬间,你的配置文件变得干净整洁,赏心悦目!
从此以后,你想新增、修改或删除MCP服务,只需要在 Nacos 管理后台操作即可,逻辑上这里是可以无限增加MCP服务的,所有的AI应用都能通过 nacos-mcp-router
自动获取到最新的工具列表,真正实现一站式管理。
另可能有人担心MCP我有很多的配置的秘钥,放到nacos中会对我配置的MCP安全吗,这个纯本地的,非常安全放心用
四、智能路由:Token消耗的秘密武器
除了解决配置管理的混乱,nacos-mcp-router
还有一个巨大的优势:显著减少向大模型传递的工具信息,从而节省Token消耗。
这是如何做到的呢?核心在于 nacos-mcp-router
内部实现了一个基于向量检索的智能路由逻辑。
当你通过AI应用向模型提出一个问题或指令时,nacos-mcp-router
不会将你在Nacos中配置的所有MCP工具的详细信息一股脑地发送给大模型。相反,它会执行以下智能检索过程(其逻辑思路如下图所示):
搜索过程解析:
- 当你在AI应用中输入查询字符串时,这个查询首先会被传递给
nacos-mcp-router
。 nacos-mcp-router
利用内置的向量数据库(如 ChromaDB),将你的查询字符串转换为一个向量嵌入(Vector Embedding)。- 同时,Nacos中维护的每一个MCP工具的描述信息也预先被转换成了向量并存储在向量数据库中。
nacos-mcp-router
在向量数据库中执行一次相似性搜索,找出与你查询向量最相似的工具向量。- 搜索结果是以“服务器ID”的形式返回的,这些ID对应着Nacos中配置的具体MCP服务。
nacos-mcp-router
将这些最相似的工具ID映射回它们完整的MCP服务描述信息。- 最终,只有经过检索筛选出的、与你的问题最相关的少数几个工具的详细信息会被发送给大模型,而不是全部工具。
通过这种方式,传递给大模型的上下文信息量大大减少,自然就节省了Token消耗。尤其当你配置了几十个甚至上百个工具时,这个优化效果会非常明显。
五、权衡与展望
当然,这种基于向量检索的智能路由方式并非没有权衡。由于依赖向量检索的相似度,有时你期望被调用的工具可能因为语义理解或向量匹配的误差而未能被准确检索到,导致模型无法调用预期的工具。这是当前向量检索技术普遍存在的一个挑战。
但考虑到它在配置管理和Token节省方面的巨大优势,这个权衡在很多场景下是值得的。而且,随着向量模型和检索技术的不断发展,这个准确性问题也会逐步得到改善。
六、实测效果
最后,我们来看一下实际使用效果。我在 cherry studio 中通过 nacos-mcp-router
代理后,调用了我的 hh-mcp-comfyui MCP 绘图工具的截图:
可以看到,尽管我的 cherry studio 配置中只留下了
nacos-mcp-router
这一个服务,但它成功地识别并调用了我在 Nacos 后台配置的 ComfyUI 工具,完成了绘图任务。
这里有个注意的地方使用
nacos-mcp-router
MCP首次调用某个MCP服务的时候,他会首先会给你把工具列表同步到nacos上,然后进行调用
总结
nacos-mcp-router
提供了一个优雅的解决方案,彻底治愈了AI应用中MCP服务配置混乱、更新繁琐以及Token消耗过大的“并发症”。通过引入 Nacos 作为中心化配置平台和利用向量检索进行智能路由,它不仅让你的工具管理变得井井有条,更实实在在地为你节省了宝贵的Token。
如果你也面临类似的MCP服务管理困境,不妨试试这个“以MCP解MCP”的奇妙方案!它可能会彻底改变你使用AI工具的体验。
📌 欢迎留言讨论你的看法
📌 如果觉得有启发,帮忙点个赞,你的支持是我持续的动力,感谢!!
