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