← Index

io.github.alex-feel/mcp-context-server

io.github.alex-feel/mcp-context-server·v2.2.2·AI & LLMs
Quality Score
85
/100

An MCP server that provides persistent multimodal context storage for LLM agents.

§01  Install
Claude Desktop (uvx)
{
  "mcpServers": {
    "mcp-context-server": {
      "command": "uvx",
      "args": [
        "mcp-context-server"
      ],
      "env": {
        "LOG_LEVEL": "<log_level>",
        "STORAGE_BACKEND": "<storage_backend>",
        "MAX_IMAGE_SIZE_MB": "<max_image_size_mb>",
        "MAX_TOTAL_SIZE_MB": "<max_total_size_mb>",
        "DB_PATH": "<db_path>",
        "POOL_MAX_READERS": "<pool_max_readers>",
        "POOL_MAX_WRITERS": "<pool_max_writers>",
        "POOL_CONNECTION_TIMEOUT_S": "<pool_connection_timeout_s>",
        "POOL_IDLE_TIMEOUT_S": "<pool_idle_timeout_s>",
        "POOL_HEALTH_CHECK_INTERVAL_S": "<pool_health_check_interval_s>",
        "RETRY_MAX_RETRIES": "<retry_max_retries>",
        "RETRY_BASE_DELAY_S": "<retry_base_delay_s>",
        "RETRY_MAX_DELAY_S": "<retry_max_delay_s>",
        "RETRY_JITTER": "<retry_jitter>",
        "RETRY_BACKOFF_FACTOR": "<retry_backoff_factor>",
        "SQLITE_FOREIGN_KEYS": "<sqlite_foreign_keys>",
        "SQLITE_JOURNAL_MODE": "<sqlite_journal_mode>",
        "SQLITE_SYNCHRONOUS": "<sqlite_synchronous>",
        "SQLITE_TEMP_STORE": "<sqlite_temp_store>",
        "SQLITE_MMAP_SIZE": "<sqlite_mmap_size>",
        "SQLITE_CACHE_SIZE": "<sqlite_cache_size>",
        "SQLITE_PAGE_SIZE": "<sqlite_page_size>",
        "SQLITE_WAL_AUTOCHECKPOINT": "<sqlite_wal_autocheckpoint>",
        "SQLITE_BUSY_TIMEOUT_MS": "<sqlite_busy_timeout_ms>",
        "SQLITE_WAL_CHECKPOINT": "<sqlite_wal_checkpoint>",
        "SHUTDOWN_TIMEOUT_S": "<shutdown_timeout_s>",
        "SHUTDOWN_TIMEOUT_TEST_S": "<shutdown_timeout_test_s>",
        "QUEUE_TIMEOUT_S": "<queue_timeout_s>",
        "QUEUE_TIMEOUT_TEST_S": "<queue_timeout_test_s>",
        "CIRCUIT_BREAKER_FAILURE_THRESHOLD": "<circuit_breaker_failure_threshold>",
        "CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S": "<circuit_breaker_recovery_timeout_s>",
        "CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS": "<circuit_breaker_half_open_max_calls>",
        "POSTGRESQL_CONNECTION_STRING": "<your-postgresql_connection_string>",
        "POSTGRESQL_HOST": "<postgresql_host>",
        "POSTGRESQL_PORT": "<postgresql_port>",
        "POSTGRESQL_USER": "<postgresql_user>",
        "POSTGRESQL_PASSWORD": "<your-postgresql_password>",
        "POSTGRESQL_DATABASE": "<postgresql_database>",
        "POSTGRESQL_POOL_MIN": "<postgresql_pool_min>",
        "POSTGRESQL_POOL_MAX": "<postgresql_pool_max>",
        "POSTGRESQL_POOL_TIMEOUT_S": "<postgresql_pool_timeout_s>",
        "POSTGRESQL_COMMAND_TIMEOUT_S": "<postgresql_command_timeout_s>",
        "POSTGRESQL_MIGRATION_TIMEOUT_S": "<postgresql_migration_timeout_s>",
        "POSTGRESQL_MAX_INACTIVE_LIFETIME_S": "<postgresql_max_inactive_lifetime_s>",
        "POSTGRESQL_MAX_QUERIES": "<postgresql_max_queries>",
        "POSTGRESQL_TCP_KEEPALIVES_IDLE_S": "<postgresql_tcp_keepalives_idle_s>",
        "POSTGRESQL_TCP_KEEPALIVES_INTERVAL_S": "<postgresql_tcp_keepalives_interval_s>",
        "POSTGRESQL_TCP_KEEPALIVES_COUNT": "<postgresql_tcp_keepalives_count>",
        "POSTGRESQL_STATEMENT_CACHE_SIZE": "<postgresql_statement_cache_size>",
        "POSTGRESQL_MAX_CACHED_STATEMENT_LIFETIME_S": "<postgresql_max_cached_statement_lifetime_s>",
        "POSTGRESQL_MAX_CACHEABLE_STATEMENT_SIZE": "<postgresql_max_cacheable_statement_size>",
        "POSTGRESQL_SSL_MODE": "<postgresql_ssl_mode>",
        "POSTGRESQL_SCHEMA": "<postgresql_schema>",
        "ENABLE_SEMANTIC_SEARCH": "<enable_semantic_search>",
        "ENABLE_EMBEDDING_GENERATION": "<enable_embedding_generation>",
        "OLLAMA_HOST": "<ollama_host>",
        "OLLAMA_AUTO_PULL": "<ollama_auto_pull>",
        "OLLAMA_PULL_TIMEOUT_S": "<ollama_pull_timeout_s>",
        "EMBEDDING_OLLAMA_TRUNCATE": "<embedding_ollama_truncate>",
        "EMBEDDING_OLLAMA_NUM_CTX": "<embedding_ollama_num_ctx>",
        "EMBEDDING_MODEL": "<embedding_model>",
        "EMBEDDING_DIM": "<embedding_dim>",
        "EMBEDDING_TIMEOUT_S": "<embedding_timeout_s>",
        "EMBEDDING_RETRY_MAX_ATTEMPTS": "<embedding_retry_max_attempts>",
        "EMBEDDING_RETRY_BASE_DELAY_S": "<embedding_retry_base_delay_s>",
        "EMBEDDING_MAX_CONCURRENT": "<embedding_max_concurrent>",
        "ENABLE_SUMMARY_GENERATION": "<enable_summary_generation>",
        "SUMMARY_PROVIDER": "<summary_provider>",
        "SUMMARY_MODEL": "<summary_model>",
        "SUMMARY_MAX_TOKENS": "<summary_max_tokens>",
        "SUMMARY_TIMEOUT_S": "<summary_timeout_s>",
        "SUMMARY_RETRY_MAX_ATTEMPTS": "<summary_retry_max_attempts>",
        "SUMMARY_RETRY_BASE_DELAY_S": "<summary_retry_base_delay_s>",
        "SUMMARY_MAX_CONCURRENT": "<summary_max_concurrent>",
        "SUMMARY_PROMPT": "<summary_prompt>",
        "SUMMARY_MIN_CONTENT_LENGTH": "<summary_min_content_length>",
        "SUMMARY_OLLAMA_NUM_CTX": "<summary_ollama_num_ctx>",
        "SUMMARY_OLLAMA_TRUNCATE": "<summary_ollama_truncate>",
        "SUMMARY_OPENAI_REASONING_EFFORT": "<summary_openai_reasoning_effort>",
        "SUMMARY_ANTHROPIC_EFFORT": "<summary_anthropic_effort>",
        "ANTHROPIC_API_KEY": "<your-anthropic_api_key>",
        "ENABLE_FTS": "<enable_fts>",
        "FTS_LANGUAGE": "<fts_language>",
        "FTS_RERANK_WINDOW_SIZE": "<fts_rerank_window_size>",
        "FTS_RERANK_GAP_MERGE": "<fts_rerank_gap_merge>",
        "ENABLE_HYBRID_SEARCH": "<enable_hybrid_search>",
        "HYBRID_RRF_K": "<hybrid_rrf_k>",
        "HYBRID_RRF_OVERFETCH": "<hybrid_rrf_overfetch>",
        "HYBRID_FTS_OR_THRESHOLD": "<hybrid_fts_or_threshold>",
        "SEARCH_DEFAULT_SORT_BY": "<search_default_sort_by>",
        "SEARCH_TRUNCATION_LENGTH": "<search_truncation_length>",
        "ENABLE_CHUNKING": "<enable_chunking>",
        "CHUNK_SIZE": "<chunk_size>",
        "CHUNK_OVERLAP": "<chunk_overlap>",
        "CHUNK_AGGREGATION": "<chunk_aggregation>",
        "CHUNK_DEDUP_OVERFETCH": "<chunk_dedup_overfetch>",
        "ENABLE_RERANKING": "<enable_reranking>",
        "RERANKING_PROVIDER": "<reranking_provider>",
        "RERANKING_MODEL": "<reranking_model>",
        "RERANKING_MAX_LENGTH": "<reranking_max_length>",
        "RERANKING_OVERFETCH": "<reranking_overfetch>",
        "RERANKING_CACHE_DIR": "<reranking_cache_dir>",
        "RERANKING_CHARS_PER_TOKEN": "<reranking_chars_per_token>",
        "RERANKING_INTRA_OP_THREADS": "<reranking_intra_op_threads>",
        "RERANKING_CPU_MEM_ARENA": "<reranking_cpu_mem_arena>",
        "RERANKING_BATCH_SIZE": "<reranking_batch_size>",
        "EMBEDDING_PROVIDER": "<embedding_provider>",
        "OPENAI_API_KEY": "<your-openai_api_key>",
        "OPENAI_API_BASE": "<openai_api_base>",
        "OPENAI_ORGANIZATION": "<openai_organization>",
        "AZURE_OPENAI_API_KEY": "<your-azure_openai_api_key>",
        "AZURE_OPENAI_ENDPOINT": "<azure_openai_endpoint>",
        "AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME": "<azure_openai_embedding_deployment_name>",
        "AZURE_OPENAI_API_VERSION": "<azure_openai_api_version>",
        "HUGGINGFACEHUB_API_TOKEN": "<your-huggingfacehub_api_token>",
        "VOYAGE_API_KEY": "<your-voyage_api_key>",
        "VOYAGE_TRUNCATION": "<voyage_truncation>",
        "VOYAGE_BATCH_SIZE": "<voyage_batch_size>",
        "LANGSMITH_TRACING": "<langsmith_tracing>",
        "LANGSMITH_API_KEY": "<your-langsmith_api_key>",
        "LANGSMITH_PROJECT": "<langsmith_project>",
        "LANGSMITH_ENDPOINT": "<langsmith_endpoint>",
        "METADATA_INDEXED_FIELDS": "<metadata_indexed_fields>",
        "METADATA_INDEX_SYNC_MODE": "<metadata_index_sync_mode>",
        "MCP_TRANSPORT": "<mcp_transport>",
        "FASTMCP_HOST": "<fastmcp_host>",
        "FASTMCP_PORT": "<fastmcp_port>",
        "FASTMCP_STATELESS_HTTP": "<fastmcp_stateless_http>",
        "DISABLED_TOOLS": "<disabled_tools>",
        "MCP_AUTH_TOKEN": "<your-mcp_auth_token>",
        "MCP_AUTH_CLIENT_ID": "<mcp_auth_client_id>",
        "MCP_AUTH_PROVIDER": "<mcp_auth_provider>",
        "MCP_SERVER_INSTRUCTIONS": "<mcp_server_instructions>"
      }
    }
  }
}
Claude Desktop (Docker)
{
  "mcpServers": {
    "mcp-context-server": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/alex-feel/mcp-context-server:2.2.2"
      ],
      "env": {
        "LOG_LEVEL": "<log_level>",
        "STORAGE_BACKEND": "<storage_backend>",
        "MAX_IMAGE_SIZE_MB": "<max_image_size_mb>",
        "MAX_TOTAL_SIZE_MB": "<max_total_size_mb>",
        "DB_PATH": "<db_path>",
        "POOL_MAX_READERS": "<pool_max_readers>",
        "POOL_MAX_WRITERS": "<pool_max_writers>",
        "POOL_CONNECTION_TIMEOUT_S": "<pool_connection_timeout_s>",
        "POOL_IDLE_TIMEOUT_S": "<pool_idle_timeout_s>",
        "POOL_HEALTH_CHECK_INTERVAL_S": "<pool_health_check_interval_s>",
        "RETRY_MAX_RETRIES": "<retry_max_retries>",
        "RETRY_BASE_DELAY_S": "<retry_base_delay_s>",
        "RETRY_MAX_DELAY_S": "<retry_max_delay_s>",
        "RETRY_JITTER": "<retry_jitter>",
        "RETRY_BACKOFF_FACTOR": "<retry_backoff_factor>",
        "SQLITE_FOREIGN_KEYS": "<sqlite_foreign_keys>",
        "SQLITE_JOURNAL_MODE": "<sqlite_journal_mode>",
        "SQLITE_SYNCHRONOUS": "<sqlite_synchronous>",
        "SQLITE_TEMP_STORE": "<sqlite_temp_store>",
        "SQLITE_MMAP_SIZE": "<sqlite_mmap_size>",
        "SQLITE_CACHE_SIZE": "<sqlite_cache_size>",
        "SQLITE_PAGE_SIZE": "<sqlite_page_size>",
        "SQLITE_WAL_AUTOCHECKPOINT": "<sqlite_wal_autocheckpoint>",
        "SQLITE_BUSY_TIMEOUT_MS": "<sqlite_busy_timeout_ms>",
        "SQLITE_WAL_CHECKPOINT": "<sqlite_wal_checkpoint>",
        "SHUTDOWN_TIMEOUT_S": "<shutdown_timeout_s>",
        "SHUTDOWN_TIMEOUT_TEST_S": "<shutdown_timeout_test_s>",
        "QUEUE_TIMEOUT_S": "<queue_timeout_s>",
        "QUEUE_TIMEOUT_TEST_S": "<queue_timeout_test_s>",
        "CIRCUIT_BREAKER_FAILURE_THRESHOLD": "<circuit_breaker_failure_threshold>",
        "CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S": "<circuit_breaker_recovery_timeout_s>",
        "CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS": "<circuit_breaker_half_open_max_calls>",
        "POSTGRESQL_CONNECTION_STRING": "<your-postgresql_connection_string>",
        "POSTGRESQL_HOST": "<postgresql_host>",
        "POSTGRESQL_PORT": "<postgresql_port>",
        "POSTGRESQL_USER": "<postgresql_user>",
        "POSTGRESQL_PASSWORD": "<your-postgresql_password>",
        "POSTGRESQL_DATABASE": "<postgresql_database>",
        "POSTGRESQL_POOL_MIN": "<postgresql_pool_min>",
        "POSTGRESQL_POOL_MAX": "<postgresql_pool_max>",
        "POSTGRESQL_POOL_TIMEOUT_S": "<postgresql_pool_timeout_s>",
        "POSTGRESQL_COMMAND_TIMEOUT_S": "<postgresql_command_timeout_s>",
        "POSTGRESQL_MIGRATION_TIMEOUT_S": "<postgresql_migration_timeout_s>",
        "POSTGRESQL_MAX_INACTIVE_LIFETIME_S": "<postgresql_max_inactive_lifetime_s>",
        "POSTGRESQL_MAX_QUERIES": "<postgresql_max_queries>",
        "POSTGRESQL_TCP_KEEPALIVES_IDLE_S": "<postgresql_tcp_keepalives_idle_s>",
        "POSTGRESQL_TCP_KEEPALIVES_INTERVAL_S": "<postgresql_tcp_keepalives_interval_s>",
        "POSTGRESQL_TCP_KEEPALIVES_COUNT": "<postgresql_tcp_keepalives_count>",
        "POSTGRESQL_STATEMENT_CACHE_SIZE": "<postgresql_statement_cache_size>",
        "POSTGRESQL_MAX_CACHED_STATEMENT_LIFETIME_S": "<postgresql_max_cached_statement_lifetime_s>",
        "POSTGRESQL_MAX_CACHEABLE_STATEMENT_SIZE": "<postgresql_max_cacheable_statement_size>",
        "POSTGRESQL_SSL_MODE": "<postgresql_ssl_mode>",
        "POSTGRESQL_SCHEMA": "<postgresql_schema>",
        "ENABLE_SEMANTIC_SEARCH": "<enable_semantic_search>",
        "ENABLE_EMBEDDING_GENERATION": "<enable_embedding_generation>",
        "OLLAMA_HOST": "<ollama_host>",
        "OLLAMA_AUTO_PULL": "<ollama_auto_pull>",
        "OLLAMA_PULL_TIMEOUT_S": "<ollama_pull_timeout_s>",
        "EMBEDDING_OLLAMA_TRUNCATE": "<embedding_ollama_truncate>",
        "EMBEDDING_OLLAMA_NUM_CTX": "<embedding_ollama_num_ctx>",
        "EMBEDDING_MODEL": "<embedding_model>",
        "EMBEDDING_DIM": "<embedding_dim>",
        "EMBEDDING_TIMEOUT_S": "<embedding_timeout_s>",
        "EMBEDDING_RETRY_MAX_ATTEMPTS": "<embedding_retry_max_attempts>",
        "EMBEDDING_RETRY_BASE_DELAY_S": "<embedding_retry_base_delay_s>",
        "EMBEDDING_MAX_CONCURRENT": "<embedding_max_concurrent>",
        "ENABLE_SUMMARY_GENERATION": "<enable_summary_generation>",
        "SUMMARY_PROVIDER": "<summary_provider>",
        "SUMMARY_MODEL": "<summary_model>",
        "SUMMARY_MAX_TOKENS": "<summary_max_tokens>",
        "SUMMARY_TIMEOUT_S": "<summary_timeout_s>",
        "SUMMARY_RETRY_MAX_ATTEMPTS": "<summary_retry_max_attempts>",
        "SUMMARY_RETRY_BASE_DELAY_S": "<summary_retry_base_delay_s>",
        "SUMMARY_MAX_CONCURRENT": "<summary_max_concurrent>",
        "SUMMARY_PROMPT": "<summary_prompt>",
        "SUMMARY_MIN_CONTENT_LENGTH": "<summary_min_content_length>",
        "SUMMARY_OLLAMA_NUM_CTX": "<summary_ollama_num_ctx>",
        "SUMMARY_OLLAMA_TRUNCATE": "<summary_ollama_truncate>",
        "SUMMARY_OPENAI_REASONING_EFFORT": "<summary_openai_reasoning_effort>",
        "SUMMARY_ANTHROPIC_EFFORT": "<summary_anthropic_effort>",
        "ANTHROPIC_API_KEY": "<your-anthropic_api_key>",
        "ENABLE_FTS": "<enable_fts>",
        "FTS_LANGUAGE": "<fts_language>",
        "FTS_RERANK_WINDOW_SIZE": "<fts_rerank_window_size>",
        "FTS_RERANK_GAP_MERGE": "<fts_rerank_gap_merge>",
        "ENABLE_HYBRID_SEARCH": "<enable_hybrid_search>",
        "HYBRID_RRF_K": "<hybrid_rrf_k>",
        "HYBRID_RRF_OVERFETCH": "<hybrid_rrf_overfetch>",
        "HYBRID_FTS_OR_THRESHOLD": "<hybrid_fts_or_threshold>",
        "SEARCH_DEFAULT_SORT_BY": "<search_default_sort_by>",
        "SEARCH_TRUNCATION_LENGTH": "<search_truncation_length>",
        "ENABLE_CHUNKING": "<enable_chunking>",
        "CHUNK_SIZE": "<chunk_size>",
        "CHUNK_OVERLAP": "<chunk_overlap>",
        "CHUNK_AGGREGATION": "<chunk_aggregation>",
        "CHUNK_DEDUP_OVERFETCH": "<chunk_dedup_overfetch>",
        "ENABLE_RERANKING": "<enable_reranking>",
        "RERANKING_PROVIDER": "<reranking_provider>",
        "RERANKING_MODEL": "<reranking_model>",
        "RERANKING_MAX_LENGTH": "<reranking_max_length>",
        "RERANKING_OVERFETCH": "<reranking_overfetch>",
        "RERANKING_CACHE_DIR": "<reranking_cache_dir>",
        "RERANKING_CHARS_PER_TOKEN": "<reranking_chars_per_token>",
        "RERANKING_INTRA_OP_THREADS": "<reranking_intra_op_threads>",
        "RERANKING_CPU_MEM_ARENA": "<reranking_cpu_mem_arena>",
        "RERANKING_BATCH_SIZE": "<reranking_batch_size>",
        "EMBEDDING_PROVIDER": "<embedding_provider>",
        "OPENAI_API_KEY": "<your-openai_api_key>",
        "OPENAI_API_BASE": "<openai_api_base>",
        "OPENAI_ORGANIZATION": "<openai_organization>",
        "AZURE_OPENAI_API_KEY": "<your-azure_openai_api_key>",
        "AZURE_OPENAI_ENDPOINT": "<azure_openai_endpoint>",
        "AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME": "<azure_openai_embedding_deployment_name>",
        "AZURE_OPENAI_API_VERSION": "<azure_openai_api_version>",
        "HUGGINGFACEHUB_API_TOKEN": "<your-huggingfacehub_api_token>",
        "VOYAGE_API_KEY": "<your-voyage_api_key>",
        "VOYAGE_TRUNCATION": "<voyage_truncation>",
        "VOYAGE_BATCH_SIZE": "<voyage_batch_size>",
        "LANGSMITH_TRACING": "<langsmith_tracing>",
        "LANGSMITH_API_KEY": "<your-langsmith_api_key>",
        "LANGSMITH_PROJECT": "<langsmith_project>",
        "LANGSMITH_ENDPOINT": "<langsmith_endpoint>",
        "METADATA_INDEXED_FIELDS": "<metadata_indexed_fields>",
        "METADATA_INDEX_SYNC_MODE": "<metadata_index_sync_mode>",
        "MCP_TRANSPORT": "<mcp_transport>",
        "FASTMCP_HOST": "<fastmcp_host>",
        "FASTMCP_PORT": "<fastmcp_port>",
        "FASTMCP_STATELESS_HTTP": "<fastmcp_stateless_http>",
        "DISABLED_TOOLS": "<disabled_tools>",
        "MCP_AUTH_TOKEN": "<your-mcp_auth_token>",
        "MCP_AUTH_CLIENT_ID": "<mcp_auth_client_id>",
        "MCP_AUTH_PROVIDER": "<mcp_auth_provider>",
        "MCP_SERVER_INSTRUCTIONS": "<mcp_server_instructions>"
      }
    }
  }
}
§02  Environment variables
LOG_LEVEL

