A multi-server Message Control Protocol (MCP) implementation with Caddy reverse proxy, providing real-time documentation access and context preservation across coding sessions.
Features
- Real-time documentation access via Context7 MCP
- Web search capabilities via BraveSearch MCP
- Context preservation across sessions
- Major AI coding assistant integration support
- Scalable Docker-based architecture with Caddy reverse proxy
- Easy extensibility for additional MCP servers
Quick Start
-
Build and start the stack:
docker-compose up -d -
Check server status:
curl http://localhost/health -
Access individual MCP servers:
# Context7 MCP curl http://localhost/context7/health # BraveSearch MCP curl http://localhost/bravesearch/health -
Stop the stack:
docker-compose down
Integration
VS Code Configuration
// .vscode/settings.json
"mcp.servers": {
"Context7": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@upstash/context7-mcp@latest"],
"protocolVersion": 1
}
}
Health Checks
Each server includes built-in health checks that run every 30 seconds. You can monitor the container health status using:
docker ps
Architecture
System Components
-
Caddy Reverse Proxy
- Routes traffic to appropriate MCP servers
- Handles path-based routing (/context7, /bravesearch)
- Provides unified health check endpoint
-
Context7 MCP Server
- Runs on port 7681 internally
- Provides documentation and context services
-
BraveSearch MCP Server
- Runs on port 7682 internally
- Provides web search capabilities
All services use a dedicated Docker network (mcp-net) for enhanced security and isolation.
Adding New MCP Servers
To add a new MCP server to the stack:
- Create a new directory for your MCP server
- Add a Dockerfile and implementation
- Add the service to docker-compose.yml
- Update the Caddyfile with a new route
- Rebuild and restart the stack