r-nacos 支持 mcp,内置 mcp server 与接口转发;支持让注册到 r-nacos 的普通 http 接口通过 r-nacos 直接转化成 mcp 服务对外提供服务。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
heqingpan
V2EX    程序员

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

  •  
  •   heqingpan 93 天前 1412 次点击
    这是一个创建于 93 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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-apirust 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 使用。


    项目地址:r-nacos , 如果对你有帮助可以给项目一个小星星 :-)

    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5196 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 01:31 PVG 09:31 LAX 17:31 JFK 20:31
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86