.env.example
Set these on your host before deploying. Each platform has an “Environment Variables” section in the deploy flow. (showing first 20, more exist in .env.example)
APP_NAME
The public-facing name of your gateway (used in docs/UI)
HOST
Bind address for HTTP server (0.0.0.0 for all interfaces)
PORT
TCP port to listen on
DATABASE_URL
secret
SQLAlchemy connection string; leave as-is for local dev Examples: sqlite:///./mcp.db (local file-based)…
APP_ROOT_PATH
Optional root path for deployments under a subpath (e.g., /api) Leave empty for default (/) Example: APP_ROOT_PATH=/gateway
DB_POOL_SIZE
Size of the SQLAlchemy connection pool (default is 200)
DB_MAX_OVERFLOW
Number of extra connections allowed beyond pool size
DB_POOL_TIMEOUT
Max time (in seconds) to wait for a connection from pool
DB_POOL_RECYCLE
Recycle database connections after N seconds
CACHE_TYPE
Backend for caching (memory, redis, database, or none)
REDIS_URL
secret
If using Redis: provide full connection URL Example: redis://localhost:6379/0
CACHE_PREFIX
Prefix for cache keys (recommended to avoid collisions)
SESSION_TTL
TTL for user sessions (in seconds)
MESSAGE_TTL
TTL for ephemeral messages (like completions) in seconds
PROTOCOL_VERSION
MCP protocol version supported by this gateway
BASIC_AUTH_USER
Admin UI basic-auth credentials
BASIC_AUTH_PASSWORD
secret
AUTH_REQUIRED
Require any form of authentication (true or false)
JWT_SECRET_KEY
secret
Secret used to sign JWTs (use long random value in prod)
JWT_ALGORITHM
secret
Algorithm used to sign JWTs (e.g., HS256)
brew install flyctl && fly launch --from https://github.com/abn/mcp-context-forge
curl -L https://fly.io/install.sh | sh && fly launch --from https://github.com/abn/mcp-context-forge
iwr https://fly.io/install.ps1 -useb | iex; fly launch --from https://github.com/abn/mcp-context-forge