Log level

STORAGE_BACKEND

Storage backend type: sqlite (default) or postgresql

MAX_IMAGE_SIZE_MB

Maximum individual image size in megabytes

MAX_TOTAL_SIZE_MB

Maximum total request size in megabytes

DB_PATH

Custom database file location path

POOL_MAX_READERS

Maximum number of concurrent read connections in the pool

POOL_MAX_WRITERS

Maximum number of concurrent write connections in the pool

POOL_CONNECTION_TIMEOUT_S

Connection timeout in seconds

POOL_IDLE_TIMEOUT_S

Idle connection timeout in seconds

POOL_HEALTH_CHECK_INTERVAL_S

Connection health check interval in seconds

RETRY_MAX_RETRIES

Maximum number of retry attempts for failed operations

RETRY_BASE_DELAY_S

Base delay in seconds between retry attempts

RETRY_MAX_DELAY_S

Maximum delay in seconds between retry attempts

RETRY_JITTER

Enable random jitter in retry delays

RETRY_BACKOFF_FACTOR

Exponential backoff multiplication factor for retries

SQLITE_FOREIGN_KEYS

Enable SQLite foreign key constraints

SQLITE_JOURNAL_MODE

SQLite journal mode (e.g., WAL, DELETE)

SQLITE_SYNCHRONOUS

