Skip to content

IQ environment variables

This page lists the environment variables available for the IQ Integrator and DX MCP Server. Most variables are set through the hcl-dx-iq Helm chart values. Variables that have no corresponding Helm key must be injected directly using environment.pod.integrator or environment.pod.mcpServer in your values file.

IQ Integrator

LiteLLM

Environment variable Helm values key Type Default Description Accepted values
LITELLM_API_KEY iq-litellm-api-secret String — Specifies the static LiteLLM API key set through a Kubernetes secret. When you set this key, the system bypasses the deployment key flow entirely. This variable is mutually exclusive with IQ_DEPLOYMENT_KEY. Any valid LiteLLM virtual key
LITELLM_URL configuration.litellm.liteLlmUrl String — Specifies the base URL of the LiteLLM Gateway Proxy. A valid HTTPS URL (for example, https://litellm.example.com)
LLM_MAX_TOKENS environment.pod.integrator Integer — Specifies the maximum number of tokens for LLM completion responses. You must override the default value based on the token limits of your LLM model to prevent errors from models that enforce strict token limits. Any positive integer within the model's supported range (for example, 16384, 8192, 4096)
LLM_TEMPERATURE environment.pod.integrator Float — Specifies the temperature parameter for LLM response generation, controlling randomness and determinism. You must override the default value based on the constraints of your LLM model as some models require specific temperature values. Any float value within the model's supported range (for example, 0.7, 1, 0)

DX integration

Environment variable Helm values key Type Default Description Accepted values
DX_INTERNAL_HOST configuration.dx.internalHost String Auto-derived from releaseName Specifies the internal DX host used by the integrator for authentication and by the MCP server for DX API calls. When set explicitly, this value overrides auto-derivation. A valid internal Kubernetes service URL (for example, http://dx-deployment-core:10039 or http://dx-deployment-web-engine:9080)
DX_EXTERNAL_HOST configuration.dx.externalHost String — Specifies the external DX hostname. The system provides this hostname to the LLM to construct fully qualified DX resource URLs in responses. A valid external FQDN (for example, https://dx.example.com)
DX_RELEASE_NAME configuration.dx.releaseName String — Specifies the Helm release name of the DX deployment. The system uses this name to auto-derive internal service hostnames (HAProxy, Core, WCM) when internalHost is not explicitly set. Any valid Helm release name string (for example, dx-deployment)
DX_CONTEXT_ROOT environment.pod.integrator String /wps Specifies the DX context root path prepended to all DX resource URLs. Any valid URL path segment (for example, /wps)

MCP Server connectivity

Environment variable Helm values key Type Default Description Accepted values
MCP_SERVER_LIST environment.pod.integrator String http://dx-ai-mcp-server:3000 Specifies a comma-separated list of MCP Server URLs that the Integrator polls for available tools on startup and during the watchdog interval. This list must reflect your actual IQ Helm release name. One or more valid internal Kubernetes service URLs separated by commas (for example, http://dx-iq-mcp-server:3000)

Database

Environment variable Helm values key Type Default Description Accepted values
DB_ENABLED configuration.database.enabled Boolean false Enables PostgreSQL persistence for sessions and deployment key tokens. When set to false, the system stores sessions in memory, which clear on pod restart. true, false
DB_HOST configuration.database.dbHost String — Specifies the hostname of the PostgreSQL database server. Any valid hostname or IP address
DB_PORT configuration.database.dbPort Integer 5432 Specifies the port of the PostgreSQL database server. Any valid port number
DB_NAME configuration.database.dbName String iqdb Specifies the name of the PostgreSQL database. Any valid PostgreSQL database name
DB_USER configuration.database.dbUser String — Specifies the PostgreSQL username. The system ignores this value when dbCustomSecret is set. Any valid PostgreSQL username
DB_PASSWORD configuration.database.dbPassword String — Specifies the PostgreSQL password. The system ignores this value when dbCustomSecret is set. Do not commit this password to version control. Use dbCustomSecret for production deployments. Any valid PostgreSQL password
DB_TLS_ENABLED configuration.database.dbTlsEnabled Boolean false Enables TLS encryption for the database connection. true, false

Cross-session memory

Environment variable Helm values key Type Default Description Accepted values
RAG_ENABLED environment.pod.integrator Boolean false Enables cross-session memory, powered by Retrieval-Augmented Generation (RAG). When enabled, IQ stores semantic chunks of past conversations in a vector database, retrieves relevant context when processing a query, and injects it into the system prompt so the model can reference information from previous sessions. Requires a PostgreSQL database and registered embedding model aliases in LiteLLM. true, false
EMBEDDING_DIMENSIONS environment.pod.integrator Integer 1024 Specifies the vector dimension produced by your embedding model. This value must match the output dimension of the model registered in LiteLLM. Changing this value after initial startup causes IQ to enter graceful degradation mode and disable cross-session memory while continuing to serve requests. To apply new values, re-create the RAG tables and restart the pod. For instructions, refer to Changing RAG and embedding configuration. Any positive integer matching your embedding model's output dimension (for example, 1024 or 1536)
USE_MULTILINGUAL_EMBEDDINGS environment.pod.integrator Boolean true Specifies whether IQ uses multilingual embeddings.
- When set to true, IQ uses the iq-multilingual-embed LiteLLM proxy alias.
- When set to false, IQ uses the iq-embed LiteLLM proxy alias.
Changing this value after initial startup causes IQ to enter graceful degradation mode and disable cross-session memory while continuing to serve requests. To apply new values, re-create the RAG tables and restart the pod. For instructions, refer to Changing RAG and embedding configuration.
true, false
RAG_CHUNK_SIZE environment.pod.integrator Integer 512 Specifies the maximum number of characters per chunk. Changing this value after initial startup causes IQ to enter graceful degradation mode and disable cross-session memory while continuing to serve requests. To apply new values, re-create the RAG tables and restart the pod. For instructions, refer to Changing RAG and embedding configuration. Any positive integer (for example, 256, 512, or 1024)
RAG_CHUNK_OVERLAP environment.pod.integrator Integer 50 Specifies the number of characters that adjacent chunks share, preserving context across chunk boundaries. Changing this value after initial startup causes IQ to enter graceful degradation mode and disable cross-session memory while continuing to serve requests. To apply new values, re-create the RAG tables and restart the pod. For instructions, refer to Changing RAG and embedding configuration. Any nonnegative integer less than RAG_CHUNK_SIZE (for example, 0, 50, or 100)
RAG_CHUNK_SEPARATORS environment.pod.integrator JSON string array ["\n\n","\n",". ","? ","! "," ",""] Specifies the ordered list of separator strings used by the chunking algorithm. The chunker tests each separator from coarsest to finest to split text into segments within RAG_CHUNK_SIZE. Provide this value as a JSON-encoded string array, where backslashes escape special characters (for example, \n represents a new line and \n\n represents two new lines). Changing this value after initial startup causes IQ to enter graceful degradation mode and disable cross-session memory while continuing to serve requests. To apply new values, re-create the RAG tables and restart the pod. For instructions, refer to Changing RAG and embedding configuration. A valid JSON string array (for example, ["\n\n","\n",". "])
RAG_TOP_K environment.pod.integrator Integer 5 Specifies the number of most similar chunks returned per query. Updating this parameter requires running helm upgrade to apply the changes, but does not require re-creating RAG tables or dropping stored data. Any positive integer (for example, 3, 5, or 10)
RAG_MIN_SIMILARITY environment.pod.integrator Float 0.35 Specifies the minimum cosine similarity score (0 to 1) that a chunk must reach to be retrieved. Set a nonzero value (such as 0.6) to filter out low-relevance chunks. Updating this parameter requires running helm upgrade to apply the changes, but does not require re-creating RAG tables or dropping stored data. Float from 0 to 1 (for example, 0, 0.5, or 0.7)
RAG_DEBUG environment.pod.integrator Boolean false Enables verbose debug logging for RAG ingestion and retrieval. Do not enable in production environments. true, false

Operations

Environment variable Helm values key Type Default Description Accepted values
MAINTENANCE_MODE maintenanceMode.integrator Boolean false Starts the Integrator pod in maintenance mode. The application does not run, but the container remains active to let you debug inside the container. true, false

DX MCP Server

DX integration

Environment variable Helm values key Type Default Description Accepted values
DX_HOST_NAME configuration.dx.internalHost String Auto-derived from releaseName Specifies the internal DX host used by the MCP Server for DX API calls (WCM, Core). This uses the same source as the Integrator's DX_INTERNAL_HOST variable. When internalHost is empty, auto-derived as <scheme>://<releaseName>-haproxy. A valid internal Kubernetes service URL (for example, http://dx-deployment-core:10039)
DX_DAM_HOST Auto-derived String <scheme>://<releaseName>-haproxy Specifies the DAM API host used by the MCP Server. The system always auto-derives this value from configuration.dx.ssl and configuration.dx.releaseName. You cannot override this value directly by using a Helm key. — (read-only; control using configuration.dx.ssl and configuration.dx.releaseName)
DX_PORT configuration.dx.port Integer 443 Specifies the port number appended to the DX host for MCP Server API calls. Any valid port number
DX_SSL_ENABLED configuration.dx.ssl Boolean true Determines the URL scheme (https:// or http://) used for DX API calls. true, false
ALLOWED_HOSTS Auto-generated String <release>-mcp-server.<namespace>.svc.cluster.local:<port> Specifies the Kubernetes service FQDN used for allowed host validation. The system fully auto-generates this value from the release name, namespace, and port. You cannot configure this variable. — (read-only)

Tool configuration

Environment variable Helm values key Type Default Description Accepted values
MCP_SERVER_PORT configuration.mcpServer.mcpServerPort Integer 3000 Specifies the port that the MCP Server listens on inside the cluster. Any valid port number
ENABLE_WCM configuration.mcpServer.enableWcm Boolean true Enables Web Content Manager (WCM) and DX Core content tools. true, false
ENABLE_DAM configuration.mcpServer.enableDam Boolean true Enables Digital Asset Management (DAM) tools. true, false
STANDALONE_MODE configuration.mcpServer.standaloneMode Boolean false When set to true, this variable disables DX authentication tools and runs the MCP Server in isolation, without integrating with HCL DX user authentication. Use this mode for development or testing only. true, false
BODY_PARSER_JSON_LIMIT configuration.mcpServer.bodyParserJsonLimit String 1mb Specifies the maximum size for incoming JSON-RPC payloads. This setting uses Express.js byte notation (lowercase units). Increase this value if your deployment requires larger tool payloads. A size string with lowercase units (for example, 1mb, 5mb, 10mb)
HTTPS_ENABLED configuration.mcpServer.httpsEnabled Boolean false Enables HTTPS for the MCP Server. When enabled, set configuration.mcpServer.tlsCertSecret to the name of a Kubernetes Secret containing tls.crt and tls.key. true, false
HTTPS_KEY_PATH Fixed chart path String /etc/mcp-tls-config/tls.key Specifies the mounted TLS private-key path used by the MCP Server. This path is provided by the chart and should not be changed. A path to a mounted private-key file
HTTPS_CERT_PATH Fixed chart path String /etc/mcp-tls-config/tls.crt Specifies the mounted TLS certificate path used by the MCP Server. This path is provided by the chart and should not be changed. A path to a mounted certificate file

Operations

Environment variable Helm values key Type Default Description Accepted values
MAINTENANCE_MODE maintenanceMode.mcpServer Boolean false Starts the MCP Server pod in maintenance mode. The application does not run, but the container remains active to let you debug inside the container. true, false
Related information