---
slug: "atrax-mcp服务器"
source_type: "readme"
source_url: "https://cdn.jsdelivr.net/gh/metcalfc/atrax@main/README.md"
repo: "https://github.com/metcalfc/atrax"
source_file: "README.md"
branch: "main"
---
# Atrax: MCP Server Aggregation Proxy v0.1.0

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

```

[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/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

```bash
# 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

- **[DEVELOPMENT.md](https://github.com/metcalfc/atrax/blob/HEAD/docs/DEVELOPMENT.md)**: Development environment setup and workflow
- **[GUIDELINES.md](https://github.com/metcalfc/atrax/blob/HEAD/docs/GUIDELINES.md)**: Project guidelines and coding standards
- **[MCP_SDK_INTEGRATION.md](https://github.com/metcalfc/atrax/blob/HEAD/docs/MCP_SDK_INTEGRATION.md)**: MCP SDK integration guide
- **[HTTP_SSE_TRANSPORT.md](https://github.com/metcalfc/atrax/blob/HEAD/docs/HTTP_SSE_TRANSPORT.md)**: HTTP/SSE transport implementation and usage
- **[TOKEN_AUTH.md](https://github.com/metcalfc/atrax/blob/HEAD/docs/TOKEN_AUTH.md)**: Token authentication guide and usage
- **[DIRENV.md](https://github.com/metcalfc/atrax/blob/HEAD/docs/DIRENV.md)**: Using direnv for environment management
- **[CLAUDE.md](https://github.com/metcalfc/atrax/blob/HEAD/CLAUDE.md)**: Quick reference for common commands
- **[VERSION_MANAGEMENT.md](https://github.com/metcalfc/atrax/blob/HEAD/docs/VERSION_MANAGEMENT.md)**: Guidelines for version management

## 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:
```bash
# 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