SQLite synchronous mode (e.g., NORMAL, FULL, OFF)

SQLITE_TEMP_STORE

SQLite temporary storage location (e.g., MEMORY, FILE)

SQLITE_MMAP_SIZE

SQLite memory-mapped I/O size in bytes

SQLITE_CACHE_SIZE

SQLite cache size (negative value for KB, positive for pages)

SQLITE_PAGE_SIZE

SQLite page size in bytes

SQLITE_WAL_AUTOCHECKPOINT

SQLite WAL autocheckpoint threshold in pages

SQLITE_BUSY_TIMEOUT_MS

SQLite busy timeout in milliseconds

SQLITE_WAL_CHECKPOINT

SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)

SHUTDOWN_TIMEOUT_S

Server shutdown timeout in seconds

SHUTDOWN_TIMEOUT_TEST_S

Test mode shutdown timeout in seconds

QUEUE_TIMEOUT_S

Queue operation timeout in seconds

QUEUE_TIMEOUT_TEST_S

Test mode queue timeout in seconds

CIRCUIT_BREAKER_FAILURE_THRESHOLD

Circuit breaker failure threshold before opening

CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S

Circuit breaker recovery timeout in seconds

CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS

Maximum calls allowed in circuit breaker half-open state

POSTGRESQL_CONNECTION_STRING
secret

