# ── Transport ────────────────────────────────────────────────────────── # MCP_TRANSPORT_TYPE=stdio # stdio | http (default: stdio) # MCP_HTTP_PORT=3010 # HTTP port (default: 3010) # MCP_HTTP_HOST=localhost # HTTP host (default: localhost) # MCP_HTTP_ENDPOINT_PATH=/mcp # HTTP endpoint path (default: /mcp) # MCP_HTTP_MAX_BODY_BYTES=1048576 # Max request body bytes; 413 over limit, 0 disables (default: 1048576) # MCP_PUBLIC_URL= # Public origin behind a TLS-terminating proxy (e.g. https://mcp.example.com) # ── Auth ────────────────────────────────────────────────────────────── # MCP_AUTH_MODE=none # none | jwt | oauth (default: none) # MCP_AUTH_SECRET_KEY= # JWT secret (required for jwt mode) # ── Storage ─────────────────────────────────────────────────────────── # STORAGE_PROVIDER_TYPE=in-memory # in-memory | filesystem | supabase | cloudflare-r2 | cloudflare-kv | cloudflare-d1 # ── Session ────────────────────────────────────────────────────────── # MCP_SESSION_MODE=stateful # stateful | stateless (default: stateful) # ── Memory ─────────────────────────────────────────────────────────── # MCP_GC_PRESSURE_INTERVAL_MS=0 # Opt-in forced Bun.gc(true) interval, ms (Bun only). Drains old-gen backlog # under sustained HTTP load (issue #50). Try 60000 if RSS grows. Default: 0. # ── Logging ─────────────────────────────────────────────────────────── # MCP_LOG_LEVEL=info # debug | info | notice | warning | error # ── Telemetry ───────────────────────────────────────────────────────── # OTEL_ENABLED=false # Enable OpenTelemetry (default: false) # OTEL_EXPORTER_OTLP_ENDPOINT= # OTLP endpoint URL (e.g., http://localhost:4318) # ── Server-specific ────────────────────────────────────────────────── # OpenAQ v3 API key — REQUIRED. Sent as the X-API-Key header on every request. # Get a free key from your OpenAQ Explorer account: https://explore.openaq.org/ OPENAQ_API_KEY= # OPENAQ_API_BASE_URL=https://api.openaq.org/v3 # Base URL override (testing / proxy) # ── DataCanvas ──────────────────────────────────────────────────────── # Set to 'duckdb' to enable SQL analysis over large measurement series via # openaq_dataframe_query / openaq_dataframe_describe. Without it, large series # return a truncated preview and the dataframe tools are inert. # CANVAS_PROVIDER_TYPE=duckdb