MCP服务器聚合代理

Atrax是一个用于聚合多个MCP服务器并呈现为统一接口的代理服务,支持资源聚合、透明代理和多种传输类型。

  • by metcalfc
  • TypeScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 metcalfc/atrax

使用说明

Atrax:MCP服务器聚合代理v0.1.0

              .  .               __
             .|  |.      _____ _/  |_____________  ___  ___
             ||  ||      \__  \\   __\_  __ \__  \ \  \/  /
             \\()//       / __ \|  |  |  | \// __ \_>    <
             .={}=.      (____  /__|  |__|  (____  /__/\_ \
            / /`'\ \          \/                 \/      \/
            ` \  / '
               `'           MCP PROXY FOR THE WEB v0.1.0

Atrax是模型上下文协议(MCP)服务器的代理,它聚合了多个MCP服务器,并将它们呈现为一个统一的接口。这个名字来自漏斗网蜘蛛,反映了它如何将资源从多个服务器汇集到一个服务器中。

特性

  • 资源聚合:将来自多个服务器的资源与可配置的冲突解决相结合
  • 透明代理:向客户端提供统一的MCP服务器接口
  • 协议遵从:严格遵守MCP协议规范
  • 模块化设计:明确区分各组成部分之间的关注点
  • 多种运输方式:支持STDIO、HTTP/SSE和Docker传输
  • 增强的错误处理:带有上下文信息的详细错误报告
  • web集成:浏览器和基于web的客户端的HTTP/SSE传输
  • 身份验证支持:用于保护服务器访问的基于令牌的身份验证

快速开始

# Clone the repository
git clone https://github.com/yourusername/atrax.git
cd atrax

# Setup development environment
direnv allow  # Sets up Python venv and pre-commit
npm install

# Build the project
npm run build

# Run the server (no authentication)
npm run serve

# Run with token authentication
npm run serve:auth

# Run smoke tests
npm run test:smoke

文档地图

例子

这 examples/ 目录包含示例服务器实现:

  • 内存服务器:一个简单的MCP服务器,在内存中存储知识图
  • 回显服务器:回显请求的基本MCP服务器
  • HTTP Echo服务器:使用HTTP/SSE传输进行通信的MCP服务器

使用以下命令运行示例:

# STDIO-based servers
npm run memory-server
npm run echo-server

# HTTP/SSE-based server
npm run http-echo-server

# Client examples
npm run echo-client      # Connect to STDIO Echo server
npm run memory-client    # Connect to STDIO Memory server
npm run http-echo-client # Connect to HTTP/SSE Echo server

许可证

麻省理工学院