海信聚好学手机版
8.81M · 2025-10-27
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 如果对你有帮助可以给项目一个小星星 :-)