Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@drunk-mcp-proxylist all the configured MCP proxy servers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
drunk-mcp-proxy
A dynamic proxy server for Model Context Protocol (MCP) built with Python and FastMCP. This service allows you to proxy and manage multiple MCP backend servers through a single unified interface.
Features
π Dynamic Proxy Management: Add and manage MCP servers on the fly
π Static Configuration: Define default servers in
config.jsonπΎ Persistent Storage: Dynamic proxies are saved to
proxies.jsonπ³ Docker Support: Fully containerized with Docker and Docker Compose
π Multiple Transports: Support for HTTP and SSE transports
π οΈ Built-in Tools: List, add, and manage proxy servers via MCP tools
Quick Start
Using Docker Compose (Recommended)
Clone the repository:
Edit
config.jsonto add your default MCP servers:
Create the data directory for persistent storage:
Start the service:
View logs:
Using Docker
Create the data directory for persistent storage:
Build the image:
Run the container:
Local Development
Create a virtual environment:
Install dependencies:
Run the server:
Configuration
Static Configuration (config.json)
Define your default MCP servers in config.json:
Dynamic Proxies
Dynamic proxies are added at runtime using the add_proxy tool and stored in proxies.json. These persist across restarts.
Available Tools
The proxy server exposes the following MCP tools:
add_proxy
Add a new MCP proxy server dynamically.
Parameters:
name(string): Name identifier for the proxyurl(string): URL of the MCP server to proxytransport(string, optional): Transport protocol (default: "http")
Example:
list_proxies
List all configured MCP proxy servers (both static and dynamic).
Returns: List of all configured proxies with their URLs and transport types.
get_server_info
Get information about this MCP proxy server.
Returns: Server version, features, and usage information.
Environment Variables
MCP_CONFIG_FILE: Path to the static configuration file (default:config.json)MCP_PROXIES_FILE: Path to the dynamic proxies file (default:proxies.json)
Project Structure
Development
Testing Locally
Install dependencies:
Run the server:
The server will start and display mounted proxies:
Requirements
Python 3.11+
FastMCP 2.0.0+
Troubleshooting
Port Already in Use
If port 8000 is already in use, modify docker-compose.yml to use a different port:
Proxy Configuration Not Loading
Check that
config.jsonexists and has valid JSON syntaxVerify file permissions allow reading
Check Docker volume mounts in
docker-compose.yml
Container Fails to Start
Check logs:
docker-compose logs mcp-proxyVerify network connectivity to backend MCP servers
Ensure config file is properly mounted
Examples
Multiple Server Configuration
Using with MCP Clients
Connect to this proxy server as you would any MCP server. The proxy will route requests to the configured backend servers and aggregate their responses.
Architecture
License
MIT License - See LICENSE file for details
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Support
For issues, questions, or contributions, please visit the GitHub repository