Complete PostgreSQL connection string (overrides individual settings if provided)

POSTGRESQL_HOST

PostgreSQL server host address

POSTGRESQL_PORT

PostgreSQL server port number

POSTGRESQL_USER

PostgreSQL database username

POSTGRESQL_PASSWORD
secret

PostgreSQL database password

POSTGRESQL_DATABASE

PostgreSQL database name

POSTGRESQL_POOL_MIN

PostgreSQL connection pool minimum size

POSTGRESQL_POOL_MAX

PostgreSQL connection pool maximum size

POSTGRESQL_POOL_TIMEOUT_S

PostgreSQL connection pool timeout in seconds

POSTGRESQL_COMMAND_TIMEOUT_S

PostgreSQL command execution timeout in seconds

POSTGRESQL_MIGRATION_TIMEOUT_S

Timeout in seconds for PostgreSQL migration operations (default: 300)

POSTGRESQL_MAX_INACTIVE_LIFETIME_S

Close idle PostgreSQL connections after this many seconds (0 to disable, default: 300)

POSTGRESQL_MAX_QUERIES

Recycle PostgreSQL connections after this many queries (0 to disable, default: 10000)

POSTGRESQL_TCP_KEEPALIVES_IDLE_S

Seconds of idle time before sending first TCP keepalive probe (0 to disable, default: 15)

