| OPENSTATES_API_KEY | Yes | Open States API key from open.pluralpolicy.com. Required to make any API requests. |
| OPENSTATES_DAILY_REQUEST_BUDGET | No | Maximum upstream Open States requests per rolling 24 hours. Rejects before the request is issued once spent. Defaults to the v3 free-tier daily cap. |
| OPENSTATES_REQUEST_TIMEOUT_MS | No | Per-attempt upstream request deadline in milliseconds (minimum 1000). Expiry is non-retryable. Open States answers a scoped query in under a second to ~57s and its gateway gives up near 60s. |
| OPENSTATES_TOTAL_REQUEST_BUDGET_MS | No | Wall-clock ceiling in milliseconds for one call across every retry attempt and the backoff between them. Bounds a slow upstream that keeps failing retryably. Must be at least OPENSTATES_REQUEST_TIMEOUT_MS; startup rejects a lower value. |
| MCP_LOG_LEVEL | No | Sets the minimum log level for output (e.g., 'debug', 'info', 'warn'). |
| MCP_TRANSPORT_TYPE | No | Selects the HTTP transport. |
| OPENSTATES_API_KEY | Yes | Open States API key from open.pluralpolicy.com. Required to make any API requests. |
| OPENSTATES_DAILY_REQUEST_BUDGET | No | Maximum upstream Open States requests per rolling 24 hours. Rejects before the request is issued once spent. Defaults to the v3 free-tier daily cap. |
| OPENSTATES_REQUEST_TIMEOUT_MS | No | Per-attempt upstream request deadline in milliseconds (minimum 1000). Expiry is non-retryable. Open States answers a scoped query in under a second to ~57s and its gateway gives up near 60s. |
| OPENSTATES_TOTAL_REQUEST_BUDGET_MS | No | Wall-clock ceiling in milliseconds for one call across every retry attempt and the backoff between them. Bounds a slow upstream that keeps failing retryably. Must be at least OPENSTATES_REQUEST_TIMEOUT_MS; startup rejects a lower value. |
| MCP_HTTP_HOST | No | The hostname for the HTTP server. |
| MCP_HTTP_PORT | No | The port to run the HTTP server on. |
| MCP_HTTP_ENDPOINT_PATH | No | The endpoint path for the MCP server. |
| MCP_AUTH_MODE | No | Authentication mode to use: 'none', 'jwt', or 'oauth'. |
| MCP_LOG_LEVEL | No | Sets the minimum log level for output (e.g., 'debug', 'info', 'warn'). |