MCP-Proxy - 聚合多个 MCP 资源服务器的代理服务 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
tbxark
V2EX    分享创造

MCP-Proxy - 聚合多个 MCP 资源服务器的代理服务

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

    项目地址: https://github.com/TBXark/mcp-proxy

    项目背景

    最近 MCP(Multi-Client Protocol)很火,但在实际使用中发现一些问题:

    • 不聊天时 MCP server 在后台持续运行占用资源
    • 每个设备都需要运行 MCP server
    • 虽然可以使用第三方服务如mcp.so,但更希望自己部署

    为此我开发了这个 MCP Proxy Server ,可以聚合多个 MCP 资源服务器并通过单一接口提供服务。

    有一说一,就是调用github.com/mark3labs/mcp-go。我只是一个在 copilot 下按 tab 的工具人

    主要功能

    • 多 MCP 客户端代理:连接多个 MCP 资源服务器并聚合其工具和能力
    • SSE 支持:提供 Server-Sent Events 服务器实现实时更新
    • 灵活配置:支持多种客户端类型(stdiosse)和自定义设置

    技术特点

    • 采用 Go 语言开发
    • 轻量级设计,资源占用低
    • 配置驱动,易于扩展

    快速开始

    安装

    1. 克隆仓库:
    git clone https://github.com/TBXark/mcp-proxy.git cd mcp-proxy 
    1. 构建项目:
    go build -o mcp-proxy main.go 

    配置示例

    { "server": { "baseURL": "http://localhost:8080", "addr": ":8080", "name": "MCP Proxy", "version": "1.0.0" }, "clients": { "fetch": { "type": "stdio", "config": { "command": "uvx", "env": {}, "args": ["mcp-server-fetch"] } }, "amap": { "type": "sse", "config": { "url": "https://router.mcp.so/sse/xxxxx" } } } } 

    运行

    ./mcp-proxy -config path/to/config.json 

    然后就可以用过 http://localhost:8080/fetch/sse 调用 fetch 的服务

    致谢

    本项目部分灵感来源于adamwattis/mcp-proxy-server

    2 条回复    2025-05-12 20:42:20 +08:00
    soddygogo
        1
    soddygogo  
       178 天前
    可以,正好参考下
    guigeng
        2
    guigeng  
       153 天前 via Android
    有 web 页面会更好
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2687 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 21ms UTC 14:49 PVG 22:49 LAX 07:49 JFK 10:49
    Do have faith in what you're doing.
    ubao 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