Waygate MCP - Secure Containerized MCP Server Framework 🐳🔒
Version: 2.0.0 Status: Production-Ready Successor to: NEXUS MCP Architecture: Security-Hardened Docker Containers
🚀 Overview
Waygate MCP is an enterprise-grade Model Context Protocol (MCP) server framework built with security-first containerization. Unlike traditional virtual environment deployments, Waygate uses Docker containers for superior isolation, security, and reproducibility.
🔐 Why Containers > Virtual Environments
Security Aspect | Virtual Environment | Container | Advantage |
---|---|---|---|
Process Isolation | ❌ Shared with host | ✅ Isolated namespace | Prevents interference |
Network Isolation | ❌ Uses host network | ✅ Private network | Controls traffic |
File System | ❌ Full host access | ✅ Isolated filesystem | Limits breach impact |
Resource Limits | ❌ No limits | ✅ cgroups limits | Prevents DoS |
Privilege Escalation | ⚠️ Easier | ✅ Non-root user | Reduced attack surface |
✨ Key Features
- Security-Hardened Containers: Non-root execution, read-only filesystem, dropped capabilities
- Production-Ready: Built with FastAPI for high performance
- Diagnostic Excellence: Comprehensive troubleshooting tools and playbooks
- Plugin Architecture: Extensible through modular plugins
- Enterprise Features: SSL/TLS, rate limiting, monitoring built-in
- One-Line Setup: Automated secure deployment with
quickstart.sh
🚀 Quick Start (One Command!)
Or clone and run locally:
📋 Manual Installation
Prerequisites
- Docker 20.10+
- Docker Compose 2.0+
- Git
- 2GB+ disk space
Step-by-Step Setup
Access Points
- API: http://localhost:8000
- Health Check: http://localhost:8000/health
- Metrics: http://localhost:8000/metrics
- Documentation: http://localhost:8000/docs (development mode)
📁 Project Structure
🐳 Development Mode
🔧 Configuration
Configuration via environment variables in .env
file:
🛡️ Security Features
Container Security
- ✅ Non-root user: Runs as UID 1000 (waygate user)
- ✅ Read-only filesystem: Writable volumes only where needed
- ✅ Dropped capabilities: All capabilities dropped except NET_BIND_SERVICE
- ✅ No new privileges: Prevents privilege escalation
- ✅ Resource limits: CPU (2 cores) and Memory (1GB) limits
- ✅ Network isolation: Custom Docker network with defined subnet
- ✅ Secrets management: Environment-based with .env file
Application Security
- ✅ API key authentication: Required for API access
- ✅ Rate limiting: Configurable per-endpoint limits
- ✅ CORS protection: Configurable allowed origins
- ✅ Input validation: Pydantic models for all inputs
- ✅ SSL/TLS ready: Nginx configuration included
📊 API Endpoints
Endpoint | Method | Description |
---|---|---|
/ | GET | Service information |
/health | GET | Health check |
/ready | GET | Readiness check |
/metrics | GET | Prometheus metrics |
/mcp/execute | POST | Execute MCP command |
/mcp/status | GET | MCP engine status |
/plugins | GET | List plugins |
/diagnostics/connection | GET | Connection diagnostics |
/diagnostics/performance | GET | Performance diagnostics |
🔍 Diagnostics
Run diagnostics to troubleshoot issues:
🚦 Development
Running Tests
Code Quality
📝 Documentation
- PRD:
ai-dev-tasks/PRDs/00-prd-waygate-mcp-framework.md
- Architecture:
ai-dev-tasks/ADRs/ADR-001-core-architecture.md
- Tech Spec:
ai-dev-tasks/specifications/tech-spec-waygate-mcp.md
- Tasks:
ai-dev-tasks/tasks/00-tasks-waygate-mcp-implementation.md
🔄 Migration from NEXUS MCP
NEXUS MCP has been archived at /home/jeremy/projects/archived/NEXUS_MCP
.
To migrate:
- Export NEXUS configuration
- Transform to Waygate format
- Deploy Waygate instance
- Verify functionality
🤝 Contributing
- Create feature branch
- Make changes
- Run tests
- Submit PR
📄 License
Open Source - MIT License
🆘 Support
For issues or questions, check the documentation in ai-dev-tasks/
or create an issue.
Built with AI Assistance - Developed with Claude (Anthropic) Maintained by: Jeremy Longshore Last Updated: 2025-01-14
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
A security-hardened, containerized MCP server framework that provides superior isolation and enterprise-grade security through Docker containers. Enables secure MCP command execution with comprehensive diagnostics, plugin architecture, and production-ready features like SSL/TLS and rate limiting.