返回市场
阿特拉克斯

阿特拉克斯

作者:metcalfc5 星标更新:2025-04-05

项目介绍

Atrax: MCP Server 聚合代理 v0.1.0

              .  .               __
             .|  |.      _____ _/  |_____________  ___  ___
             ||  ||      \__  \\   __\_  __ \__  \ \  \/  /
             \\()//       / __ \|  |  |  | \// __ \_>    <
             .={}=.      (____  /__|  |__|  (____  /__/\_ \
            / /`'\ \          \/                 \/      \/
            ` \  / '
               `'           MCP 网络代理 v0.1.0

pre-commit

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

功能

  • 资源聚合:从多个服务器组合资源,并具有可配置的冲突解决机制
  • 透明代理:向客户端提供统一的 MCP 服务器接口
  • 协议合规性:严格遵守 MCP 协议规范
  • 模块化设计:组件之间有明确的责任分离
  • 多种传输类型:支持 STDIO、HTTP/SSE 和 Docker 传输
  • 增强的错误处理:带有上下文信息的详细错误报告
  • 网络集成:用于浏览器和基于网络的客户端的 HTTP/SSE 传输
  • 认证支持:基于令牌的身份验证以保护服务器访问

快速开始

# 克隆仓库
git clone https://github.com/yourusername/atrax.git
cd atrax

# 设置开发环境
direnv allow  # 设置 Python 虚拟环境和 pre-commit
npm install

# 构建项目
npm run build

# 运行服务器(无认证)
npm run serve

# 使用令牌认证运行
npm run serve:auth

# 运行冒烟测试
npm run test:smoke

文档地图

示例

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

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

运行示例如下:

# 基于 STDIO 的服务器
npm run memory-server
npm run echo-server

# 基于 HTTP/SSE 的服务器
npm run http-echo-server

# 客户端示例
npm run echo-client      # 连接到 STDIO 回声服务器
npm run memory-client    # 连接到 STDIO 内存服务器
npm run http-echo-client # 连接到 HTTP/SSE 回声服务器

许可证

MIT