POSTGRESQL_TCP_KEEPALIVES_INTERVAL_S

Seconds between subsequent TCP keepalive probes (0 to disable, default: 5)

POSTGRESQL_TCP_KEEPALIVES_COUNT

Number of failed TCP keepalive probes before connection is considered dead (0 to disable, default: 3)

POSTGRESQL_STATEMENT_CACHE_SIZE

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

Maximum lifetime of cached prepared statements in seconds (default: 300). Has no effect when statement_cache_size=0

POSTGRESQL_MAX_CACHEABLE_STATEMENT_SIZE

Maximum size of statement to cache in bytes (default: 15360). Has no effect when statement_cache_size=0

POSTGRESQL_SSL_MODE

PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)

POSTGRESQL_SCHEMA

PostgreSQL schema name for table and index operations (default: public)

ENABLE_SEMANTIC_SEARCH

Enable semantic search functionality

ENABLE_EMBEDDING_GENERATION

Enable embedding generation for stored context. Default true - server fails if dependencies not met. Set false to disable embeddings.

OLLAMA_HOST

Ollama API host URL for embedding generation

OLLAMA_AUTO_PULL

Automatically pull missing Ollama models on startup (default: true)

OLLAMA_PULL_TIMEOUT_S

Timeout in seconds for pulling Ollama models (default: 900, range: 30-3600)

EMBEDDING_OLLAMA_TRUNCATE

Ollama embedding truncation mode: false (default) returns error when context exceeded, true enables silent truncation

EMBEDDING_OLLAMA_NUM_CTX

Ollama embedding context window size in tokens (default: 4096, range: 512-2097152)

EMBEDDING_MODEL

Embedding model name for semantic search

EMBEDDING_DIM

Embedding vector dimensions

EMBEDDING_TIMEOUT_S

Timeout in seconds for embedding generation API calls

EMBEDDING_RETRY_MAX_ATTEMPTS

Maximum number of retry attempts for embedding generation

EMBEDDING_RETRY_BASE_DELAY_S

Base delay in seconds between retry attempts (with exponential backoff)

EMBEDDING_MAX_CONCURRENT

Maximum concurrent embedding generation operations (default: 3, range: 1-20)

ENABLE_SUMMARY_GENERATION

Enable summary generation for stored context. Default true - server fails if dependencies not met. Set false to disable summaries.

SUMMARY_PROVIDER

Summary provider: ollama (default), openai, or anthropic

SUMMARY_MODEL

Summary generation model name (default: qwen3:0.6b)

SUMMARY_MAX_TOKENS

Maximum output tokens for summary generation (default: 4000, range: 50-16384). Increase if summaries are truncated by reasoning models

SUMMARY_TIMEOUT_S

Timeout in seconds for summary generation API calls

SUMMARY_RETRY_MAX_ATTEMPTS

Maximum number of retry attempts for summary generation

SUMMARY_RETRY_BASE_DELAY_S

Base delay in seconds between retry attempts (with exponential backoff)

