MCP Gateway Pro
README.md
# š MCP Gateway Pro
*Unified Model Context Protocol Server ā Connect your AI agents to everything through a single Docker container.*
Stop running five separate MCP servers. MCP Gateway Pro bundles Slack, GitHub, Jira, PostgreSQL, Redis, AWS, webhooks, and email into one lightweight image that starts in under a second.
---
## š Quick Start
```bash
docker pull ro450/mcp-gateway-pro:latest
docker run -d -p 8080:8080 --name mcp-gateway ro450/mcp-gateway-pro:latest
```
Open `http://localhost:8080` for the web dashboard.
---
## š¦ Available Tags
- **`latest`** ā Full image with all 8 integrations pre-configured. Built via CI/CD.
- **`community`** ā Built directly from this public repository. Ideal for auditing, contributing, or customizing.
```bash
docker pull ro450/mcp-gateway-pro:community
```
---
## ⨠Features
- **8 built-in integrations** ā Slack, GitHub, Jira, PostgreSQL, Redis, AWS, Webhooks, Email
- **Unified REST API** ā All services accessible through consistent endpoints
- **Web dashboard** ā Monitor integrations, uptime, and request metrics
- **Distroless base** ā Built on Wolfi for a minimal attack surface (no shell, no package manager)
- **Zero dependencies** ā Uses Python stdlib only; no pip packages required at runtime
- **Non-root user** ā Runs as unprivileged `mcp` user
- **Health checks** ā Built-in `/health` endpoint with uptime and integration status
- **Small footprint** ā ~55 MB compressed image
---
## š¦ Available Integrations
- š¬ **Slack** ā Send messages, list channels, manage workspaces *(Configured)*
- š§ **GitHub** ā Repositories, issues, pull requests *(Configured)*
- š **Jira** ā Issues, projects, sprints *(Configured)*
- šļø **PostgreSQL** ā Read-only queries, schema inspection *(Configured)*
- ā” **Redis** ā Cache operations, pub/sub, key management *(Available)*
- āļø **AWS** ā S3, DynamoDB, Lambda *(Available)*
- š **Webhook Relay** ā Receive and forward webhooks *(Configured)*
- š§ **Email Gateway** ā SMTP/IMAP send and receive *(Available)*
---
## š API Reference
### Health & Metrics
- `GET /health` ā Health check with uptime and integration count
- `GET /api/metrics` ā Server metrics and integration status
- `GET /api/integrations` ā List all available integrations
- `GET /api/integration/{name}` ā Details for a specific integration
### Service Endpoints
All integration endpoints follow the pattern `/api/{service}/{action}`:
```
GET /api/slack/channels
POST /api/slack/message
GET /api/github/repos
GET /api/github/issues
GET /api/jira/projects
POST /api/jira/issues
GET /api/postgres/schemas
POST /api/postgres/query
GET /api/redis/get
POST /api/redis/set
GET /api/aws/s3
POST /api/webhook/receive
POST /api/email/send
```
---
## āļø Environment Variables
- `MCP_PORT` ā HTTP server port *(Default: `8080`)*
- `MCP_HOST` ā Bind address *(Default: `0.0.0.0`)*
- `MCP_LOG_LEVEL` ā Logging verbosity *(Default: `info`)*
- `MCP_CONFIG_DIR` ā Configuration directory *(Default: `/etc/mcp-gateway`)*
- `MCP_DATA_DIR` ā Persistent data directory *(Default: `/var/lib/mcp-gateway`)*
---
## š³ Docker Compose
```yaml
version: "3.8"
services:
mcp-gateway:
image: ro450/mcp-gateway-pro:community
container_name: mcp-gateway
ports:
- "8080:8080"
environment:
- MCP_PORT=8080
- MCP_LOG_LEVEL=info
volumes:
- mcp-data:/var/lib/mcp-gateway
restart: unless-stopped
volumes:
mcp-data:
```
---
## š Security
- **Distroless base** ā Wolfi image with no shell, no package manager, no curl, no wget
- **Non-root execution** ā All processes run as unprivileged `mcp` user
- **Minimal dependencies** ā Zero pip packages at runtime; Python stdlib only
- **Health check** ā Built-in container health monitoring
- **Read-only where possible** ā Configuration loaded from environment variables
---
## šļø Architecture
```
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā MCP Gateway Pro ā
ā ā
ā āāāāāāāāāāā āāāāāāāāāāāāāāāāāāāā ā
ā ā Web UI ā ā REST API ā ā
ā ā :8080 ā ā /api/* ā ā
ā āāāāāāāāāāā āāāāāāāāāāāāāāāāāāāā ā
ā ā ā
ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā
ā ā Integration Layer ā ā
ā ā Slack GitHub Jira PG ... ā ā
ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā
ā ā ā
ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā
ā ā Cache & Metrics Subsystem ā ā
ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
```
---
## š Monitoring
The built-in dashboard shows real-time metrics including total requests processed, active integrations and their status, server uptime, and request rate. The `/api/metrics` endpoint returns JSON for integration with Prometheus, Grafana, or custom monitoring stacks.
---
## š§ Development
```bash
# Clone the repository
git clone https://github.com/GatewayDev450/mcp-gateway-pro.git
cd mcp-gateway-pro
# Run locally without Docker
python app.py
# Build the image locally
docker build -t mcp-gateway-pro:community .
# Run with Docker Compose
docker-compose up -d
```
---
## š License
MIT License ā see the [LICENSE](LICENSE) file for details.
---
## š¤ Contributing
Contributions are welcome! Open an issue or submit a pull request on [GitHub](https://github.com/GatewayDev450/mcp-gateway-pro).
---
**Built with ā¤ļø using Python, Wolfi, and Docker.**
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues