A MCP Forward Proxy Bridge designed to be a one-to-many bridge allowing you to use a single MCP server to communicate with many MCP servers transparently.
Project description
MCP Foxxy Bridge
A MCP Forward Proxy Bridge designed to be a one-to-many bridge that allows you to use a single MCP server to communicate with many MCP servers transparently.
Overview
The MCP Foxxy Bridge solves the problem of having to configure multiple MCP servers across different AI tools by providing a centralized proxy that:
- Aggregates multiple MCP servers into a single interface
- Exposes all tools, resources, and prompts from configured MCP servers
- Routes requests transparently to the appropriate underlying MCP server
- Allows you to configure your MCPs in one place for use across all AI tools
Quick Start
Installation
Recommended: Install via uv
uv tool install mcp-foxxy-bridge
Alternative: Install via pipx
pipx install mcp-foxxy-bridge
Install latest from git
uv tool install git+https://github.com/billyjbryant/mcp-foxxy-bridge
Basic Usage
Start bridge with multiple servers:
mcp-foxxy-bridge --port 8080 \
--named-server fetch 'uvx mcp-server-fetch' \
--named-server github 'npx -y @modelcontextprotocol/server-github' \
--named-server filesystem 'npx -y @modelcontextprotocol/server-filesystem'
Start bridge with configuration file:
mcp-foxxy-bridge --port 8080 --named-server-config ./servers.json
Connect AI tools to the bridge:
Your bridge will be available at http://localhost:8080/sse
Claude Desktop Configuration
Add this to your Claude Desktop MCP configuration:
{
"mcpServers": {
"foxxy-bridge": {
"command": "mcp-foxxy-bridge",
"args": ["http://localhost:8080/sse"]
}
}
}
Architecture
AI Tools (Claude Desktop, VS Code, etc.)
↓ (SSE/stdio)
MCP Foxxy Bridge
↓ (stdio to multiple servers)
MCP Server 1, MCP Server 2, MCP Server N
The Foxxy Bridge acts as a transparent forward proxy between AI tools and multiple MCP servers, providing:
- Tool Aggregation: Unified access to tools from all connected servers
- Resource Aggregation: Access to resources across multiple servers
- Namespace Management: Automatic tool/resource namespacing to prevent conflicts
- Request Routing: Intelligent routing of requests to appropriate servers
- Health Monitoring: Built-in status endpoint for monitoring server health
Key Features
- ✅ One-to-Many Bridge: Connect multiple MCP servers through a single endpoint
- ✅ Tool Aggregation: Unified access to tools from all connected servers
- ✅ Resource Subscription: Full support for resource subscriptions and forwarding
- ✅ Logging Coordination: Centralized logging level management across all servers
- ✅ Progress Notifications: Transparent progress forwarding from managed servers
- ✅ Completion Aggregation: Combined autocomplete suggestions from all servers
- ✅ Namespace Management: Automatic tool namespacing to prevent conflicts
- ✅ Environment Variables: Support for
${VAR_NAME}expansion in configs - ✅ Multiple Deployment Options: Local process, Docker container, or UV tool
- ✅ Health Monitoring: Built-in status endpoint for monitoring
Documentation
- Installation Guide - Detailed installation instructions
- Configuration Guide - Configuration options and examples
- Deployment Guide - Docker, local, and UV deployment
- API Reference - Endpoints and programmatic usage
- Architecture Overview - Technical architecture and design
- Troubleshooting Guide - Common issues and solutions
Development
Requirements
- Python 3.11+
- uv package manager
- Node.js (for MCP servers that require it)
Development Setup
# Clone the repository
git clone https://github.com/billyjbryant/mcp-foxxy-bridge.git
cd mcp-foxxy-bridge
# Install dependencies
uv sync --dev
# Run tests
uv run pytest
# Run linting
uv run ruff check
# Run type checking
uv run mypy src/
# Run the bridge in development
uv run -m mcp_foxxy_bridge --port 8080
Docker Development
# Build Docker image
docker build -t mcp-foxxy-bridge .
# Run with Docker
docker run --rm -p 8080:8080 mcp-foxxy-bridge
Contributing
We welcome contributions! Please see our Contributing Guide for details on:
- Development setup
- Code style and linting
- Testing requirements
- Pull request process
License
This project is licensed under the GNU Affero General Public License v3.0 or later (AGPLv3+). See the LICENSE file for details.
Support
MCP Foxxy Bridge - Bridging the gap between AI tools and multiple MCP servers.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_foxxy_bridge-1.0.1.tar.gz.
File metadata
- Download URL: mcp_foxxy_bridge-1.0.1.tar.gz
- Upload date:
- Size: 153.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6b2b0a3f36a7d064cc9174c78b9d52984fbbad70ab9d828ad6e6db6b3645a87
|
|
| MD5 |
7614358639fdcd7b8350601f12665790
|
|
| BLAKE2b-256 |
d77538b629bfac1e6ecb8a08b0255882a6b9e66e6e5dcd425f120c1296d2f86d
|
Provenance
The following attestation bundles were made for mcp_foxxy_bridge-1.0.1.tar.gz:
Publisher:
main.yml on billyjbryant/mcp-foxxy-bridge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_foxxy_bridge-1.0.1.tar.gz -
Subject digest:
e6b2b0a3f36a7d064cc9174c78b9d52984fbbad70ab9d828ad6e6db6b3645a87 - Sigstore transparency entry: 316493009
- Sigstore integration time:
-
Permalink:
billyjbryant/mcp-foxxy-bridge@70b3884e03887ca6dfed541dba0e379547d643cf -
Branch / Tag:
refs/heads/main - Owner: https://github.com/billyjbryant
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
main.yml@70b3884e03887ca6dfed541dba0e379547d643cf -
Trigger Event:
push
-
Statement type:
File details
Details for the file mcp_foxxy_bridge-1.0.1-py3-none-any.whl.
File metadata
- Download URL: mcp_foxxy_bridge-1.0.1-py3-none-any.whl
- Upload date:
- Size: 36.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1e287631a6a798ec3c00026e8fff8e6fa20908767aa24c0b1658f110092448c
|
|
| MD5 |
72291df15a68484c075acb4f2d111690
|
|
| BLAKE2b-256 |
f0cf451c99c1fdf28216203bb7cad46b2bee2c1c42e89424ca14940686358d17
|
Provenance
The following attestation bundles were made for mcp_foxxy_bridge-1.0.1-py3-none-any.whl:
Publisher:
main.yml on billyjbryant/mcp-foxxy-bridge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mcp_foxxy_bridge-1.0.1-py3-none-any.whl -
Subject digest:
d1e287631a6a798ec3c00026e8fff8e6fa20908767aa24c0b1658f110092448c - Sigstore transparency entry: 316493019
- Sigstore integration time:
-
Permalink:
billyjbryant/mcp-foxxy-bridge@70b3884e03887ca6dfed541dba0e379547d643cf -
Branch / Tag:
refs/heads/main - Owner: https://github.com/billyjbryant
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
main.yml@70b3884e03887ca6dfed541dba0e379547d643cf -
Trigger Event:
push
-
Statement type: