前言:之前在博客中带搭建学了nacos3.0 的存量api转换,今天来学新的中间件Nacos MCP Router,如果没有看过nacos3.0 的存量api转换,可以参考我之前的博客使用nacos3+higress实现存量api转换为mcp-CSDN博客
Nacos MCP Router是一个基于MCP官方SDK开发的标准MCP Server,为MCP Client提供MCP Server的智能搜索
、安装
、代理
等功能, 极大地简化了MCP服务的使用流程。 同时,Nacos MCP Router跟Nacos MCP Registry结合,可以实现MCP Server治理,如MCP Server及工具可见性、版本管理等。
功能介绍
Nacos MCP Router 有两种工作模式:
- router模式:默认模式,通过MCP Server推荐、安装及代理其他MCP Server的功能,帮助用户更方便的使用MCP Server服务。
- proxy模式:使用环境变量MODE=proxy指定,通过简单配置可以把sse、stdio协议MCP Server转换为streamableHTTP协议MCP Server。
在router 模式下,Nacos MCP Router 作为一个标准MCP Server,提供MCP Server推荐、分发、安装及代理其他MCP Server的功能。其主要工具列表为
search_mcp_server
- 根据任务描述及关键字从MCP注册中心(Nacos)中搜索相关的MCP Server列表
- 输入:
task_description
(string): 任务描述,示例:今天杭州天气如何key_words
(string): 任务关键字,示例:天气、杭州
- 输出: list of MCP servers and instructions to complete the task.
add_mcp_server
- 添加并初始化一个MCP Server,根据Nacos中的配置与该MCP Server建立连接,等待调用。
- 输入:
mcp_server_name
(string): 需要添加的MCP Server名字
- 输出: MCP Server工具列表及使用方法
use_tool
- 代理其他MCP Server的工具
- 输入:
mcp_server_name
(string): 被调的目标MCP Server名称.mcp_tool_name
(string): 被调的目标MCP Server的工具名称params
(map): 被调的目标MCP Server的工具的参数
- 输出: 被调的目标MCP Server的工具的输出结果
在proxy 模式下,Nacos MCP Router 仅提供代理功能,无需代码改动即可实现stdio、sse协议一键转换为streamableHTTP协议。
router模式
启动Nacos MCP Router
参考:Nacos MCP Router手册 | Nacos 官网
这里只展示streamableHTTP 协议的部署
执行docker 命令
docker run -d --name nacos-mcp-router -p 8000:8000 -e NACOS_ADDR=192.168.176.106:8848 -e NACOS_USERNAME=nacos -e NACOS_PASSWORD=nacos -e TRANSPORT_TYPE=streamable_http nacos-mcp-router:latest 向外暴露端口了吗
如果镜像拉不下来可以参考docker.io/nacos/nacos-mcp-router:latest - 镜像下载 | docker.io
先将镜像拉下来
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nacos/nacos-mcp-router:latest
给镜像取给名字
# 给镜像起一个简短的名字,比如 "nacos-mcp-router:latest"
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nacos/nacos-mcp-router:latest nacos-mcp-router:latest
最后再执行docker命令
执行完毕后就可以在客户端配置Nacos MCP Router
我这里以Cherry Studio为例子
{
"mcpServers": {
"nacos-mcp-router": {
"url": "http://$router_ip:8000/mcp"
}
}
}
这里我没有在nacos注册任何mcpserver,感兴趣可以注册上去玩一下。