当前位置: 首页 > news >正文

r-nacos支持mcp,内置mcp server支持让注册到r-nacos的普通http接口通过r-nacos直接转化成mcp服务对外提供服务。

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,接入很方便。

功能说明

  1. 支持在控制台页面管理mcp工具与服务;mcp服务支持版本管理,发布的版本与编辑的版本可独立维护,历史版本可快速恢复。
  2. mcp服务同时支持mcp sse协议与mcp streamable-http协议(推荐使用);
  3. 内置mcp服务,支持mcp调用转发,支持多种http参数调用:原json参数调用、json转化为form参数调用,json转化为url参数调用;
  4. mcp转发高性能:单机压测streamable-http,其qps 可达29350 ;(sse有状态,暂时没有合适的工具压测;理论上多一些集群内部转发信息处理,大概也能超过1.5万)
  5. 支持集群调用,即支持同一个session多次请求打到不同的r-nacos节点;r-nacos内部通过现有的集群通信能力支持把请求路由到对应的节点处理。

架构

001_20250915082157

使用说明

1. 部署运行r-nacos

使用支持mcp服务的 v0.7.x版本,具体的请参考 r-nacos部署说明文档

2. 创建MCP工具规格

工具规格定义就是提供给大模型的工具描述。
这部分与具体的实现无关,即同一个工具规格,可以有不同的具体实现。
同时一个工具可以被多个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个字段。

详情页如下:

002_20250915010800

3. 创建MCP服务

一个mcp服务可有关联一组同命名空间的工具。
为了支持工具调用每个工具除了规格还需要配置对应的调用路由信息。

MCP服务信息如下:

003_20250915012133

编辑单个工具窗口:

004_20250915012310

注册工具对应的服务到r-nacos

上面的工具路由对应的服务可参考项目自带的测试工程 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,然后在浏览器中查看、调用验证工具。

005_20250915083046

也可以在其它如claude code,roo code ,opencode或自定义等agent中配置mcp使用。

http://www.wxhsa.cn/company.asp?id=4396

相关文章:

  • MacOS下微信小程序抓包教程
  • nvm – nodejs版本管理工具
  • 财务系统里面,怎么合并使用两个经费本号
  • 【火电机组、风能、储能】高比例风电电力系统储能运行及配置分析(Matlab代码实现) - 详解
  • 新范式-LLaDA-VLA 基于扩散模型 VLA模型 - jack
  • Redis是如何进行内存管理的?缓存中有哪些常见问题?如何实现分布式锁?
  • 5 遥感与机器学习第三方库安装 - 详解
  • 移远OPENCPU笔记
  • 2025.9.16——1绿
  • Unity游戏开发:互动小游戏的技术实现与运营盈利之道
  • 如何实现主线程捕获子线程异常
  • LGP5688 [CSP-S-JX 2019] 散步 学习笔记
  • 少儿练字控笔字帖
  • 架构师必备:缓存更新模式总结
  • 为什么不能在try-catch中捕获子线程的异常 ?
  • sensitive-word 敏感词性能提升14倍优化全过程 v0.28.0 - 实践
  • 2025 PHP 开发者必看得 25 个容易犯的常见错误 90% 的开发者都踩过
  • 一款带有AI功能的markdown工具
  • 45万亿!中国智驾的新风口来了
  • apache poi 导出繁琐的excel表格
  • Ubuntu Server SSH 连接
  • 利用竞态条件轻松上传Web Shell
  • 我亲眼目睹我上海的家长朋友陷进去了
  • 蔚小理的辅助驾驶,谁最拉跨?
  • C 语言的 printf() 函数
  • 【GitHub每日速递 250915】3 个宝藏开源项目:超长语音合成、算法学习库、自托管软件导航,开发者速收
  • C 语言头文件
  • AFL++环境搭建
  • 晚安
  • 读人形机器人12体育领域