r-nacos 支持 mcp ,内置 mcp server 与接口转发;支持让注册到 r-nacos 的普通 http 接口通过 r-nacos 直接转化成 mcp 服务对外提供服务。
如果你有一个或多个普通应用之前已经接入 nacos/r-nacos 注册中心,想提供 mcp 服务给 ai code agent 或自定义 agent 使用。使用 r-nacos 不用修改应用代码,只需要在控制台配置对应的 mcp 服务,即可对外提供 mcp 服务。
如果应用已经使用 mcp sdk 提供服务的应用,但它因状态问题只支持单实例使用。你想要支持集群部署,也可能考虑使用 r-nacos 。
如果之前没有注册到 r-naocs ,也可以考虑先把应用注册到 r-nacos 再使用 r-nacos 中间件服务。 r-naocs 兼容 nacos 协议,支持多种不多语言的 nacos sdk ,接入很方便。
使用支持 mcp 服务的 v0.7.x 版本,具体的请参考 r-nacos 部署说明文档
工具规格定义就是提供给大模型的工具描述。 这部分与具体的实现无关,即同一个工具规格,可以有不同的具体实现。 同时一个工具可以被多个 MCP 服务关联,这也是单独管理 MCP 工具规格的主要原因。
给大模型(openai)单个工具样例如下:
{
"type": "function",
"function": {
"name": "add",
"description": "add",
"parameters": {
"type": "object",
"properties": {
"a": {
"type": "number",
"description": "the first number"
},
"b": {
"type": "number",
"description": "the second number"
}
},
"required": [
"a",
"b"
]
}
}
}
其中除掉具体格式主要内容有 3 个字段name
,description
,parameters
。
外加上 r-nacos 管理需要的分组命名空间、分组信息,r-nacos 中一个工具规格有 5 个字段。
详情页如下:
一个 mcp 服务可有关联一组同命名空间的工具。 为了支持工具调用每个工具除了规格还需要配置对应的调用路由信息。
MCP 服务信息如下:
编辑单个工具窗口:
上面的工具路由对应的服务可参考项目自带的测试工程 python calculate-api 或 rust calculate-api
注:调用工具前,需要把路由对应的应用启动并注册到 r-nacos 中
创建好服务后,使用以下 mcp 地址即可对外提供服务。
Streamable HTTP:
http://{nacos_api_host}/rnacos/mcp/{server_unique_key}/{auth_key}
SSE:
http://{nacos_api_host}/rnacos/mcp/sse/{server_unique_key}/{auth_key}
样例:
Streamable: http://127.0.0.1:8848/rnacos/mcp/calculate/123456
SSE: http://127.0.0.1:8848/rnacos/mcp/sse/calculate/123456
可用官方工具,在终端运行npx @modelcontextprotocol/inspector
,然后在浏览器中查看、调用验证工具。
也可以在其它如 claude code ,roo code ,opencode 或自定义等 agent 中配置 mcp 使用。
项目地址:r-nacos , 如果对你有帮助可以给项目一个小星星 :-)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.