SUMMARY_MAX_CONCURRENT

Maximum concurrent summary generation operations (default: 3, range: 1-20)

SUMMARY_PROMPT

Custom summarization prompt. Overrides the built-in default. Used as system message for the LLM.

SUMMARY_MIN_CONTENT_LENGTH

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

Ollama summary context window size in tokens (default: 32768, range: 512-2097152)

SUMMARY_OLLAMA_TRUNCATE

Ollama summary truncation mode: false (default) returns error when context exceeded, true enables silent truncation

SUMMARY_OPENAI_REASONING_EFFORT

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

Effort level for Anthropic Claude models (default: none). Valid values: max, high, medium, low. Controls inference effort (adaptive thinking)

ANTHROPIC_API_KEY
secret

Anthropic API key for summary generation

ENABLE_FTS

Enable full-text search functionality

FTS_LANGUAGE

Language for FTS stemming (e.g., english, german, french)

FTS_RERANK_WINDOW_SIZE

Characters of context around each FTS match for reranking passage extraction (default: 750)

FTS_RERANK_GAP_MERGE

Merge FTS match regions within this character distance (default: 100)

ENABLE_HYBRID_SEARCH

Enable hybrid search combining FTS and semantic search with RRF fusion

HYBRID_RRF_K

RRF smoothing constant for hybrid search (default 60)

HYBRID_RRF_OVERFETCH

Multiplier for over-fetching results before RRF fusion (default: 2)

HYBRID_FTS_OR_THRESHOLD

Minimum significant query terms to switch hybrid FTS from AND to OR logic (default: 4)

SEARCH_DEFAULT_SORT_BY

Default sort order for search results: relevance (only 'relevance' supported in current version)

SEARCH_TRUNCATION_LENGTH

Maximum character length for truncated text_content in search results (default: 300, range: 50-1000)

ENABLE_CHUNKING

Enable text chunking for embedding generation (default: true)

CHUNK_SIZE

Target chunk size in characters (default: 1500)

CHUNK_OVERLAP

Overlap between chunks in characters (default: 150)

CHUNK_AGGREGATION

Chunk score aggregation method: max (only 'max' supported in current version)

CHUNK_DEDUP_OVERFETCH

Multiplier for over-fetching chunks before deduplication (default: 5)

ENABLE_RERANKING

Enable cross-encoder reranking of search results (default: true)

RERANKING_PROVIDER

Reranking provider (default: flashrank)

RERANKING_MODEL

Reranking model name (default: ms-marco-MiniLM-L-12-v2)

RERANKING_MAX_LENGTH

Maximum input length for reranking in tokens (default: 512)

RERANKING_OVERFETCH

Multiplier for over-fetching results before reranking (default: 4)

RERANKING_CACHE_DIR

Directory for caching reranking models

RERANKING_CHARS_PER_TOKEN

Estimated characters per token for passage size validation (default: 4.0, range: 2.0-8.0)

RERANKING_INTRA_OP_THREADS

ONNX Runtime intra-operation parallelism threads for reranking (default: 0 = auto-detect)

RERANKING_CPU_MEM_ARENA

Enable ONNX Runtime CPU memory arena for reranking (default: false)

RERANKING_BATCH_SIZE

Maximum passages per ONNX Runtime inference batch during reranking (default: 32)

EMBEDDING_PROVIDER

Embedding provider: ollama (default), openai, azure, huggingface, or voyage

OPENAI_API_KEY
secret

OpenAI API key for OpenAI embedding provider

OPENAI_API_BASE

Custom base URL for OpenAI-compatible APIs

OPENAI_ORGANIZATION

OpenAI organization ID

AZURE_OPENAI_API_KEY
secret

Azure OpenAI API key

AZURE_OPENAI_ENDPOINT

Azure OpenAI endpoint URL

AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME

Azure OpenAI embedding deployment name

AZURE_OPENAI_API_VERSION

Azure OpenAI API version (default: 2024-02-01)

HUGGINGFACEHUB_API_TOKEN
secret

HuggingFace Hub API token for HuggingFace embedding provider

VOYAGE_API_KEY
secret

Voyage AI API key for Voyage embedding provider

VOYAGE_TRUNCATION

Voyage AI truncation mode: false (default) returns error when context exceeded, true enables silent truncation

VOYAGE_BATCH_SIZE

Voyage AI batch size for embedding requests

LANGSMITH_TRACING

Enable LangSmith tracing

LANGSMITH_API_KEY
secret

LangSmith API key

LANGSMITH_PROJECT

LangSmith project name

LANGSMITH_ENDPOINT

LangSmith API endpoint URL

METADATA_INDEXED_FIELDS

Comma-separated list of metadata fields to index (field:type format)

METADATA_INDEX_SYNC_MODE

Index sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only)

MCP_TRANSPORT

Transport mode: stdio for local, http for Docker/remote

FASTMCP_HOST

HTTP bind address (use 0.0.0.0 for Docker)

FASTMCP_PORT

HTTP port number

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.

DISABLED_TOOLS

Comma-separated list of tools to disable (e.g., delete_context,update_context)

MCP_AUTH_TOKEN
secret

Bearer token for HTTP authentication (required when using SimpleTokenVerifier)

MCP_AUTH_CLIENT_ID

Client ID to assign to authenticated requests

MCP_AUTH_PROVIDER

Authentication provider: none (default), simple_token

MCP_SERVER_INSTRUCTIONS

Custom server instructions text. Overrides built-in default. Set to empty string to disable.

LOG_LEVEL

Log level

STORAGE_BACKEND

Storage backend type: sqlite (default) or postgresql

MAX_IMAGE_SIZE_MB

Maximum individual image size in megabytes

MAX_TOTAL_SIZE_MB

Maximum total request size in megabytes

DB_PATH

Custom database file location path

POOL_MAX_READERS

Maximum number of concurrent read connections in the pool

POOL_MAX_WRITERS

Maximum number of concurrent write connections in the pool

POOL_CONNECTION_TIMEOUT_S

