# =========================
# Vertica connection (REQUIRED)
# =========================
# Hostname or IP of the Vertica server
VERTICA_HOST=your-vertica-host
# Port (Vertica defaults to 5433)
VERTICA_PORT=5433
# Database name
VERTICA_DATABASE=your-db-name
# Credentials
VERTICA_USER=your-username
VERTICA_PASSWORD=your-password
# =========================
# Connection behavior (OPTIONAL)
# =========================
# Max concurrent connections in pool
VERTICA_CONNECTION_LIMIT=10
# Defer opening the first connection until needed (1=true, 0=false)
VERTICA_LAZY_INIT=1
# SSL options
# Use SSL/TLS to connect (true/false)
VERTICA_SSL=false
# If true, server certificate must be trusted/valid (recommended true in prod)
VERTICA_SSL_REJECT_UNAUTHORIZED=true
# =========================
# Query controls (OPTIONAL)
# =========================
# Query timeout in seconds (0 disables; server/driver limits may still apply)
VERTICA_QUERY_TIMEOUT=600
# Retry logic for transient errors
VERTICA_MAX_RETRIES=3
# Delay between retries in seconds (can be fractional like 0.1)
VERTICA_RETRY_DELAY=0.1
# Cache TTL for metadata/describe operations (seconds)
VERTICA_CACHE_TTL=300
# Hard result size cap (MiB) to protect memory/egress
VERTICA_MAX_RESULT_MB=100
# Per-minute rate limit for requests (0 disables)
VERTICA_RATE_LIMIT=60
# Health check interval (seconds)
VERTICA_HEALTH_CHECK_INTERVAL=60
# =========================
# Operation permissions (OPTIONAL; safest defaults)
# =========================
# Global toggles
ALLOW_INSERT_OPERATION=false
ALLOW_UPDATE_OPERATION=false
ALLOW_DELETE_OPERATION=false
ALLOW_DDL_OPERATION=false
# Per-schema overrides: comma-separated "schema:true|false" pairs
# Example: public:true,analytics:false
SCHEMA_INSERT_PERMISSIONS=public:false
SCHEMA_UPDATE_PERMISSIONS=public:false
SCHEMA_DELETE_PERMISSIONS=public:false
SCHEMA_DDL_PERMISSIONS=public:false
# =========================
# Server / transport (OVERRIDABLE AT RUNTIME)
# =========================
# stdio | http | sse (your entrypoint may override this per service)
TRANSPORT=http
# Listen address: use 0.0.0.0 for Docker, 127.0.0.1 for local dev
BIND=127.0.0.1
PORT=8000
# HTTP path prefix (for http transport only)
HTTP_PATH=/mcp
# =========================
# Diagnostics (OPTIONAL)
# =========================
# Set to 1 to bypass DB credential check in entrypoint (for demos only)
SKIP_DB_CHECK=0
# Log level: DEBUG | INFO | WARNING | ERROR
LOG_LEVEL=INFO