| LOG_LEVEL | No | Log level |
| STORAGE_BACKEND | No | Storage backend type: sqlite (default) or postgresql |
| MAX_IMAGE_SIZE_MB | No | Maximum individual image size in megabytes |
| MAX_TOTAL_SIZE_MB | No | Maximum total request size in megabytes |
| DB_PATH | No | Custom database file location path |
| POOL_MAX_READERS | No | Maximum number of concurrent read connections in the pool |
| POOL_MAX_WRITERS | No | Maximum number of concurrent write connections in the pool |
| POOL_CONNECTION_TIMEOUT_S | No | Connection timeout in seconds |
| POOL_IDLE_TIMEOUT_S | No | Idle connection timeout in seconds |
| POOL_HEALTH_CHECK_INTERVAL_S | No | Connection health check interval in seconds |
| RETRY_MAX_RETRIES | No | Maximum number of retry attempts for failed operations |
| RETRY_BASE_DELAY_S | No | Base delay in seconds between retry attempts |
| RETRY_MAX_DELAY_S | No | Maximum delay in seconds between retry attempts |
| RETRY_JITTER | No | Enable random jitter in retry delays |
| RETRY_BACKOFF_FACTOR | No | Exponential backoff multiplication factor for retries |
| SQLITE_FOREIGN_KEYS | No | Enable SQLite foreign key constraints |
| SQLITE_JOURNAL_MODE | No | SQLite journal mode (e.g., WAL, DELETE) |
| SQLITE_SYNCHRONOUS | No | SQLite synchronous mode (e.g., NORMAL, FULL, OFF) |
| SQLITE_TEMP_STORE | No | SQLite temporary storage location (e.g., MEMORY, FILE) |
| SQLITE_MMAP_SIZE | No | SQLite memory-mapped I/O size in bytes |
| SQLITE_CACHE_SIZE | No | SQLite cache size (negative value for KB, positive for pages) |
| SQLITE_PAGE_SIZE | No | SQLite page size in bytes |
| SQLITE_WAL_AUTOCHECKPOINT | No | SQLite WAL autocheckpoint threshold in pages |
| SQLITE_BUSY_TIMEOUT_MS | No | SQLite busy timeout in milliseconds |
| SQLITE_WAL_CHECKPOINT | No | SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART) |
| SHUTDOWN_TIMEOUT_S | No | Server shutdown timeout in seconds |
| SHUTDOWN_TIMEOUT_TEST_S | No | Test mode shutdown timeout in seconds |
| QUEUE_TIMEOUT_S | No | Queue operation timeout in seconds |
| QUEUE_TIMEOUT_TEST_S | No | Test mode queue timeout in seconds |
| CIRCUIT_BREAKER_FAILURE_THRESHOLD | No | Circuit breaker failure threshold before opening |
| CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S | No | Circuit breaker recovery timeout in seconds |
| CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS | No | Maximum calls allowed in circuit breaker half-open state |
| POSTGRESQL_CONNECTION_STRING | No | Complete PostgreSQL connection string (overrides individual settings if provided) Secret. |
| POSTGRESQL_HOST | No | PostgreSQL server host address |
| POSTGRESQL_PORT | No | PostgreSQL server port number |
| POSTGRESQL_USER | No | PostgreSQL database username |
| POSTGRESQL_PASSWORD | No | PostgreSQL database password Secret. |
| POSTGRESQL_DATABASE | No | PostgreSQL database name |
| POSTGRESQL_POOL_MIN | No | PostgreSQL connection pool minimum size |
| POSTGRESQL_POOL_MAX | No | PostgreSQL connection pool maximum size |
| POSTGRESQL_POOL_TIMEOUT_S | No | PostgreSQL connection pool timeout in seconds |
| POSTGRESQL_COMMAND_TIMEOUT_S | No | PostgreSQL command execution timeout in seconds |
| POSTGRESQL_MIGRATION_TIMEOUT_S | No | Timeout in seconds for PostgreSQL migration operations (default: 300) |
| POSTGRESQL_MAX_INACTIVE_LIFETIME_S | No | Close idle PostgreSQL connections after this many seconds (0 to disable, default: 300) |
| POSTGRESQL_MAX_QUERIES | No | Recycle PostgreSQL connections after this many queries (0 to disable, default: 10000) |
| POSTGRESQL_TCP_KEEPALIVES_IDLE_S | No | Seconds of idle time before sending first TCP keepalive probe (0 to disable, default: 15) |
| POSTGRESQL_TCP_KEEPALIVES_INTERVAL_S | No | Seconds between subsequent TCP keepalive probes (0 to disable, default: 5) |
| POSTGRESQL_TCP_KEEPALIVES_COUNT | No | Number of failed TCP keepalive probes before connection is considered dead (0 to disable, default: 3) |
| POSTGRESQL_STATEMENT_CACHE_SIZE | No | asyncpg prepared statement cache size. Set to 0 for external pooler compatibility (PgBouncer transaction mode, Pgpool-II, etc.). Default: 100 |
| POSTGRESQL_MAX_CACHED_STATEMENT_LIFETIME_S | No | Maximum lifetime of cached prepared statements in seconds (default: 300). Has no effect when statement_cache_size=0 |
| POSTGRESQL_MAX_CACHEABLE_STATEMENT_SIZE | No | Maximum size of statement to cache in bytes (default: 15360). Has no effect when statement_cache_size=0 |
| POSTGRESQL_SSL_MODE | No | PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full) |
| POSTGRESQL_SCHEMA | No | PostgreSQL schema name for table and index operations (default: public) |
| ENABLE_SEMANTIC_SEARCH | No | Enable semantic search functionality |
| ENABLE_EMBEDDING_GENERATION | No | Enable embedding generation for stored context. Default true - server fails if dependencies not met. Set false to disable embeddings. |
| OLLAMA_HOST | No | Ollama API host URL for embedding generation |
| OLLAMA_AUTO_PULL | No | Automatically pull missing Ollama models on startup (default: true) |
| OLLAMA_PULL_TIMEOUT_S | No | Timeout in seconds for pulling Ollama models (default: 900, range: 30-3600) |
| EMBEDDING_OLLAMA_TRUNCATE | No | Ollama embedding truncation mode: false (default) returns error when context exceeded, true enables silent truncation |
| EMBEDDING_OLLAMA_NUM_CTX | No | Ollama embedding context window size in tokens (default: 4096, range: 512-2097152) |
| EMBEDDING_MODEL | No | Embedding model name for semantic search |
| EMBEDDING_DIM | No | Embedding vector dimensions |
| EMBEDDING_TIMEOUT_S | No | Timeout in seconds for embedding generation API calls |
| EMBEDDING_RETRY_MAX_ATTEMPTS | No | Maximum number of retry attempts for embedding generation |
| EMBEDDING_RETRY_BASE_DELAY_S | No | Base delay in seconds between retry attempts (with exponential backoff) |
| EMBEDDING_MAX_CONCURRENT | No | Maximum concurrent embedding generation operations (default: 3, range: 1-20) |
| ENABLE_SUMMARY_GENERATION | No | Enable summary generation for stored context. Default true - server fails if dependencies not met. Set false to disable summaries. |
| SUMMARY_PROVIDER | No | Summary provider: ollama (default), openai, or anthropic |
| SUMMARY_MODEL | No | Summary generation model name (default: qwen3:0.6b) |
| SUMMARY_MAX_TOKENS | No | Maximum output tokens for summary generation (default: 4000, range: 50-16384). Increase if summaries are truncated by reasoning models |
| SUMMARY_TIMEOUT_S | No | Timeout in seconds for summary generation API calls |
| SUMMARY_RETRY_MAX_ATTEMPTS | No | Maximum number of retry attempts for summary generation |
| SUMMARY_RETRY_BASE_DELAY_S | No | Base delay in seconds between retry attempts (with exponential backoff) |
| SUMMARY_MAX_CONCURRENT | No | Maximum concurrent summary generation operations (default: 3, range: 1-20) |
| SUMMARY_PROMPT | No | Custom summarization prompt. Overrides the built-in default. Used as system message for the LLM. |
| SUMMARY_MIN_CONTENT_LENGTH | No | Minimum text content length in characters to trigger summary generation (default: 500, range: 0-10000). Set to 0 to always generate. |
| SUMMARY_OLLAMA_NUM_CTX | No | Ollama summary context window size in tokens (default: 32768, range: 512-2097152) |
| SUMMARY_OLLAMA_TRUNCATE | No | Ollama summary truncation mode: false (default) returns error when context exceeded, true enables silent truncation |
| SUMMARY_OPENAI_REASONING_EFFORT | No | Reasoning effort level for OpenAI reasoning models (default: low). Valid values vary by generation: gpt-5: low, medium, high; gpt-5.1+: none, low, medium, high, xhigh. Default low is universally valid across all generations |
| SUMMARY_ANTHROPIC_EFFORT | No | Effort level for Anthropic Claude models (default: none). Valid values: max, high, medium, low. Controls inference effort (adaptive thinking) |
| ANTHROPIC_API_KEY | No | Anthropic API key for summary generation Secret. |
| ENABLE_FTS | No | Enable full-text search functionality |
| FTS_LANGUAGE | No | Language for FTS stemming (e.g., english, german, french) |
| FTS_RERANK_WINDOW_SIZE | No | Characters of context around each FTS match for reranking passage extraction (default: 750) |
| FTS_RERANK_GAP_MERGE | No | Merge FTS match regions within this character distance (default: 100) |
| ENABLE_HYBRID_SEARCH | No | Enable hybrid search combining FTS and semantic search with RRF fusion |
| HYBRID_RRF_K | No | RRF smoothing constant for hybrid search (default 60) |
| HYBRID_RRF_OVERFETCH | No | Multiplier for over-fetching results before RRF fusion (default: 2) |
| HYBRID_FTS_OR_THRESHOLD | No | Minimum significant query terms to switch hybrid FTS from AND to OR logic (default: 4) |
| SEARCH_DEFAULT_SORT_BY | No | Default sort order for search results: relevance (only 'relevance' supported in current version) |
| SEARCH_TRUNCATION_LENGTH | No | Maximum character length for truncated text_content in search results (default: 300, range: 50-1000) |
| ENABLE_CHUNKING | No | Enable text chunking for embedding generation (default: true) |
| CHUNK_SIZE | No | Target chunk size in characters (default: 1500) |
| CHUNK_OVERLAP | No | Overlap between chunks in characters (default: 150) |
| CHUNK_AGGREGATION | No | Chunk score aggregation method: max (only 'max' supported in current version) |
| CHUNK_DEDUP_OVERFETCH | No | Multiplier for over-fetching chunks before deduplication (default: 5) |
| ENABLE_RERANKING | No | Enable cross-encoder reranking of search results (default: true) |
| RERANKING_PROVIDER | No | Reranking provider (default: flashrank) |
| RERANKING_MODEL | No | Reranking model name (default: ms-marco-MiniLM-L-12-v2) |
| RERANKING_MAX_LENGTH | No | Maximum input length for reranking in tokens (default: 512) |
| RERANKING_OVERFETCH | No | Multiplier for over-fetching results before reranking (default: 4) |
| RERANKING_CACHE_DIR | No | Directory for caching reranking models |
| RERANKING_CHARS_PER_TOKEN | No | Estimated characters per token for passage size validation (default: 4.0, range: 2.0-8.0) |
| RERANKING_INTRA_OP_THREADS | No | ONNX Runtime intra-operation parallelism threads for reranking (default: 0 = auto-detect) |
| RERANKING_CPU_MEM_ARENA | No | Enable ONNX Runtime CPU memory arena for reranking (default: false) |
| RERANKING_BATCH_SIZE | No | Maximum passages per ONNX Runtime inference batch during reranking (default: 32) |
| EMBEDDING_PROVIDER | No | Embedding provider: ollama (default), openai, azure, huggingface, or voyage |
| OPENAI_API_KEY | No | OpenAI API key for OpenAI embedding provider Secret. |
| OPENAI_API_BASE | No | Custom base URL for OpenAI-compatible APIs |
| OPENAI_ORGANIZATION | No | OpenAI organization ID |
| AZURE_OPENAI_API_KEY | No | Azure OpenAI API key Secret. |
| AZURE_OPENAI_ENDPOINT | No | Azure OpenAI endpoint URL |
| AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME | No | Azure OpenAI embedding deployment name |
| AZURE_OPENAI_API_VERSION | No | Azure OpenAI API version (default: 2024-02-01) |
| HUGGINGFACEHUB_API_TOKEN | No | HuggingFace Hub API token for HuggingFace embedding provider Secret. |
| VOYAGE_API_KEY | No | Voyage AI API key for Voyage embedding provider Secret. |
| VOYAGE_TRUNCATION | No | Voyage AI truncation mode: false (default) returns error when context exceeded, true enables silent truncation |
| VOYAGE_BATCH_SIZE | No | Voyage AI batch size for embedding requests |
| LANGSMITH_TRACING | No | Enable LangSmith tracing |
| LANGSMITH_API_KEY | No | LangSmith API key Secret. |
| LANGSMITH_PROJECT | No | LangSmith project name |
| LANGSMITH_ENDPOINT | No | LangSmith API endpoint URL |
| METADATA_INDEXED_FIELDS | No | Comma-separated list of metadata fields to index (field:type format) |
| METADATA_INDEX_SYNC_MODE | No | Index sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only) |
| MCP_TRANSPORT | No | Transport mode: stdio for local, http for Docker/remote |
| FASTMCP_HOST | No | HTTP bind address (use 0.0.0.0 for Docker) |
| FASTMCP_PORT | No | HTTP port number |
| FASTMCP_STATELESS_HTTP | No | Enable stateless HTTP mode for horizontal scaling. Enabled by default as the server has no stateful MCP features. Set to false only if you need server-side MCP session tracking. |
| DISABLED_TOOLS | No | Comma-separated list of tools to disable (e.g., delete_context,update_context) |
| MCP_AUTH_TOKEN | No | Bearer token for HTTP authentication (required when using SimpleTokenVerifier) Secret. |
| MCP_AUTH_CLIENT_ID | No | Client ID to assign to authenticated requests |
| MCP_AUTH_PROVIDER | No | Authentication provider: none (default), simple_token |
| MCP_SERVER_INSTRUCTIONS | No | Custom server instructions text. Overrides built-in default. Set to empty string to disable. |
| LOG_LEVEL | No | Log level |
| STORAGE_BACKEND | No | Storage backend type: sqlite (default) or postgresql |
| MAX_IMAGE_SIZE_MB | No | Maximum individual image size in megabytes |
| MAX_TOTAL_SIZE_MB | No | Maximum total request size in megabytes |
| DB_PATH | No | Custom database file location path |
| POOL_MAX_READERS | No | Maximum number of concurrent read connections in the pool |
| POOL_MAX_WRITERS | No | Maximum number of concurrent write connections in the pool |
| POOL_CONNECTION_TIMEOUT_S | No | Connection timeout in seconds |
| POOL_IDLE_TIMEOUT_S | No | Idle connection timeout in seconds |
| POOL_HEALTH_CHECK_INTERVAL_S | No | Connection health check interval in seconds |
| RETRY_MAX_RETRIES | No | Maximum number of retry attempts for failed operations |
| RETRY_BASE_DELAY_S | No | Base delay in seconds between retry attempts |
| RETRY_MAX_DELAY_S | No | Maximum delay in seconds between retry attempts |
| RETRY_JITTER | No | Enable random jitter in retry delays |
| RETRY_BACKOFF_FACTOR | No | Exponential backoff multiplication factor for retries |
| SQLITE_FOREIGN_KEYS | No | Enable SQLite foreign key constraints |
| SQLITE_JOURNAL_MODE | No | SQLite journal mode (e.g., WAL, DELETE) |
| SQLITE_SYNCHRONOUS | No | SQLite synchronous mode (e.g., NORMAL, FULL, OFF) |
| SQLITE_TEMP_STORE | No | SQLite temporary storage location (e.g., MEMORY, FILE) |
| SQLITE_MMAP_SIZE | No | SQLite memory-mapped I/O size in bytes |
| SQLITE_CACHE_SIZE | No | SQLite cache size (negative value for KB, positive for pages) |
| SQLITE_PAGE_SIZE | No | SQLite page size in bytes |
| SQLITE_WAL_AUTOCHECKPOINT | No | SQLite WAL autocheckpoint threshold in pages |
| SQLITE_BUSY_TIMEOUT_MS | No | SQLite busy timeout in milliseconds |
| SQLITE_WAL_CHECKPOINT | No | SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART) |
| SHUTDOWN_TIMEOUT_S | No | Server shutdown timeout in seconds |
| SHUTDOWN_TIMEOUT_TEST_S | No | Test mode shutdown timeout in seconds |
| QUEUE_TIMEOUT_S | No | Queue operation timeout in seconds |
| QUEUE_TIMEOUT_TEST_S | No | Test mode queue timeout in seconds |
| CIRCUIT_BREAKER_FAILURE_THRESHOLD | No | Circuit breaker failure threshold before opening |
| CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S | No | Circuit breaker recovery timeout in seconds |
| CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS | No | Maximum calls allowed in circuit breaker half-open state |
| POSTGRESQL_CONNECTION_STRING | No | Complete PostgreSQL connection string (overrides individual settings if provided) Secret. |
| POSTGRESQL_HOST | No | PostgreSQL server host address |
| POSTGRESQL_PORT | No | PostgreSQL server port number |
| POSTGRESQL_USER | No | PostgreSQL database username |
| POSTGRESQL_PASSWORD | No | PostgreSQL database password Secret. |
| POSTGRESQL_DATABASE | No | PostgreSQL database name |
| POSTGRESQL_POOL_MIN | No | PostgreSQL connection pool minimum size |
| POSTGRESQL_POOL_MAX | No | PostgreSQL connection pool maximum size |
| POSTGRESQL_POOL_TIMEOUT_S | No | PostgreSQL connection pool timeout in seconds |
| POSTGRESQL_COMMAND_TIMEOUT_S | No | PostgreSQL command execution timeout in seconds |
| POSTGRESQL_MIGRATION_TIMEOUT_S | No | Timeout in seconds for PostgreSQL migration operations (default: 300) |
| POSTGRESQL_MAX_INACTIVE_LIFETIME_S | No | Close idle PostgreSQL connections after this many seconds (0 to disable, default: 300) |
| POSTGRESQL_MAX_QUERIES | No | Recycle PostgreSQL connections after this many queries (0 to disable, default: 10000) |
| POSTGRESQL_TCP_KEEPALIVES_IDLE_S | No | Seconds of idle time before sending first TCP keepalive probe (0 to disable, default: 15) |
| POSTGRESQL_TCP_KEEPALIVES_INTERVAL_S | No | Seconds between subsequent TCP keepalive probes (0 to disable, default: 5) |
| POSTGRESQL_TCP_KEEPALIVES_COUNT | No | Number of failed TCP keepalive probes before connection is considered dead (0 to disable, default: 3) |
| POSTGRESQL_STATEMENT_CACHE_SIZE | No | asyncpg prepared statement cache size. Set to 0 for external pooler compatibility (PgBouncer transaction mode, Pgpool-II, etc.). Default: 100 |
| POSTGRESQL_MAX_CACHED_STATEMENT_LIFETIME_S | No | Maximum lifetime of cached prepared statements in seconds (default: 300). Has no effect when statement_cache_size=0 |
| POSTGRESQL_MAX_CACHEABLE_STATEMENT_SIZE | No | Maximum size of statement to cache in bytes (default: 15360). Has no effect when statement_cache_size=0 |
| POSTGRESQL_SSL_MODE | No | PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full) |
| POSTGRESQL_SCHEMA | No | PostgreSQL schema name for table and index operations (default: public) |
| ENABLE_SEMANTIC_SEARCH | No | Enable semantic search functionality |
| ENABLE_EMBEDDING_GENERATION | No | Enable embedding generation for stored context. Default true - server fails if dependencies not met. Set false to disable embeddings. |
| OLLAMA_HOST | No | Ollama API host URL for embedding generation |
| OLLAMA_AUTO_PULL | No | Automatically pull missing Ollama models on startup (default: true) |
| OLLAMA_PULL_TIMEOUT_S | No | Timeout in seconds for pulling Ollama models (default: 900, range: 30-3600) |
| EMBEDDING_OLLAMA_TRUNCATE | No | Ollama embedding truncation mode: false (default) returns error when context exceeded, true enables silent truncation |
| EMBEDDING_OLLAMA_NUM_CTX | No | Ollama embedding context window size in tokens (default: 4096, range: 512-2097152) |
| EMBEDDING_MODEL | No | Embedding model name for semantic search |
| EMBEDDING_DIM | No | Embedding vector dimensions |
| EMBEDDING_TIMEOUT_S | No | Timeout in seconds for embedding generation API calls |
| EMBEDDING_RETRY_MAX_ATTEMPTS | No | Maximum number of retry attempts for embedding generation |
| EMBEDDING_RETRY_BASE_DELAY_S | No | Base delay in seconds between retry attempts (with exponential backoff) |
| EMBEDDING_MAX_CONCURRENT | No | Maximum concurrent embedding generation operations (default: 3, range: 1-20) |
| ENABLE_SUMMARY_GENERATION | No | Enable summary generation for stored context. Default true - server fails if dependencies not met. Set false to disable summaries. |
| SUMMARY_PROVIDER | No | Summary provider: ollama (default), openai, or anthropic |
| SUMMARY_MODEL | No | Summary generation model name (default: qwen3:0.6b) |
| SUMMARY_MAX_TOKENS | No | Maximum output tokens for summary generation (default: 4000, range: 50-16384). Increase if summaries are truncated by reasoning models |
| SUMMARY_TIMEOUT_S | No | Timeout in seconds for summary generation API calls |
| SUMMARY_RETRY_MAX_ATTEMPTS | No | Maximum number of retry attempts for summary generation |
| SUMMARY_RETRY_BASE_DELAY_S | No | Base delay in seconds between retry attempts (with exponential backoff) |
| SUMMARY_MAX_CONCURRENT | No | Maximum concurrent summary generation operations (default: 3, range: 1-20) |
| SUMMARY_PROMPT | No | Custom summarization prompt. Overrides the built-in default. Used as system message for the LLM. |
| SUMMARY_MIN_CONTENT_LENGTH | No | Minimum text content length in characters to trigger summary generation (default: 500, range: 0-10000). Set to 0 to always generate. |
| SUMMARY_OLLAMA_NUM_CTX | No | Ollama summary context window size in tokens (default: 32768, range: 512-2097152) |
| SUMMARY_OLLAMA_TRUNCATE | No | Ollama summary truncation mode: false (default) returns error when context exceeded, true enables silent truncation |
| SUMMARY_OPENAI_REASONING_EFFORT | No | Reasoning effort level for OpenAI reasoning models (default: low). Valid values vary by generation: gpt-5: low, medium, high; gpt-5.1+: none, low, medium, high, xhigh. Default low is universally valid across all generations |
| SUMMARY_ANTHROPIC_EFFORT | No | Effort level for Anthropic Claude models (default: none). Valid values: max, high, medium, low. Controls inference effort (adaptive thinking) |
| ANTHROPIC_API_KEY | No | Anthropic API key for summary generation Secret. |
| ENABLE_FTS | No | Enable full-text search functionality |
| FTS_LANGUAGE | No | Language for FTS stemming (e.g., english, german, french) |
| FTS_RERANK_WINDOW_SIZE | No | Characters of context around each FTS match for reranking passage extraction (default: 750) |
| FTS_RERANK_GAP_MERGE | No | Merge FTS match regions within this character distance (default: 100) |
| ENABLE_HYBRID_SEARCH | No | Enable hybrid search combining FTS and semantic search with RRF fusion |
| HYBRID_RRF_K | No | RRF smoothing constant for hybrid search (default 60) |
| HYBRID_RRF_OVERFETCH | No | Multiplier for over-fetching results before RRF fusion (default: 2) |
| HYBRID_FTS_OR_THRESHOLD | No | Minimum significant query terms to switch hybrid FTS from AND to OR logic (default: 4) |
| SEARCH_DEFAULT_SORT_BY | No | Default sort order for search results: relevance (only 'relevance' supported in current version) |
| SEARCH_TRUNCATION_LENGTH | No | Maximum character length for truncated text_content in search results (default: 300, range: 50-1000) |
| ENABLE_CHUNKING | No | Enable text chunking for embedding generation (default: true) |
| CHUNK_SIZE | No | Target chunk size in characters (default: 1500) |
| CHUNK_OVERLAP | No | Overlap between chunks in characters (default: 150) |
| CHUNK_AGGREGATION | No | Chunk score aggregation method: max (only 'max' supported in current version) |
| CHUNK_DEDUP_OVERFETCH | No | Multiplier for over-fetching chunks before deduplication (default: 5) |
| ENABLE_RERANKING | No | Enable cross-encoder reranking of search results (default: true) |
| RERANKING_PROVIDER | No | Reranking provider (default: flashrank) |
| RERANKING_MODEL | No | Reranking model name (default: ms-marco-MiniLM-L-12-v2) |
| RERANKING_MAX_LENGTH | No | Maximum input length for reranking in tokens (default: 512) |
| RERANKING_OVERFETCH | No | Multiplier for over-fetching results before reranking (default: 4) |
| RERANKING_CACHE_DIR | No | Directory for caching reranking models |
| RERANKING_CHARS_PER_TOKEN | No | Estimated characters per token for passage size validation (default: 4.0, range: 2.0-8.0) |
| RERANKING_INTRA_OP_THREADS | No | ONNX Runtime intra-operation parallelism threads for reranking (default: 0 = auto-detect) |
| RERANKING_CPU_MEM_ARENA | No | Enable ONNX Runtime CPU memory arena for reranking (default: false) |
| RERANKING_BATCH_SIZE | No | Maximum passages per ONNX Runtime inference batch during reranking (default: 32) |
| EMBEDDING_PROVIDER | No | Embedding provider: ollama (default), openai, azure, huggingface, or voyage |
| OPENAI_API_KEY | No | OpenAI API key for OpenAI embedding provider Secret. |
| OPENAI_API_BASE | No | Custom base URL for OpenAI-compatible APIs |
| OPENAI_ORGANIZATION | No | OpenAI organization ID |
| AZURE_OPENAI_API_KEY | No | Azure OpenAI API key Secret. |
| AZURE_OPENAI_ENDPOINT | No | Azure OpenAI endpoint URL |
| AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME | No | Azure OpenAI embedding deployment name |
| AZURE_OPENAI_API_VERSION | No | Azure OpenAI API version (default: 2024-02-01) |
| HUGGINGFACEHUB_API_TOKEN | No | HuggingFace Hub API token for HuggingFace embedding provider Secret. |
| VOYAGE_API_KEY | No | Voyage AI API key for Voyage embedding provider Secret. |
| VOYAGE_TRUNCATION | No | Voyage AI truncation mode: false (default) returns error when context exceeded, true enables silent truncation |
| VOYAGE_BATCH_SIZE | No | Voyage AI batch size for embedding requests |
| LANGSMITH_TRACING | No | Enable LangSmith tracing |
| LANGSMITH_API_KEY | No | LangSmith API key Secret. |
| LANGSMITH_PROJECT | No | LangSmith project name |
| LANGSMITH_ENDPOINT | No | LangSmith API endpoint URL |
| METADATA_INDEXED_FIELDS | No | Comma-separated list of metadata fields to index (field:type format) |
| METADATA_INDEX_SYNC_MODE | No | Index sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only) |
| MCP_TRANSPORT | No | Transport mode: stdio for local, http for Docker/remote |
| FASTMCP_HOST | No | HTTP bind address (use 0.0.0.0 for Docker) |
| FASTMCP_PORT | No | HTTP port number |
| FASTMCP_STATELESS_HTTP | No | Enable stateless HTTP mode for horizontal scaling. Enabled by default as the server has no stateful MCP features. Set to false only if you need server-side MCP session tracking. |
| DISABLED_TOOLS | No | Comma-separated list of tools to disable (e.g., delete_context,update_context) |
| MCP_AUTH_TOKEN | No | Bearer token for HTTP authentication (required when using SimpleTokenVerifier) Secret. |
| MCP_AUTH_CLIENT_ID | No | Client ID to assign to authenticated requests |
| MCP_AUTH_PROVIDER | No | Authentication provider: none (default), simple_token |
| MCP_SERVER_INSTRUCTIONS | No | Custom server instructions text. Overrides built-in default. Set to empty string to disable. |