Connection timeout in seconds

POOL_IDLE_TIMEOUT_S

Idle connection timeout in seconds

POOL_HEALTH_CHECK_INTERVAL_S

Connection health check interval in seconds

RETRY_MAX_RETRIES

Maximum number of retry attempts for failed operations

RETRY_BASE_DELAY_S

Base delay in seconds between retry attempts

RETRY_MAX_DELAY_S

Maximum delay in seconds between retry attempts

RETRY_JITTER

Enable random jitter in retry delays

RETRY_BACKOFF_FACTOR

Exponential backoff multiplication factor for retries

SQLITE_FOREIGN_KEYS

Enable SQLite foreign key constraints

SQLITE_JOURNAL_MODE

SQLite journal mode (e.g., WAL, DELETE)

SQLITE_SYNCHRONOUS

SQLite synchronous mode (e.g., NORMAL, FULL, OFF)

SQLITE_TEMP_STORE

SQLite temporary storage location (e.g., MEMORY, FILE)

SQLITE_MMAP_SIZE

SQLite memory-mapped I/O size in bytes

SQLITE_CACHE_SIZE

SQLite cache size (negative value for KB, positive for pages)

SQLITE_PAGE_SIZE

SQLite page size in bytes

SQLITE_WAL_AUTOCHECKPOINT

SQLite WAL autocheckpoint threshold in pages

SQLITE_BUSY_TIMEOUT_MS

SQLite busy timeout in milliseconds

SQLITE_WAL_CHECKPOINT

SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)

SHUTDOWN_TIMEOUT_S

Server shutdown timeout in seconds

SHUTDOWN_TIMEOUT_TEST_S

Test mode shutdown timeout in seconds

QUEUE_TIMEOUT_S

Queue operation timeout in seconds

QUEUE_TIMEOUT_TEST_S

Test mode queue timeout in seconds

CIRCUIT_BREAKER_FAILURE_THRESHOLD

Circuit breaker failure threshold before opening

CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S

Circuit breaker recovery timeout in seconds

CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS

Maximum calls allowed in circuit breaker half-open state

POSTGRESQL_CONNECTION_STRING
secret

Complete PostgreSQL connection string (overrides individual settings if provided)

POSTGRESQL_HOST

PostgreSQL server host address

POSTGRESQL_PORT

PostgreSQL server port number

POSTGRESQL_USER

PostgreSQL database username

POSTGRESQL_PASSWORD
secret

PostgreSQL database password

POSTGRESQL_DATABASE

PostgreSQL database name

POSTGRESQL_POOL_MIN

PostgreSQL connection pool minimum size

POSTGRESQL_POOL_MAX

PostgreSQL connection pool maximum size

POSTGRESQL_POOL_TIMEOUT_S

PostgreSQL connection pool timeout in seconds

POSTGRESQL_COMMAND_TIMEOUT_S

PostgreSQL command execution timeout in seconds

POSTGRESQL_MIGRATION_TIMEOUT_S

Timeout in seconds for PostgreSQL migration operations (default: 300)

POSTGRESQL_MAX_INACTIVE_LIFETIME_S

Close idle PostgreSQL connections after this many seconds (0 to disable, default: 300)

POSTGRESQL_MAX_QUERIES

Recycle PostgreSQL connections after this many queries (0 to disable, default: 10000)

POSTGRESQL_TCP_KEEPALIVES_IDLE_S

Seconds of idle time before sending first TCP keepalive probe (0 to disable, default: 15)

POSTGRESQL_TCP_KEEPALIVES_INTERVAL_S

Seconds between subsequent TCP keepalive probes (0 to disable, default: 5)

POSTGRESQL_TCP_KEEPALIVES_COUNT

Number of failed TCP keepalive probes before connection is considered dead (0 to disable, default: 3)

POSTGRESQL_STATEMENT_CACHE_SIZE

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

Maximum lifetime of cached prepared statements in seconds (default: 300). Has no effect when statement_cache_size=0

POSTGRESQL_MAX_CACHEABLE_STATEMENT_SIZE

Maximum size of statement to cache in bytes (default: 15360). Has no effect when statement_cache_size=0

POSTGRESQL_SSL_MODE

PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)

POSTGRESQL_SCHEMA

PostgreSQL schema name for table and index operations (default: public)

ENABLE_SEMANTIC_SEARCH

Enable semantic search functionality

ENABLE_EMBEDDING_GENERATION

Enable embedding generation for stored context. Default true - server fails if dependencies not met. Set false to disable embeddings.

OLLAMA_HOST

Ollama API host URL for embedding generation

OLLAMA_AUTO_PULL

Automatically pull missing Ollama models on startup (default: true)

OLLAMA_PULL_TIMEOUT_S

Timeout in seconds for pulling Ollama models (default: 900, range: 30-3600)

EMBEDDING_OLLAMA_TRUNCATE

Ollama embedding truncation mode: false (default) returns error when context exceeded, true enables silent truncation

EMBEDDING_OLLAMA_NUM_CTX

Ollama embedding context window size in tokens (default: 4096, range: 512-2097152)

EMBEDDING_MODEL

Embedding model name for semantic search

EMBEDDING_DIM

Embedding vector dimensions

EMBEDDING_TIMEOUT_S

Timeout in seconds for embedding generation API calls

EMBEDDING_RETRY_MAX_ATTEMPTS

Maximum number of retry attempts for embedding generation

EMBEDDING_RETRY_BASE_DELAY_S

Base delay in seconds between retry attempts (with exponential backoff)

EMBEDDING_MAX_CONCURRENT

Maximum concurrent embedding generation operations (default: 3, range: 1-20)

ENABLE_SUMMARY_GENERATION

Enable summary generation for stored context. Default true - server fails if dependencies not met. Set false to disable summaries.

SUMMARY_PROVIDER

Summary provider: ollama (default), openai, or anthropic

SUMMARY_MODEL

Summary generation model name (default: qwen3:0.6b)

SUMMARY_MAX_TOKENS

