Skip to main content

Overview

Secure MCP Gateway can be installed in three ways:
  1. pip installation (recommended) - Fastest method using PyPI
  2. Docker installation - Containerized deployment with full observability stack
  3. From source - Clone the repository and install manually
Choose the method that best fits your environment and use case.

Prerequisites

All installation methods require:
  • Python 3.8 or higher (3.11+ recommended)
  • pip 25.0.1 or higher
  • uv 0.7.9 or higher (for package management)
Verify installations:
If uv is not installed:
You’ll need at least one MCP client:
For Docker installation:
  • Docker Desktop or Docker Engine - Install Docker
  • Docker Compose - Typically included with Docker Desktop
Verify:
For production deployments with external caching:
  • Redis 4.0+ or KeyDB (Redis-compatible)
The gateway includes both local in-memory caching and external cache support.

Method 1: pip installation

The fastest way to install Secure MCP Gateway.
1

Create a virtual environment

Your prompt should now show (secure-mcp-gateway-venv) indicating the virtual environment is active.
2

Install from PyPI

This installs:
  • Secure MCP Gateway (version 2.1.7)
  • MCP SDK with CLI (mcp[cli]>=1.10.1)
  • All required dependencies (FastMCP, Flask, Redis client, etc.)
Package info: pypi.org/project/secure-mcp-gateway
3

Verify installation

4

Generate configuration

This creates enkrypt_mcp_config.json at:
  • macOS/Linux: ~/.enkrypt/enkrypt_mcp_config.json
  • Windows: %USERPROFILE%\.enkrypt\enkrypt_mcp_config.json
The config includes:
  • Default project, user, and API key
  • Echo test server configured
  • Common gateway settings (log level, cache, telemetry)
5

Install for your MCP client

Always restart your MCP client after installation for changes to take effect.

Example output

Configuration files created

Method 2: Docker installation

Use Docker for containerized deployment with the full observability stack.
1

Build the Docker image

The Docker image includes:
  • 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)
Based on Ubuntu 24.04 LTS for stability.
2

Generate configuration

If you have the CLI installed locally, use the shorthand: secure-mcp-gateway --docker generate-config
This creates config at:
  • macOS/Linux: ~/.enkrypt/docker/enkrypt_mcp_config.json
  • Windows: %USERPROFILE%\.enkrypt\docker\enkrypt_mcp_config.json
3

Install for Claude Desktop

The Docker config includes MCP_TRANSPORT=stdio for proper communication with Claude Desktop.
4

Restart Claude Desktop

Restart Claude Desktop completely to load the gateway.

Docker Compose with observability stack

For production deployments with full monitoring:
This starts:
  • 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
Access services:

Claude Desktop config for Docker

Method 3: From source

Install from the GitHub repository for development or customization.
1

Clone the repository

2

Create virtual environment

3

Install dependencies

Verify MCP CLI:
4

Run setup script

This 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
5

Restart Claude Desktop

Restart Claude Desktop to load the gateway.

Alternative: Manual installation

If you prefer manual setup:

Installing for other clients

Cursor installation

For Cursor IDE:
This updates:
  • macOS/Linux: ~/.cursor/mcp.json
  • Windows: %USERPROFILE%\.cursor\mcp.json
Cursor usually doesn’t require a restart, but if it shows a loading state for a long time, restart the IDE.

Claude Code installation

For Claude Code CLI:
This runs:
Verify:
Claude Code requires the claude CLI to be installed. See Claude Code docs.

Verification

After installation, verify the gateway is working:
1

Check gateway connection

In your MCP client (Claude Desktop, Cursor, etc.), look for the MCP server indicator (usually a 🔌 icon).You should see “Enkrypt Secure MCP Gateway” listed.
2

List servers

Ask your client: “List all available MCP servers.”You should see the echo server.
3

Test echo server

Ask: “Use the echo server to send the message ‘test’.”The gateway should forward the request and return the echoed message.
4

Check gateway tools

The gateway provides its own management tools:
  • enkrypt_list_all_servers
  • enkrypt_get_server_info
  • enkrypt_discover_all_tools
  • enkrypt_secure_call_tools
  • enkrypt_get_cache_status
  • enkrypt_clear_cache
  • enkrypt_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
Cursor:
  • macOS/Linux: ~/.cursor/mcp.json
  • Windows: %USERPROFILE%\.cursor\mcp.json
Claude Code:
  • Managed via claude mcp commands (no JSON file)

Uninstallation

To remove the gateway:
1

Uninstall from MCP client

Manually remove the gateway entry from your client’s config file, or use:
2

Remove pip package

3

Remove configuration (optional)

4

Stop Docker containers (if using Docker)

Troubleshooting

Python version issues

The gateway requires Python 3.8 or higher, but 3.11+ is recommended.
On macOS with Homebrew:
On Windows, download from python.org.

uv not found

If uv --version fails:
If python -m uv works, use it for all uv commands.

mcp command not found

The MCP CLI should be installed with the gateway. If not:

Virtual environment issues

If your virtual environment doesn’t activate:macOS/Linux:
Windows:
If PowerShell blocks scripts:

Docker permission denied

On Linux, if you get permission denied:

Config file not found

If the gateway can’t find the config:
  1. Verify the file exists:
  2. Regenerate if missing:
  3. Check permissions:

Next steps

Quick start

Follow the quick start guide to test your installation

Configuration

Configure servers, guardrails, and advanced settings

CLI reference

Learn all CLI commands for managing the gateway

Deployment

Deploy to production with observability