Configuration
DataPorch
Getting started

Configuration

Environment variables, defaults, limits, and validation rules.

DataPorch reads configuration from environment variables. Invalid configuration stops startup rather than silently widening the runtime’s authority.

Listener and local state

VariableDefaultConstraints
DATAPORCH_HTTP_ADDRESS127.0.0.1:8080Must be a valid host and port.
DATAPORCH_RESOURCE_LIMIT100Integer from 1 to 1000.
DATAPORCH_ADMIN_SOCKET_PATH~/.dataporch/admin.sockAbsolute, non-empty, distinct path.
DATAPORCH_MCP_SOCKET_PATH~/.dataporch/mcp.sockAbsolute, non-empty, distinct path for the local MCP socket.
DATAPORCH_MASTER_KEY_PATH~/.dataporch/master.keyAbsolute, non-empty, distinct path.
DATAPORCH_SECRETS_STORE_PATH~/.dataporch/secrets.storeAbsolute, non-empty, distinct path.
DATAPORCH_CONNECTIONS_STORE_PATH~/.dataporch/connections.storeAbsolute, non-empty, distinct path.
DATAPORCH_MCP_TOKEN_STORE_PATH~/.dataporch/mcp-token.jsonAbsolute, non-empty, distinct path.
DATAPORCH_MCP_CONTROL_TOKEN_PATH~/.dataporch/mcp-control-tokenAbsolute, non-empty, distinct owner-only runtime credential path.

The paths resolve under the current user’s home directory by default. For containers, system services, or source-checkout isolation, set all seven overrides explicitly as shown in Run locally. DataPorch rejects relative, empty, or duplicate security paths.

Query bounds

VariableDefaultAllowed range
DATAPORCH_QUERY_TIMEOUT20s1s to 20s.
DATAPORCH_QUERY_RESPONSE_BYTE_LIMIT1048576065536 bytes to 10485760 bytes.
DATAPORCH_QUERY_TRUNCATION_ENABLEDtrueBoolean.
DATAPORCH_QUERY_ROW_LIMIT1000Positive when truncation is enabled.

These are server-side bounds. A client can request less through its own behavior, but it cannot use MCP to raise the configured ceiling.

Example development configuration

export DATAPORCH_HTTP_ADDRESS=127.0.0.1:8080
export DATAPORCH_QUERY_TIMEOUT=10s
export DATAPORCH_QUERY_ROW_LIMIT=250
export DATAPORCH_QUERY_TRUNCATION_ENABLED=true

Use DATAPORCH_RESOURCE_LIMIT for discovery result pages. Query rows and discovery resources are separate limits; changing one does not change the other.