Maximum output tokens for summary generation (default: 4000, range: 50-16384). Increase if summaries are truncated by reasoning models

SUMMARY_TIMEOUT_S

Timeout in seconds for summary generation API calls

SUMMARY_RETRY_MAX_ATTEMPTS

Maximum number of retry attempts for summary generation

SUMMARY_RETRY_BASE_DELAY_S

Base delay in seconds between retry attempts (with exponential backoff)

SUMMARY_MAX_CONCURRENT

Maximum concurrent summary generation operations (default: 3, range: 1-20)

SUMMARY_PROMPT

Custom summarization prompt. Overrides the built-in default. Used as system message for the LLM.

SUMMARY_MIN_CONTENT_LENGTH

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

Ollama summary context window size in tokens (default: 32768, range: 512-2097152)

SUMMARY_OLLAMA_TRUNCATE

Ollama summary truncation mode: false (default) returns error when context exceeded, true enables silent truncation

SUMMARY_OPENAI_REASONING_EFFORT

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

Effort level for Anthropic Claude models (default: none). Valid values: max, high, medium, low. Controls inference effort (adaptive thinking)

ANTHROPIC_API_KEY
secret

Anthropic API key for summary generation

ENABLE_FTS

Enable full-text search functionality

FTS_LANGUAGE

Language for FTS stemming (e.g., english, german, french)

FTS_RERANK_WINDOW_SIZE

Characters of context around each FTS match for reranking passage extraction (default: 750)

FTS_RERANK_GAP_MERGE

Merge FTS match regions within this character distance (default: 100)

ENABLE_HYBRID_SEARCH

Enable hybrid search combining FTS and semantic search with RRF fusion

HYBRID_RRF_K

RRF smoothing constant for hybrid search (default 60)

HYBRID_RRF_OVERFETCH

Multiplier for over-fetching results before RRF fusion (default: 2)

HYBRID_FTS_OR_THRESHOLD

Minimum significant query terms to switch hybrid FTS from AND to OR logic (default: 4)

SEARCH_DEFAULT_SORT_BY

Default sort order for search results: relevance (only 'relevance' supported in current version)

SEARCH_TRUNCATION_LENGTH

Maximum character length for truncated text_content in search results (default: 300, range: 50-1000)

ENABLE_CHUNKING

Enable text chunking for embedding generation (default: true)

CHUNK_SIZE

Target chunk size in characters (default: 1500)

CHUNK_OVERLAP

Overlap between chunks in characters (default: 150)

CHUNK_AGGREGATION

Chunk score aggregation method: max (only 'max' supported in current version)

CHUNK_DEDUP_OVERFETCH

Multiplier for over-fetching chunks before deduplication (default: 5)

ENABLE_RERANKING

Enable cross-encoder reranking of search results (default: true)

RERANKING_PROVIDER

Reranking provider (default: flashrank)

RERANKING_MODEL

Reranking model name (default: ms-marco-MiniLM-L-12-v2)

RERANKING_MAX_LENGTH

Maximum input length for reranking in tokens (default: 512)

RERANKING_OVERFETCH

Multiplier for over-fetching results before reranking (default: 4)

RERANKING_CACHE_DIR

Directory for caching reranking models

RERANKING_CHARS_PER_TOKEN

Estimated characters per token for passage size validation (default: 4.0, range: 2.0-8.0)

RERANKING_INTRA_OP_THREADS

ONNX Runtime intra-operation parallelism threads for reranking (default: 0 = auto-detect)

RERANKING_CPU_MEM_ARENA

Enable ONNX Runtime CPU memory arena for reranking (default: false)

RERANKING_BATCH_SIZE

Maximum passages per ONNX Runtime inference batch during reranking (default: 32)

EMBEDDING_PROVIDER

Embedding provider: ollama (default), openai, azure, huggingface, or voyage

OPENAI_API_KEY
secret

OpenAI API key for OpenAI embedding provider

OPENAI_API_BASE

Custom base URL for OpenAI-compatible APIs

OPENAI_ORGANIZATION

OpenAI organization ID

AZURE_OPENAI_API_KEY
secret

Azure OpenAI API key

AZURE_OPENAI_ENDPOINT

Azure OpenAI endpoint URL

AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME

Azure OpenAI embedding deployment name

AZURE_OPENAI_API_VERSION

Azure OpenAI API version (default: 2024-02-01)

HUGGINGFACEHUB_API_TOKEN
secret

HuggingFace Hub API token for HuggingFace embedding provider

VOYAGE_API_KEY
secret

Voyage AI API key for Voyage embedding provider

VOYAGE_TRUNCATION

Voyage AI truncation mode: false (default) returns error when context exceeded, true enables silent truncation

VOYAGE_BATCH_SIZE

Voyage AI batch size for embedding requests

LANGSMITH_TRACING

Enable LangSmith tracing

LANGSMITH_API_KEY
secret

LangSmith API key

LANGSMITH_PROJECT

LangSmith project name

LANGSMITH_ENDPOINT

LangSmith API endpoint URL

METADATA_INDEXED_FIELDS

Comma-separated list of metadata fields to index (field:type format)

METADATA_INDEX_SYNC_MODE

Index sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only)

MCP_TRANSPORT

Transport mode: stdio for local, http for Docker/remote

FASTMCP_HOST

HTTP bind address (use 0.0.0.0 for Docker)

FASTMCP_PORT

HTTP port number

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.

DISABLED_TOOLS

Comma-separated list of tools to disable (e.g., delete_context,update_context)

MCP_AUTH_TOKEN
secret

Bearer token for HTTP authentication (required when using SimpleTokenVerifier)

MCP_AUTH_CLIENT_ID

Client ID to assign to authenticated requests

MCP_AUTH_PROVIDER

Authentication provider: none (default), simple_token

MCP_SERVER_INSTRUCTIONS

Custom server instructions text. Overrides built-in default. Set to empty string to disable.

§03  MCP Quality Score  ·  methodology
freshness
25
completeness
10
installability
25
documentation
15
stability
10
§04  Alternatives in AI & LLMs