Skip to main content

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

CI/CD Pipeline Release Version PyPI Version Code Coverage

Python Version License Development Status

PyPI Downloads GitHub Stars GitHub Issues GitHub Forks

pre-commit Documentation MCP Protocol Uvicorn

MCP Foxxy Bridge Logo

Overview

MCP Foxxy Bridge is a secure, feature-rich one-to-many proxy for the Model Context Protocol (MCP). It lets you aggregate and route requests to multiple MCP servers through a single endpoint, with enterprise-grade security features:

🔒 Security Features

  • Command substitution security with allow-lists and validation
  • OAuth 2.0 + PKCE authentication for secure server connections
  • Shell injection protection with comprehensive input validation
  • Localhost-only binding by default for maximum security

🚀 Core Capabilities

  • Centralize configuration for all your MCP servers
  • Expose all tools, resources, and prompts from connected servers
  • Route requests transparently to the right backend
  • Use a single MCP endpoint in your AI tools (Claude Desktop, VS Code, etc.)
  • Support for command substitution with secure credential retrieval

🚀 Quickstart

See the Installation Guide for full details.

1. Choose one of the following installation methods

A. Install via uv (Recommended):

uv tool install mcp-foxxy-bridge

B. Install latest from GitHub:

uv tool install git+https://github.com/billyjbryant/mcp-foxxy-bridge

C. Run with Docker (from GHCR):

docker run --rm -p 8080:8080 ghcr.io/billyjbryant/mcp-foxxy-bridge:latest --bridge-config /app/config.json

2. Run the Bridge

With config file:

mcp-foxxy-bridge --bridge-config config.json

Or with named 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'

# With security features
mcp-foxxy-bridge --bridge-config config.json \
  --allow-command-substitution  # Enable secure command substitution

See Configuration Guide for config file examples.


3. Connect Your AI Tool

Point your MCP-compatible client to:

http://localhost:8080/sse

See API Reference for integration details.


📚 Documentation


🛠️ Development


🤝 Contributing & Support


🔒 Security

MCP Foxxy Bridge implements comprehensive security measures:

Network Security

  • Default binding: Bridge binds to 127.0.0.1:8080 (localhost-only) by default
  • MCP server isolation: Individual MCP servers communicate via local stdio pipes, never network ports
  • OAuth port separation: Dedicated OAuth callback port (8090) independent of main bridge port
  • Configurable access: Host and port settings can be configured via config file or CLI arguments

Command Substitution Security

  • Allow-list approach: Only pre-approved commands can be executed via $(command) syntax
  • Shell injection protection: Blocks dangerous shell operators (|, &, ;, etc.)
  • Argument validation: Validates arguments for sensitive commands (git, vault, op, gh)
  • Read-only enforcement: Prevents write/delete operations in command substitution

Authentication Security

  • OAuth 2.0 + PKCE: Secure authentication with Proof Key for Code Exchange
  • Automatic discovery: OAuth endpoints discovered from server metadata
  • Secure token storage: Tokens stored with restricted file permissions
  • Token refresh: Automatic token renewal when possible

Configuration Priority

  1. Command-line arguments (--host, --port, --allow-command-substitution) - highest priority
  2. Configuration file bridge settings (bridge.host, bridge.port, bridge.allow_command_substitution)
  3. Environment variables (MCP_ALLOW_COMMAND_SUBSTITUTION, MCP_ALLOWED_COMMANDS)
  4. Secure defaults (127.0.0.1:8080, command substitution disabled) - lowest priority

Security Recommendations

  • Keep the default 127.0.0.1 binding unless external access is required
  • Only enable command substitution when needed, with minimal command allow-lists
  • Use OAuth authentication for production deployments with sensitive data
  • Regularly update MCP server dependencies and review access logs
  • See Security Guide for comprehensive security practices

⚖️ License

This project is licensed under the GNU Affero General Public License v3.0 or later (AGPLv3+). See the LICENSE file for details.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_foxxy_bridge-1.4.0.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_foxxy_bridge-1.4.0-py3-none-any.whl (145.1 kB view details)

Uploaded Python 3

File details

Details for the file mcp_foxxy_bridge-1.4.0.tar.gz.

File metadata

  • Download URL: mcp_foxxy_bridge-1.4.0.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for mcp_foxxy_bridge-1.4.0.tar.gz
Algorithm Hash digest
SHA256 13051889fc5bc9a70ee770c21b4b1b129a1c604563ba5d98f67dd5c0a61417bb
MD5 7f13bf8218a889d3053d15101395ee3e
BLAKE2b-256 703e5a447c7b593fea4c5de2649c7f5b5e8a12b1def776d35a0513913a37c6a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_foxxy_bridge-1.4.0.tar.gz:

Publisher: main.yml on billyjbryant/mcp-foxxy-bridge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcp_foxxy_bridge-1.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_foxxy_bridge-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 22d59877b62590b3576260a1468cfe548654dae7b238b7cc8bf1d77e4a5fbd1e
MD5 36dfec952f0166760d98158219da979a
BLAKE2b-256 839e388975159b824ce938f37255777dd52a407e342a53a47ed098045f65764a

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_foxxy_bridge-1.4.0-py3-none-any.whl:

Publisher: main.yml on billyjbryant/mcp-foxxy-bridge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page