Overview
Secure MCP Gateway can be installed in three ways:- pip installation (recommended) - Fastest method using PyPI
- Docker installation - Containerized deployment with full observability stack
- From source - Clone the repository and install manually
Prerequisites
All installation methods require:Python requirements
Python requirements
- Python 3.8 or higher (3.11+ recommended)
- pip 25.0.1 or higher
- uv 0.7.9 or higher (for package management)
uv is not installed:MCP client
MCP client
- Claude Desktop - Download from claude.ai/download
- Cursor - Download from cursor.sh
- Claude Code - Install with
npm install -g @anthropic-ai/claude-code - Any MCP-compatible client - See MCP documentation
Optional: Docker (for Docker installation)
Optional: Docker (for Docker installation)
- Docker Desktop or Docker Engine - Install Docker
- Docker Compose - Typically included with Docker Desktop
Optional: Cache server
Optional: Cache server
- Redis 4.0+ or KeyDB (Redis-compatible)
Method 1: pip installation
The fastest way to install Secure MCP Gateway.Create a virtual environment
(secure-mcp-gateway-venv) indicating the virtual environment is active.Install from PyPI
- Secure MCP Gateway (version 2.1.7)
- MCP SDK with CLI (
mcp[cli]>=1.10.1) - All required dependencies (FastMCP, Flask, Redis client, etc.)
Verify installation
Generate configuration
enkrypt_mcp_config.json at:- macOS/Linux:
~/.enkrypt/enkrypt_mcp_config.json - Windows:
%USERPROFILE%\.enkrypt\enkrypt_mcp_config.json
- Default project, user, and API key
- Echo test server configured
- Common gateway settings (log level, cache, telemetry)
Install for your MCP client
Example output
Configuration files created
enkrypt_mcp_config.json (macOS example)
enkrypt_mcp_config.json (macOS example)
claude_desktop_config.json (macOS example)
claude_desktop_config.json (macOS example)
Method 2: Docker installation
Use Docker for containerized deployment with the full observability stack.Build the Docker image
- Python 3.12 with pip, uv, pipx
- Node.js 22.x LTS with npm, npx
- Build tools (gcc, g++, make)
- Utilities (git, jq, yq, curl, wget)
Generate configuration
secure-mcp-gateway --docker generate-config- macOS/Linux:
~/.enkrypt/docker/enkrypt_mcp_config.json - Windows:
%USERPROFILE%\.enkrypt\docker\enkrypt_mcp_config.json
Install for Claude Desktop
MCP_TRANSPORT=stdio for proper communication with Claude Desktop.Restart Claude Desktop
Docker Compose with observability stack
For production deployments with full monitoring:- Gateway - Main service on port 8000
- API Server - REST API on port 8001
- OpenTelemetry Collector - OTLP receiver on port 4317
- Prometheus - Metrics on port 9090
- Grafana - Dashboards on port 3000 (admin/admin)
- Jaeger - Traces on port 16686
- Loki - Log aggregation
- Redis/KeyDB - External cache on port 6379
- Grafana: http://localhost:3000
- Jaeger: http://localhost:16686
- Prometheus: http://localhost:9090
Claude Desktop config for Docker
Method 3: From source
Install from the GitHub repository for development or customization.Clone the repository
Create virtual environment
Install dependencies
Run setup script
- Creates config at
~/.enkrypt/enkrypt_mcp_config.json - Generates unique gateway key and UUIDs
- Sets up echo server with correct path
- Installs gateway for Claude Desktop
Restart Claude Desktop
Alternative: Manual installation
If you prefer manual setup:Installing for other clients
Cursor installation
For Cursor IDE:- macOS/Linux:
~/.cursor/mcp.json - Windows:
%USERPROFILE%\.cursor\mcp.json
Claude Code installation
For Claude Code CLI:claude CLI to be installed. See Claude Code docs.Verification
After installation, verify the gateway is working:Check gateway connection
List servers
Test echo server
Check gateway tools
enkrypt_list_all_serversenkrypt_get_server_infoenkrypt_discover_all_toolsenkrypt_secure_call_toolsenkrypt_get_cache_statusenkrypt_clear_cacheenkrypt_get_timeout_metrics
Configuration file locations
Gateway config
- macOS/Linux (pip/source):
~/.enkrypt/enkrypt_mcp_config.json - Windows (pip/source):
%USERPROFILE%\.enkrypt\enkrypt_mcp_config.json - Docker:
~/.enkrypt/docker/enkrypt_mcp_config.json
MCP client configs
Claude Desktop:- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS/Linux:
~/.cursor/mcp.json - Windows:
%USERPROFILE%\.cursor\mcp.json
- Managed via
claude mcpcommands (no JSON file)
Uninstallation
To remove the gateway:Uninstall from MCP client
Remove pip package
Remove configuration (optional)
Stop Docker containers (if using Docker)
Troubleshooting
Python version issues
Python 3.8 minimum requirement
Python 3.8 minimum requirement
uv not found
Install uv package manager
Install uv package manager
uv --version fails:python -m uv works, use it for all uv commands.mcp command not found
MCP CLI installation
MCP CLI installation
Virtual environment issues
Virtual environment activation
Virtual environment activation
Docker permission denied
Docker socket permissions
Docker socket permissions
Config file not found
Missing configuration file
Missing configuration file
-
Verify the file exists:
-
Regenerate if missing:
-
Check permissions: