MCP ExplorerExplorer

Atrax

@metcalfcon 9 months ago
4 MIT
FreeCommunity
AI Systems
# MCP Proxy Implementation and Aggregation with Multiple Servers

Overview

What is Atrax

Atrax is a proxy implementation for Model Context Protocol (MCP) servers that aggregates multiple MCP servers into a single unified interface, inspired by the funnel-web spider’s resource funneling behavior.

Use cases

Use cases for Atrax include aggregating data from multiple backend services for a web application, providing a single access point for various MCP services in a microservices setup, and enhancing resource management in distributed systems.

How to use

To use Atrax, clone the repository, set up the development environment, build the project, and run the server with or without token authentication as needed. Quick commands are provided in the README for easy setup.

Key features

Key features include resource aggregation with conflict resolution, transparent proxying, strict protocol compliance, modular design, support for multiple transport types (STDIO, HTTP/SSE, Docker), enhanced error handling, web integration, and token-based authentication.

Where to use

Atrax can be used in various fields that require the aggregation of multiple MCP servers, such as web applications, microservices architectures, and any system needing a unified interface for diverse data sources.

Content

Atrax: MCP Server Aggregation Proxy v0.1.0

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

pre-commit

Atrax is a proxy for Model Context Protocol (MCP) servers that aggregates multiple MCP servers and presents them as a single unified interface. The name comes from the funnel-web spider, reflecting how it funnels resources from multiple servers into one.

Features

  • Resource Aggregation: Combine resources from multiple servers with configurable conflict resolution
  • Transparent Proxying: Present a unified MCP server interface to clients
  • Protocol Compliance: Strict adherence to the MCP protocol specification
  • Modular Design: Clear separation of concerns between components
  • Multiple Transport Types: Support for STDIO, HTTP/SSE, and Docker transports
  • Enhanced Error Handling: Detailed error reporting with contextual information
  • Web Integration: HTTP/SSE transport for browser and web-based clients
  • Authentication Support: Token-based authentication for securing server access

Quick Start

# 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

Documentation Map

Examples

The examples/ directory contains example server implementations:

  • Memory server: A simple MCP server that stores a knowledge graph in memory
  • Echo server: A basic MCP server that echoes back requests
  • HTTP Echo server: An MCP server that uses HTTP/SSE transport to communicate

Run examples with:

# 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

License

MIT

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers