{"servers":[{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"0.1.0","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"0.1.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2025-09-25T11:37:36.007595Z","publishedAt":"2025-09-25T11:37:36.007595Z","updatedAt":"2025-09-28T19:00:48.080152Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"0.10.0","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"0.10.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2025-12-21T20:04:17.110517Z","publishedAt":"2025-12-21T20:04:17.110517Z","updatedAt":"2025-12-21T20:04:17.110517Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"0.11.0","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"0.11.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2025-12-22T21:57:26.16004Z","publishedAt":"2025-12-22T21:57:26.16004Z","updatedAt":"2025-12-22T21:57:26.16004Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"0.12.0","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"0.12.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2025-12-26T22:43:59.464649Z","publishedAt":"2025-12-26T22:43:59.464649Z","updatedAt":"2025-12-26T22:43:59.464649Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"0.13.0","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"0.13.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2025-12-27T20:57:40.796164Z","publishedAt":"2025-12-27T20:57:40.796164Z","updatedAt":"2025-12-27T20:57:40.796164Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"0.14.0","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"0.14.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2025-12-28T20:52:15.784406Z","publishedAt":"2025-12-28T20:52:15.784406Z","updatedAt":"2025-12-28T20:52:15.784406Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"0.14.1","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"0.14.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]},{"registryType":"oci","identifier":"ghcr.io/alex-feel/mcp-context-server:0.14.1","runtimeHint":"docker","transport":{"type":"streamable-http","url":"http://localhost:8000/mcp"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2025-12-31T03:18:04.044586Z","publishedAt":"2025-12-31T03:18:04.044586Z","updatedAt":"2025-12-31T03:18:04.044586Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"0.15.0","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"0.15.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]},{"registryType":"oci","identifier":"ghcr.io/alex-feel/mcp-context-server:0.15.0","runtimeHint":"docker","transport":{"type":"streamable-http","url":"http://localhost:8000/mcp"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-01-05T13:26:42.662049Z","publishedAt":"2026-01-05T13:26:42.662049Z","updatedAt":"2026-01-05T13:26:42.662049Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"0.15.1","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"0.15.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]},{"registryType":"oci","identifier":"ghcr.io/alex-feel/mcp-context-server:0.15.1","runtimeHint":"docker","transport":{"type":"streamable-http","url":"http://localhost:8000/mcp"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-01-05T15:00:36.004126Z","publishedAt":"2026-01-05T15:00:36.004126Z","updatedAt":"2026-01-05T15:00:36.004126Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"0.16.0","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"0.16.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Comma-separated list of metadata fields to index (field:type format)","format":"string","name":"METADATA_INDEXED_FIELDS"},{"description":"Index sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only)","format":"string","name":"METADATA_INDEX_SYNC_MODE"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]},{"registryType":"oci","identifier":"ghcr.io/alex-feel/mcp-context-server:0.16.0","runtimeHint":"docker","transport":{"type":"streamable-http","url":"http://localhost:8000/mcp"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Comma-separated list of metadata fields to index (field:type format)","format":"string","name":"METADATA_INDEXED_FIELDS"},{"description":"Index sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only)","format":"string","name":"METADATA_INDEX_SYNC_MODE"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-01-06T20:36:43.713706Z","publishedAt":"2026-01-06T20:36:43.713706Z","updatedAt":"2026-01-06T20:36:43.713706Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"0.16.1","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"0.16.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"PostgreSQL schema name for table and index operations (default: public)","format":"string","name":"POSTGRESQL_SCHEMA"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Timeout in seconds for embedding generation API calls","format":"number","name":"EMBEDDING_TIMEOUT_S"},{"description":"Maximum number of retry attempts for embedding generation","format":"number","name":"EMBEDDING_RETRY_MAX_ATTEMPTS"},{"description":"Base delay in seconds between retry attempts (with exponential backoff)","format":"number","name":"EMBEDDING_RETRY_BASE_DELAY_S"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Comma-separated list of metadata fields to index (field:type format)","format":"string","name":"METADATA_INDEXED_FIELDS"},{"description":"Index sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only)","format":"string","name":"METADATA_INDEX_SYNC_MODE"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]},{"registryType":"oci","identifier":"ghcr.io/alex-feel/mcp-context-server:0.16.1","runtimeHint":"docker","transport":{"type":"streamable-http","url":"http://localhost:8000/mcp"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"PostgreSQL schema name for table and index operations (default: public)","format":"string","name":"POSTGRESQL_SCHEMA"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Timeout in seconds for embedding generation API calls","format":"number","name":"EMBEDDING_TIMEOUT_S"},{"description":"Maximum number of retry attempts for embedding generation","format":"number","name":"EMBEDDING_RETRY_MAX_ATTEMPTS"},{"description":"Base delay in seconds between retry attempts (with exponential backoff)","format":"number","name":"EMBEDDING_RETRY_BASE_DELAY_S"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Comma-separated list of metadata fields to index (field:type format)","format":"string","name":"METADATA_INDEXED_FIELDS"},{"description":"Index sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only)","format":"string","name":"METADATA_INDEX_SYNC_MODE"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-01-09T14:36:43.09478Z","publishedAt":"2026-01-09T14:36:43.09478Z","updatedAt":"2026-01-09T14:36:43.09478Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"0.17.0","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"0.17.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"PostgreSQL schema name for table and index operations (default: public)","format":"string","name":"POSTGRESQL_SCHEMA"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Timeout in seconds for embedding generation API calls","format":"number","name":"EMBEDDING_TIMEOUT_S"},{"description":"Maximum number of retry attempts for embedding generation","format":"number","name":"EMBEDDING_RETRY_MAX_ATTEMPTS"},{"description":"Base delay in seconds between retry attempts (with exponential backoff)","format":"number","name":"EMBEDDING_RETRY_BASE_DELAY_S"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Embedding provider: ollama (default), openai, azure, huggingface, or voyage","format":"string","name":"EMBEDDING_PROVIDER"},{"description":"OpenAI API key for OpenAI embedding provider","format":"string","isSecret":true,"name":"OPENAI_API_KEY"},{"description":"Custom base URL for OpenAI-compatible APIs","format":"string","name":"OPENAI_API_BASE"},{"description":"OpenAI organization ID","format":"string","name":"OPENAI_ORGANIZATION"},{"description":"Azure OpenAI API key","format":"string","isSecret":true,"name":"AZURE_OPENAI_API_KEY"},{"description":"Azure OpenAI endpoint URL","format":"string","name":"AZURE_OPENAI_ENDPOINT"},{"description":"Azure OpenAI embedding deployment name","format":"string","name":"AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME"},{"description":"Azure OpenAI API version (default: 2024-02-01)","format":"string","name":"AZURE_OPENAI_API_VERSION"},{"description":"HuggingFace Hub API token for HuggingFace embedding provider","format":"string","isSecret":true,"name":"HUGGINGFACEHUB_API_TOKEN"},{"description":"Voyage AI API key for Voyage embedding provider","format":"string","isSecret":true,"name":"VOYAGE_API_KEY"},{"description":"Voyage AI truncation mode (true/false)","format":"boolean","name":"VOYAGE_TRUNCATION"},{"description":"Voyage AI batch size for embedding requests","format":"number","name":"VOYAGE_BATCH_SIZE"},{"description":"Enable LangSmith tracing","format":"boolean","name":"LANGSMITH_TRACING"},{"description":"LangSmith API key","format":"string","isSecret":true,"name":"LANGSMITH_API_KEY"},{"description":"LangSmith project name","format":"string","name":"LANGSMITH_PROJECT"},{"description":"LangSmith API endpoint URL","format":"string","name":"LANGSMITH_ENDPOINT"},{"description":"Comma-separated list of metadata fields to index (field:type format)","format":"string","name":"METADATA_INDEXED_FIELDS"},{"description":"Index sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only)","format":"string","name":"METADATA_INDEX_SYNC_MODE"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]},{"registryType":"oci","identifier":"ghcr.io/alex-feel/mcp-context-server:0.17.0","runtimeHint":"docker","transport":{"type":"streamable-http","url":"http://localhost:8000/mcp"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"PostgreSQL schema name for table and index operations (default: public)","format":"string","name":"POSTGRESQL_SCHEMA"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Timeout in seconds for embedding generation API calls","format":"number","name":"EMBEDDING_TIMEOUT_S"},{"description":"Maximum number of retry attempts for embedding generation","format":"number","name":"EMBEDDING_RETRY_MAX_ATTEMPTS"},{"description":"Base delay in seconds between retry attempts (with exponential backoff)","format":"number","name":"EMBEDDING_RETRY_BASE_DELAY_S"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Embedding provider: ollama (default), openai, azure, huggingface, or voyage","format":"string","name":"EMBEDDING_PROVIDER"},{"description":"OpenAI API key for OpenAI embedding provider","format":"string","isSecret":true,"name":"OPENAI_API_KEY"},{"description":"Custom base URL for OpenAI-compatible APIs","format":"string","name":"OPENAI_API_BASE"},{"description":"OpenAI organization ID","format":"string","name":"OPENAI_ORGANIZATION"},{"description":"Azure OpenAI API key","format":"string","isSecret":true,"name":"AZURE_OPENAI_API_KEY"},{"description":"Azure OpenAI endpoint URL","format":"string","name":"AZURE_OPENAI_ENDPOINT"},{"description":"Azure OpenAI embedding deployment name","format":"string","name":"AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME"},{"description":"Azure OpenAI API version (default: 2024-02-01)","format":"string","name":"AZURE_OPENAI_API_VERSION"},{"description":"HuggingFace Hub API token for HuggingFace embedding provider","format":"string","isSecret":true,"name":"HUGGINGFACEHUB_API_TOKEN"},{"description":"Voyage AI API key for Voyage embedding provider","format":"string","isSecret":true,"name":"VOYAGE_API_KEY"},{"description":"Voyage AI truncation mode (true/false)","format":"boolean","name":"VOYAGE_TRUNCATION"},{"description":"Voyage AI batch size for embedding requests","format":"number","name":"VOYAGE_BATCH_SIZE"},{"description":"Enable LangSmith tracing","format":"boolean","name":"LANGSMITH_TRACING"},{"description":"LangSmith API key","format":"string","isSecret":true,"name":"LANGSMITH_API_KEY"},{"description":"LangSmith project name","format":"string","name":"LANGSMITH_PROJECT"},{"description":"LangSmith API endpoint URL","format":"string","name":"LANGSMITH_ENDPOINT"},{"description":"Comma-separated list of metadata fields to index (field:type format)","format":"string","name":"METADATA_INDEXED_FIELDS"},{"description":"Index sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only)","format":"string","name":"METADATA_INDEX_SYNC_MODE"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-01-11T03:55:16.842295Z","publishedAt":"2026-01-11T03:55:16.842295Z","updatedAt":"2026-01-11T03:55:16.842295Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"0.2.0","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"0.2.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2025-09-28T19:00:48.07279Z","publishedAt":"2025-09-28T19:00:48.07279Z","updatedAt":"2025-09-28T19:00:48.07279Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"0.3.0","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"0.3.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2025-10-04T19:58:20.868547Z","publishedAt":"2025-10-04T19:58:20.868547Z","updatedAt":"2025-10-04T19:58:20.868547Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"0.4.0","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"0.4.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2025-10-06T15:28:34.941574Z","publishedAt":"2025-10-06T15:28:34.941574Z","updatedAt":"2025-10-06T15:28:34.941574Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"0.4.1","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"0.4.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2025-10-10T13:17:29.64251Z","publishedAt":"2025-10-10T13:17:29.64251Z","updatedAt":"2025-10-10T13:17:29.64251Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-10-17/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"0.5.0","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"0.5.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2025-11-23T22:59:02.614503Z","publishedAt":"2025-11-23T22:59:02.614503Z","updatedAt":"2025-11-23T22:59:02.614503Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-10-17/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"0.5.1","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"0.5.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2025-11-26T00:40:34.481147Z","publishedAt":"2025-11-26T00:40:34.481147Z","updatedAt":"2025-11-26T00:40:34.481147Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-10-17/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"0.6.0","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"0.6.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2025-11-29T15:42:26.736777Z","publishedAt":"2025-11-29T15:42:26.736777Z","updatedAt":"2025-11-29T15:42:26.736777Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-10-17/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"0.7.0","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"0.7.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2025-11-29T21:29:51.790299Z","publishedAt":"2025-11-29T21:29:51.790299Z","updatedAt":"2025-11-29T21:29:51.790299Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-10-17/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"0.8.0","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"0.8.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2025-11-30T16:30:23.756539Z","publishedAt":"2025-11-30T16:30:23.756539Z","updatedAt":"2025-11-30T16:30:23.756539Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-10-17/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"0.9.0","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"0.9.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2025-12-03T00:22:56.795472Z","publishedAt":"2025-12-03T00:22:56.795472Z","updatedAt":"2025-12-03T00:22:56.795472Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"1.0.0","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"1.0.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"PostgreSQL schema name for table and index operations (default: public)","format":"string","name":"POSTGRESQL_SCHEMA"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Enable embedding generation for stored context. Default true - server fails if dependencies not met. Set false to disable embeddings.","format":"boolean","name":"ENABLE_EMBEDDING_GENERATION"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Ollama truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"OLLAMA_TRUNCATE"},{"description":"Ollama context window size in tokens (default: 4096, range: 512-131072)","format":"number","name":"OLLAMA_NUM_CTX"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Timeout in seconds for embedding generation API calls","format":"number","name":"EMBEDDING_TIMEOUT_S"},{"description":"Maximum number of retry attempts for embedding generation","format":"number","name":"EMBEDDING_RETRY_MAX_ATTEMPTS"},{"description":"Base delay in seconds between retry attempts (with exponential backoff)","format":"number","name":"EMBEDDING_RETRY_BASE_DELAY_S"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Characters of context around each FTS match for reranking passage extraction (default: 750)","format":"number","name":"FTS_RERANK_WINDOW_SIZE"},{"description":"Merge FTS match regions within this character distance (default: 100)","format":"number","name":"FTS_RERANK_GAP_MERGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Multiplier for over-fetching results before RRF fusion (default: 2)","format":"number","name":"HYBRID_RRF_OVERFETCH"},{"description":"Default sort order for search results: relevance (only 'relevance' supported in current version)","format":"string","name":"SEARCH_DEFAULT_SORT_BY"},{"description":"Enable text chunking for embedding generation (default: true)","format":"boolean","name":"ENABLE_CHUNKING"},{"description":"Target chunk size in characters (default: 1000)","format":"number","name":"CHUNK_SIZE"},{"description":"Overlap between chunks in characters (default: 100)","format":"number","name":"CHUNK_OVERLAP"},{"description":"Chunk score aggregation method: max (only 'max' supported in current version)","format":"string","name":"CHUNK_AGGREGATION"},{"description":"Multiplier for over-fetching chunks before deduplication (default: 5)","format":"number","name":"CHUNK_DEDUP_OVERFETCH"},{"description":"Enable cross-encoder reranking of search results (default: true)","format":"boolean","name":"ENABLE_RERANKING"},{"description":"Reranking provider (default: flashrank)","format":"string","name":"RERANKING_PROVIDER"},{"description":"Reranking model name (default: ms-marco-MiniLM-L-12-v2)","format":"string","name":"RERANKING_MODEL"},{"description":"Maximum input length for reranking in tokens (default: 512)","format":"number","name":"RERANKING_MAX_LENGTH"},{"description":"Multiplier for over-fetching results before reranking (default: 4)","format":"number","name":"RERANKING_OVERFETCH"},{"description":"Directory for caching reranking models","format":"string","name":"RERANKING_CACHE_DIR"},{"description":"Estimated characters per token for passage size validation (default: 4.0, range: 2.0-8.0)","format":"number","name":"RERANKING_CHARS_PER_TOKEN"},{"description":"Embedding provider: ollama (default), openai, azure, huggingface, or voyage","format":"string","name":"EMBEDDING_PROVIDER"},{"description":"OpenAI API key for OpenAI embedding provider","format":"string","isSecret":true,"name":"OPENAI_API_KEY"},{"description":"Custom base URL for OpenAI-compatible APIs","format":"string","name":"OPENAI_API_BASE"},{"description":"OpenAI organization ID","format":"string","name":"OPENAI_ORGANIZATION"},{"description":"Azure OpenAI API key","format":"string","isSecret":true,"name":"AZURE_OPENAI_API_KEY"},{"description":"Azure OpenAI endpoint URL","format":"string","name":"AZURE_OPENAI_ENDPOINT"},{"description":"Azure OpenAI embedding deployment name","format":"string","name":"AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME"},{"description":"Azure OpenAI API version (default: 2024-02-01)","format":"string","name":"AZURE_OPENAI_API_VERSION"},{"description":"HuggingFace Hub API token for HuggingFace embedding provider","format":"string","isSecret":true,"name":"HUGGINGFACEHUB_API_TOKEN"},{"description":"Voyage AI API key for Voyage embedding provider","format":"string","isSecret":true,"name":"VOYAGE_API_KEY"},{"description":"Voyage AI truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"VOYAGE_TRUNCATION"},{"description":"Voyage AI batch size for embedding requests","format":"number","name":"VOYAGE_BATCH_SIZE"},{"description":"Enable LangSmith tracing","format":"boolean","name":"LANGSMITH_TRACING"},{"description":"LangSmith API key","format":"string","isSecret":true,"name":"LANGSMITH_API_KEY"},{"description":"LangSmith project name","format":"string","name":"LANGSMITH_PROJECT"},{"description":"LangSmith API endpoint URL","format":"string","name":"LANGSMITH_ENDPOINT"},{"description":"Comma-separated list of metadata fields to index (field:type format)","format":"string","name":"METADATA_INDEXED_FIELDS"},{"description":"Index sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only)","format":"string","name":"METADATA_INDEX_SYNC_MODE"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]},{"registryType":"oci","identifier":"ghcr.io/alex-feel/mcp-context-server:1.0.0","runtimeHint":"docker","transport":{"type":"streamable-http","url":"http://localhost:8000/mcp"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"PostgreSQL schema name for table and index operations (default: public)","format":"string","name":"POSTGRESQL_SCHEMA"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Enable embedding generation for stored context. Default true - server fails if dependencies not met. Set false to disable embeddings.","format":"boolean","name":"ENABLE_EMBEDDING_GENERATION"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Ollama truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"OLLAMA_TRUNCATE"},{"description":"Ollama context window size in tokens (default: 4096, range: 512-131072)","format":"number","name":"OLLAMA_NUM_CTX"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Timeout in seconds for embedding generation API calls","format":"number","name":"EMBEDDING_TIMEOUT_S"},{"description":"Maximum number of retry attempts for embedding generation","format":"number","name":"EMBEDDING_RETRY_MAX_ATTEMPTS"},{"description":"Base delay in seconds between retry attempts (with exponential backoff)","format":"number","name":"EMBEDDING_RETRY_BASE_DELAY_S"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Characters of context around each FTS match for reranking passage extraction (default: 750)","format":"number","name":"FTS_RERANK_WINDOW_SIZE"},{"description":"Merge FTS match regions within this character distance (default: 100)","format":"number","name":"FTS_RERANK_GAP_MERGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Multiplier for over-fetching results before RRF fusion (default: 2)","format":"number","name":"HYBRID_RRF_OVERFETCH"},{"description":"Default sort order for search results: relevance (only 'relevance' supported in current version)","format":"string","name":"SEARCH_DEFAULT_SORT_BY"},{"description":"Enable text chunking for embedding generation (default: true)","format":"boolean","name":"ENABLE_CHUNKING"},{"description":"Target chunk size in characters (default: 1000)","format":"number","name":"CHUNK_SIZE"},{"description":"Overlap between chunks in characters (default: 100)","format":"number","name":"CHUNK_OVERLAP"},{"description":"Chunk score aggregation method: max (only 'max' supported in current version)","format":"string","name":"CHUNK_AGGREGATION"},{"description":"Multiplier for over-fetching chunks before deduplication (default: 5)","format":"number","name":"CHUNK_DEDUP_OVERFETCH"},{"description":"Enable cross-encoder reranking of search results (default: true)","format":"boolean","name":"ENABLE_RERANKING"},{"description":"Reranking provider (default: flashrank)","format":"string","name":"RERANKING_PROVIDER"},{"description":"Reranking model name (default: ms-marco-MiniLM-L-12-v2)","format":"string","name":"RERANKING_MODEL"},{"description":"Maximum input length for reranking in tokens (default: 512)","format":"number","name":"RERANKING_MAX_LENGTH"},{"description":"Multiplier for over-fetching results before reranking (default: 4)","format":"number","name":"RERANKING_OVERFETCH"},{"description":"Directory for caching reranking models","format":"string","name":"RERANKING_CACHE_DIR"},{"description":"Estimated characters per token for passage size validation (default: 4.0, range: 2.0-8.0)","format":"number","name":"RERANKING_CHARS_PER_TOKEN"},{"description":"Embedding provider: ollama (default), openai, azure, huggingface, or voyage","format":"string","name":"EMBEDDING_PROVIDER"},{"description":"OpenAI API key for OpenAI embedding provider","format":"string","isSecret":true,"name":"OPENAI_API_KEY"},{"description":"Custom base URL for OpenAI-compatible APIs","format":"string","name":"OPENAI_API_BASE"},{"description":"OpenAI organization ID","format":"string","name":"OPENAI_ORGANIZATION"},{"description":"Azure OpenAI API key","format":"string","isSecret":true,"name":"AZURE_OPENAI_API_KEY"},{"description":"Azure OpenAI endpoint URL","format":"string","name":"AZURE_OPENAI_ENDPOINT"},{"description":"Azure OpenAI embedding deployment name","format":"string","name":"AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME"},{"description":"Azure OpenAI API version (default: 2024-02-01)","format":"string","name":"AZURE_OPENAI_API_VERSION"},{"description":"HuggingFace Hub API token for HuggingFace embedding provider","format":"string","isSecret":true,"name":"HUGGINGFACEHUB_API_TOKEN"},{"description":"Voyage AI API key for Voyage embedding provider","format":"string","isSecret":true,"name":"VOYAGE_API_KEY"},{"description":"Voyage AI truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"VOYAGE_TRUNCATION"},{"description":"Voyage AI batch size for embedding requests","format":"number","name":"VOYAGE_BATCH_SIZE"},{"description":"Enable LangSmith tracing","format":"boolean","name":"LANGSMITH_TRACING"},{"description":"LangSmith API key","format":"string","isSecret":true,"name":"LANGSMITH_API_KEY"},{"description":"LangSmith project name","format":"string","name":"LANGSMITH_PROJECT"},{"description":"LangSmith API endpoint URL","format":"string","name":"LANGSMITH_ENDPOINT"},{"description":"Comma-separated list of metadata fields to index (field:type format)","format":"string","name":"METADATA_INDEXED_FIELDS"},{"description":"Index sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only)","format":"string","name":"METADATA_INDEX_SYNC_MODE"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-01-16T17:01:37.954779Z","publishedAt":"2026-01-16T17:01:37.954779Z","updatedAt":"2026-01-16T17:01:37.954779Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"1.1.0","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"1.1.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"Close idle PostgreSQL connections after this many seconds (0 to disable, default: 300)","format":"number","name":"POSTGRESQL_MAX_INACTIVE_LIFETIME_S"},{"description":"Recycle PostgreSQL connections after this many queries (0 to disable, default: 10000)","format":"number","name":"POSTGRESQL_MAX_QUERIES"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"PostgreSQL schema name for table and index operations (default: public)","format":"string","name":"POSTGRESQL_SCHEMA"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Enable embedding generation for stored context. Default true - server fails if dependencies not met. Set false to disable embeddings.","format":"boolean","name":"ENABLE_EMBEDDING_GENERATION"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Ollama truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"OLLAMA_TRUNCATE"},{"description":"Ollama context window size in tokens (default: 4096, range: 512-131072)","format":"number","name":"OLLAMA_NUM_CTX"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Timeout in seconds for embedding generation API calls","format":"number","name":"EMBEDDING_TIMEOUT_S"},{"description":"Maximum number of retry attempts for embedding generation","format":"number","name":"EMBEDDING_RETRY_MAX_ATTEMPTS"},{"description":"Base delay in seconds between retry attempts (with exponential backoff)","format":"number","name":"EMBEDDING_RETRY_BASE_DELAY_S"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Characters of context around each FTS match for reranking passage extraction (default: 750)","format":"number","name":"FTS_RERANK_WINDOW_SIZE"},{"description":"Merge FTS match regions within this character distance (default: 100)","format":"number","name":"FTS_RERANK_GAP_MERGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Multiplier for over-fetching results before RRF fusion (default: 2)","format":"number","name":"HYBRID_RRF_OVERFETCH"},{"description":"Default sort order for search results: relevance (only 'relevance' supported in current version)","format":"string","name":"SEARCH_DEFAULT_SORT_BY"},{"description":"Enable text chunking for embedding generation (default: true)","format":"boolean","name":"ENABLE_CHUNKING"},{"description":"Target chunk size in characters (default: 1000)","format":"number","name":"CHUNK_SIZE"},{"description":"Overlap between chunks in characters (default: 100)","format":"number","name":"CHUNK_OVERLAP"},{"description":"Chunk score aggregation method: max (only 'max' supported in current version)","format":"string","name":"CHUNK_AGGREGATION"},{"description":"Multiplier for over-fetching chunks before deduplication (default: 5)","format":"number","name":"CHUNK_DEDUP_OVERFETCH"},{"description":"Enable cross-encoder reranking of search results (default: true)","format":"boolean","name":"ENABLE_RERANKING"},{"description":"Reranking provider (default: flashrank)","format":"string","name":"RERANKING_PROVIDER"},{"description":"Reranking model name (default: ms-marco-MiniLM-L-12-v2)","format":"string","name":"RERANKING_MODEL"},{"description":"Maximum input length for reranking in tokens (default: 512)","format":"number","name":"RERANKING_MAX_LENGTH"},{"description":"Multiplier for over-fetching results before reranking (default: 4)","format":"number","name":"RERANKING_OVERFETCH"},{"description":"Directory for caching reranking models","format":"string","name":"RERANKING_CACHE_DIR"},{"description":"Estimated characters per token for passage size validation (default: 4.0, range: 2.0-8.0)","format":"number","name":"RERANKING_CHARS_PER_TOKEN"},{"description":"Embedding provider: ollama (default), openai, azure, huggingface, or voyage","format":"string","name":"EMBEDDING_PROVIDER"},{"description":"OpenAI API key for OpenAI embedding provider","format":"string","isSecret":true,"name":"OPENAI_API_KEY"},{"description":"Custom base URL for OpenAI-compatible APIs","format":"string","name":"OPENAI_API_BASE"},{"description":"OpenAI organization ID","format":"string","name":"OPENAI_ORGANIZATION"},{"description":"Azure OpenAI API key","format":"string","isSecret":true,"name":"AZURE_OPENAI_API_KEY"},{"description":"Azure OpenAI endpoint URL","format":"string","name":"AZURE_OPENAI_ENDPOINT"},{"description":"Azure OpenAI embedding deployment name","format":"string","name":"AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME"},{"description":"Azure OpenAI API version (default: 2024-02-01)","format":"string","name":"AZURE_OPENAI_API_VERSION"},{"description":"HuggingFace Hub API token for HuggingFace embedding provider","format":"string","isSecret":true,"name":"HUGGINGFACEHUB_API_TOKEN"},{"description":"Voyage AI API key for Voyage embedding provider","format":"string","isSecret":true,"name":"VOYAGE_API_KEY"},{"description":"Voyage AI truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"VOYAGE_TRUNCATION"},{"description":"Voyage AI batch size for embedding requests","format":"number","name":"VOYAGE_BATCH_SIZE"},{"description":"Enable LangSmith tracing","format":"boolean","name":"LANGSMITH_TRACING"},{"description":"LangSmith API key","format":"string","isSecret":true,"name":"LANGSMITH_API_KEY"},{"description":"LangSmith project name","format":"string","name":"LANGSMITH_PROJECT"},{"description":"LangSmith API endpoint URL","format":"string","name":"LANGSMITH_ENDPOINT"},{"description":"Comma-separated list of metadata fields to index (field:type format)","format":"string","name":"METADATA_INDEXED_FIELDS"},{"description":"Index sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only)","format":"string","name":"METADATA_INDEX_SYNC_MODE"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]},{"registryType":"oci","identifier":"ghcr.io/alex-feel/mcp-context-server:1.1.0","runtimeHint":"docker","transport":{"type":"streamable-http","url":"http://localhost:8000/mcp"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"Close idle PostgreSQL connections after this many seconds (0 to disable, default: 300)","format":"number","name":"POSTGRESQL_MAX_INACTIVE_LIFETIME_S"},{"description":"Recycle PostgreSQL connections after this many queries (0 to disable, default: 10000)","format":"number","name":"POSTGRESQL_MAX_QUERIES"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"PostgreSQL schema name for table and index operations (default: public)","format":"string","name":"POSTGRESQL_SCHEMA"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Enable embedding generation for stored context. Default true - server fails if dependencies not met. Set false to disable embeddings.","format":"boolean","name":"ENABLE_EMBEDDING_GENERATION"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Ollama truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"OLLAMA_TRUNCATE"},{"description":"Ollama context window size in tokens (default: 4096, range: 512-131072)","format":"number","name":"OLLAMA_NUM_CTX"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Timeout in seconds for embedding generation API calls","format":"number","name":"EMBEDDING_TIMEOUT_S"},{"description":"Maximum number of retry attempts for embedding generation","format":"number","name":"EMBEDDING_RETRY_MAX_ATTEMPTS"},{"description":"Base delay in seconds between retry attempts (with exponential backoff)","format":"number","name":"EMBEDDING_RETRY_BASE_DELAY_S"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Characters of context around each FTS match for reranking passage extraction (default: 750)","format":"number","name":"FTS_RERANK_WINDOW_SIZE"},{"description":"Merge FTS match regions within this character distance (default: 100)","format":"number","name":"FTS_RERANK_GAP_MERGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Multiplier for over-fetching results before RRF fusion (default: 2)","format":"number","name":"HYBRID_RRF_OVERFETCH"},{"description":"Default sort order for search results: relevance (only 'relevance' supported in current version)","format":"string","name":"SEARCH_DEFAULT_SORT_BY"},{"description":"Enable text chunking for embedding generation (default: true)","format":"boolean","name":"ENABLE_CHUNKING"},{"description":"Target chunk size in characters (default: 1000)","format":"number","name":"CHUNK_SIZE"},{"description":"Overlap between chunks in characters (default: 100)","format":"number","name":"CHUNK_OVERLAP"},{"description":"Chunk score aggregation method: max (only 'max' supported in current version)","format":"string","name":"CHUNK_AGGREGATION"},{"description":"Multiplier for over-fetching chunks before deduplication (default: 5)","format":"number","name":"CHUNK_DEDUP_OVERFETCH"},{"description":"Enable cross-encoder reranking of search results (default: true)","format":"boolean","name":"ENABLE_RERANKING"},{"description":"Reranking provider (default: flashrank)","format":"string","name":"RERANKING_PROVIDER"},{"description":"Reranking model name (default: ms-marco-MiniLM-L-12-v2)","format":"string","name":"RERANKING_MODEL"},{"description":"Maximum input length for reranking in tokens (default: 512)","format":"number","name":"RERANKING_MAX_LENGTH"},{"description":"Multiplier for over-fetching results before reranking (default: 4)","format":"number","name":"RERANKING_OVERFETCH"},{"description":"Directory for caching reranking models","format":"string","name":"RERANKING_CACHE_DIR"},{"description":"Estimated characters per token for passage size validation (default: 4.0, range: 2.0-8.0)","format":"number","name":"RERANKING_CHARS_PER_TOKEN"},{"description":"Embedding provider: ollama (default), openai, azure, huggingface, or voyage","format":"string","name":"EMBEDDING_PROVIDER"},{"description":"OpenAI API key for OpenAI embedding provider","format":"string","isSecret":true,"name":"OPENAI_API_KEY"},{"description":"Custom base URL for OpenAI-compatible APIs","format":"string","name":"OPENAI_API_BASE"},{"description":"OpenAI organization ID","format":"string","name":"OPENAI_ORGANIZATION"},{"description":"Azure OpenAI API key","format":"string","isSecret":true,"name":"AZURE_OPENAI_API_KEY"},{"description":"Azure OpenAI endpoint URL","format":"string","name":"AZURE_OPENAI_ENDPOINT"},{"description":"Azure OpenAI embedding deployment name","format":"string","name":"AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME"},{"description":"Azure OpenAI API version (default: 2024-02-01)","format":"string","name":"AZURE_OPENAI_API_VERSION"},{"description":"HuggingFace Hub API token for HuggingFace embedding provider","format":"string","isSecret":true,"name":"HUGGINGFACEHUB_API_TOKEN"},{"description":"Voyage AI API key for Voyage embedding provider","format":"string","isSecret":true,"name":"VOYAGE_API_KEY"},{"description":"Voyage AI truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"VOYAGE_TRUNCATION"},{"description":"Voyage AI batch size for embedding requests","format":"number","name":"VOYAGE_BATCH_SIZE"},{"description":"Enable LangSmith tracing","format":"boolean","name":"LANGSMITH_TRACING"},{"description":"LangSmith API key","format":"string","isSecret":true,"name":"LANGSMITH_API_KEY"},{"description":"LangSmith project name","format":"string","name":"LANGSMITH_PROJECT"},{"description":"LangSmith API endpoint URL","format":"string","name":"LANGSMITH_ENDPOINT"},{"description":"Comma-separated list of metadata fields to index (field:type format)","format":"string","name":"METADATA_INDEXED_FIELDS"},{"description":"Index sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only)","format":"string","name":"METADATA_INDEX_SYNC_MODE"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-01-17T01:08:20.535024Z","publishedAt":"2026-01-17T01:08:20.535024Z","updatedAt":"2026-01-17T01:08:20.535024Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"1.2.0","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"1.2.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"Close idle PostgreSQL connections after this many seconds (0 to disable, default: 300)","format":"number","name":"POSTGRESQL_MAX_INACTIVE_LIFETIME_S"},{"description":"Recycle PostgreSQL connections after this many queries (0 to disable, default: 10000)","format":"number","name":"POSTGRESQL_MAX_QUERIES"},{"description":"asyncpg prepared statement cache size. Set to 0 for external pooler compatibility (PgBouncer transaction mode, Pgpool-II, etc.). Default: 100","format":"number","name":"POSTGRESQL_STATEMENT_CACHE_SIZE"},{"description":"Maximum lifetime of cached prepared statements in seconds (default: 300). Has no effect when statement_cache_size=0","format":"number","name":"POSTGRESQL_MAX_CACHED_STATEMENT_LIFETIME_S"},{"description":"Maximum size of statement to cache in bytes (default: 15360). Has no effect when statement_cache_size=0","format":"number","name":"POSTGRESQL_MAX_CACHEABLE_STATEMENT_SIZE"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"PostgreSQL schema name for table and index operations (default: public)","format":"string","name":"POSTGRESQL_SCHEMA"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Enable embedding generation for stored context. Default true - server fails if dependencies not met. Set false to disable embeddings.","format":"boolean","name":"ENABLE_EMBEDDING_GENERATION"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Ollama truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"OLLAMA_TRUNCATE"},{"description":"Ollama context window size in tokens (default: 4096, range: 512-131072)","format":"number","name":"OLLAMA_NUM_CTX"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Timeout in seconds for embedding generation API calls","format":"number","name":"EMBEDDING_TIMEOUT_S"},{"description":"Maximum number of retry attempts for embedding generation","format":"number","name":"EMBEDDING_RETRY_MAX_ATTEMPTS"},{"description":"Base delay in seconds between retry attempts (with exponential backoff)","format":"number","name":"EMBEDDING_RETRY_BASE_DELAY_S"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Characters of context around each FTS match for reranking passage extraction (default: 750)","format":"number","name":"FTS_RERANK_WINDOW_SIZE"},{"description":"Merge FTS match regions within this character distance (default: 100)","format":"number","name":"FTS_RERANK_GAP_MERGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Multiplier for over-fetching results before RRF fusion (default: 2)","format":"number","name":"HYBRID_RRF_OVERFETCH"},{"description":"Default sort order for search results: relevance (only 'relevance' supported in current version)","format":"string","name":"SEARCH_DEFAULT_SORT_BY"},{"description":"Enable text chunking for embedding generation (default: true)","format":"boolean","name":"ENABLE_CHUNKING"},{"description":"Target chunk size in characters (default: 1000)","format":"number","name":"CHUNK_SIZE"},{"description":"Overlap between chunks in characters (default: 100)","format":"number","name":"CHUNK_OVERLAP"},{"description":"Chunk score aggregation method: max (only 'max' supported in current version)","format":"string","name":"CHUNK_AGGREGATION"},{"description":"Multiplier for over-fetching chunks before deduplication (default: 5)","format":"number","name":"CHUNK_DEDUP_OVERFETCH"},{"description":"Enable cross-encoder reranking of search results (default: true)","format":"boolean","name":"ENABLE_RERANKING"},{"description":"Reranking provider (default: flashrank)","format":"string","name":"RERANKING_PROVIDER"},{"description":"Reranking model name (default: ms-marco-MiniLM-L-12-v2)","format":"string","name":"RERANKING_MODEL"},{"description":"Maximum input length for reranking in tokens (default: 512)","format":"number","name":"RERANKING_MAX_LENGTH"},{"description":"Multiplier for over-fetching results before reranking (default: 4)","format":"number","name":"RERANKING_OVERFETCH"},{"description":"Directory for caching reranking models","format":"string","name":"RERANKING_CACHE_DIR"},{"description":"Estimated characters per token for passage size validation (default: 4.0, range: 2.0-8.0)","format":"number","name":"RERANKING_CHARS_PER_TOKEN"},{"description":"Embedding provider: ollama (default), openai, azure, huggingface, or voyage","format":"string","name":"EMBEDDING_PROVIDER"},{"description":"OpenAI API key for OpenAI embedding provider","format":"string","isSecret":true,"name":"OPENAI_API_KEY"},{"description":"Custom base URL for OpenAI-compatible APIs","format":"string","name":"OPENAI_API_BASE"},{"description":"OpenAI organization ID","format":"string","name":"OPENAI_ORGANIZATION"},{"description":"Azure OpenAI API key","format":"string","isSecret":true,"name":"AZURE_OPENAI_API_KEY"},{"description":"Azure OpenAI endpoint URL","format":"string","name":"AZURE_OPENAI_ENDPOINT"},{"description":"Azure OpenAI embedding deployment name","format":"string","name":"AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME"},{"description":"Azure OpenAI API version (default: 2024-02-01)","format":"string","name":"AZURE_OPENAI_API_VERSION"},{"description":"HuggingFace Hub API token for HuggingFace embedding provider","format":"string","isSecret":true,"name":"HUGGINGFACEHUB_API_TOKEN"},{"description":"Voyage AI API key for Voyage embedding provider","format":"string","isSecret":true,"name":"VOYAGE_API_KEY"},{"description":"Voyage AI truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"VOYAGE_TRUNCATION"},{"description":"Voyage AI batch size for embedding requests","format":"number","name":"VOYAGE_BATCH_SIZE"},{"description":"Enable LangSmith tracing","format":"boolean","name":"LANGSMITH_TRACING"},{"description":"LangSmith API key","format":"string","isSecret":true,"name":"LANGSMITH_API_KEY"},{"description":"LangSmith project name","format":"string","name":"LANGSMITH_PROJECT"},{"description":"LangSmith API endpoint URL","format":"string","name":"LANGSMITH_ENDPOINT"},{"description":"Comma-separated list of metadata fields to index (field:type format)","format":"string","name":"METADATA_INDEXED_FIELDS"},{"description":"Index sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only)","format":"string","name":"METADATA_INDEX_SYNC_MODE"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]},{"registryType":"oci","identifier":"ghcr.io/alex-feel/mcp-context-server:1.2.0","runtimeHint":"docker","transport":{"type":"streamable-http","url":"http://localhost:8000/mcp"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"Close idle PostgreSQL connections after this many seconds (0 to disable, default: 300)","format":"number","name":"POSTGRESQL_MAX_INACTIVE_LIFETIME_S"},{"description":"Recycle PostgreSQL connections after this many queries (0 to disable, default: 10000)","format":"number","name":"POSTGRESQL_MAX_QUERIES"},{"description":"asyncpg prepared statement cache size. Set to 0 for external pooler compatibility (PgBouncer transaction mode, Pgpool-II, etc.). Default: 100","format":"number","name":"POSTGRESQL_STATEMENT_CACHE_SIZE"},{"description":"Maximum lifetime of cached prepared statements in seconds (default: 300). Has no effect when statement_cache_size=0","format":"number","name":"POSTGRESQL_MAX_CACHED_STATEMENT_LIFETIME_S"},{"description":"Maximum size of statement to cache in bytes (default: 15360). Has no effect when statement_cache_size=0","format":"number","name":"POSTGRESQL_MAX_CACHEABLE_STATEMENT_SIZE"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"PostgreSQL schema name for table and index operations (default: public)","format":"string","name":"POSTGRESQL_SCHEMA"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Enable embedding generation for stored context. Default true - server fails if dependencies not met. Set false to disable embeddings.","format":"boolean","name":"ENABLE_EMBEDDING_GENERATION"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Ollama truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"OLLAMA_TRUNCATE"},{"description":"Ollama context window size in tokens (default: 4096, range: 512-131072)","format":"number","name":"OLLAMA_NUM_CTX"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Timeout in seconds for embedding generation API calls","format":"number","name":"EMBEDDING_TIMEOUT_S"},{"description":"Maximum number of retry attempts for embedding generation","format":"number","name":"EMBEDDING_RETRY_MAX_ATTEMPTS"},{"description":"Base delay in seconds between retry attempts (with exponential backoff)","format":"number","name":"EMBEDDING_RETRY_BASE_DELAY_S"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Characters of context around each FTS match for reranking passage extraction (default: 750)","format":"number","name":"FTS_RERANK_WINDOW_SIZE"},{"description":"Merge FTS match regions within this character distance (default: 100)","format":"number","name":"FTS_RERANK_GAP_MERGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Multiplier for over-fetching results before RRF fusion (default: 2)","format":"number","name":"HYBRID_RRF_OVERFETCH"},{"description":"Default sort order for search results: relevance (only 'relevance' supported in current version)","format":"string","name":"SEARCH_DEFAULT_SORT_BY"},{"description":"Enable text chunking for embedding generation (default: true)","format":"boolean","name":"ENABLE_CHUNKING"},{"description":"Target chunk size in characters (default: 1000)","format":"number","name":"CHUNK_SIZE"},{"description":"Overlap between chunks in characters (default: 100)","format":"number","name":"CHUNK_OVERLAP"},{"description":"Chunk score aggregation method: max (only 'max' supported in current version)","format":"string","name":"CHUNK_AGGREGATION"},{"description":"Multiplier for over-fetching chunks before deduplication (default: 5)","format":"number","name":"CHUNK_DEDUP_OVERFETCH"},{"description":"Enable cross-encoder reranking of search results (default: true)","format":"boolean","name":"ENABLE_RERANKING"},{"description":"Reranking provider (default: flashrank)","format":"string","name":"RERANKING_PROVIDER"},{"description":"Reranking model name (default: ms-marco-MiniLM-L-12-v2)","format":"string","name":"RERANKING_MODEL"},{"description":"Maximum input length for reranking in tokens (default: 512)","format":"number","name":"RERANKING_MAX_LENGTH"},{"description":"Multiplier for over-fetching results before reranking (default: 4)","format":"number","name":"RERANKING_OVERFETCH"},{"description":"Directory for caching reranking models","format":"string","name":"RERANKING_CACHE_DIR"},{"description":"Estimated characters per token for passage size validation (default: 4.0, range: 2.0-8.0)","format":"number","name":"RERANKING_CHARS_PER_TOKEN"},{"description":"Embedding provider: ollama (default), openai, azure, huggingface, or voyage","format":"string","name":"EMBEDDING_PROVIDER"},{"description":"OpenAI API key for OpenAI embedding provider","format":"string","isSecret":true,"name":"OPENAI_API_KEY"},{"description":"Custom base URL for OpenAI-compatible APIs","format":"string","name":"OPENAI_API_BASE"},{"description":"OpenAI organization ID","format":"string","name":"OPENAI_ORGANIZATION"},{"description":"Azure OpenAI API key","format":"string","isSecret":true,"name":"AZURE_OPENAI_API_KEY"},{"description":"Azure OpenAI endpoint URL","format":"string","name":"AZURE_OPENAI_ENDPOINT"},{"description":"Azure OpenAI embedding deployment name","format":"string","name":"AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME"},{"description":"Azure OpenAI API version (default: 2024-02-01)","format":"string","name":"AZURE_OPENAI_API_VERSION"},{"description":"HuggingFace Hub API token for HuggingFace embedding provider","format":"string","isSecret":true,"name":"HUGGINGFACEHUB_API_TOKEN"},{"description":"Voyage AI API key for Voyage embedding provider","format":"string","isSecret":true,"name":"VOYAGE_API_KEY"},{"description":"Voyage AI truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"VOYAGE_TRUNCATION"},{"description":"Voyage AI batch size for embedding requests","format":"number","name":"VOYAGE_BATCH_SIZE"},{"description":"Enable LangSmith tracing","format":"boolean","name":"LANGSMITH_TRACING"},{"description":"LangSmith API key","format":"string","isSecret":true,"name":"LANGSMITH_API_KEY"},{"description":"LangSmith project name","format":"string","name":"LANGSMITH_PROJECT"},{"description":"LangSmith API endpoint URL","format":"string","name":"LANGSMITH_ENDPOINT"},{"description":"Comma-separated list of metadata fields to index (field:type format)","format":"string","name":"METADATA_INDEXED_FIELDS"},{"description":"Index sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only)","format":"string","name":"METADATA_INDEX_SYNC_MODE"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-01-17T03:28:03.506995Z","publishedAt":"2026-01-17T03:28:03.506995Z","updatedAt":"2026-01-17T03:28:03.506995Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"1.2.1","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"1.2.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"Close idle PostgreSQL connections after this many seconds (0 to disable, default: 300)","format":"number","name":"POSTGRESQL_MAX_INACTIVE_LIFETIME_S"},{"description":"Recycle PostgreSQL connections after this many queries (0 to disable, default: 10000)","format":"number","name":"POSTGRESQL_MAX_QUERIES"},{"description":"asyncpg prepared statement cache size. Set to 0 for external pooler compatibility (PgBouncer transaction mode, Pgpool-II, etc.). Default: 100","format":"number","name":"POSTGRESQL_STATEMENT_CACHE_SIZE"},{"description":"Maximum lifetime of cached prepared statements in seconds (default: 300). Has no effect when statement_cache_size=0","format":"number","name":"POSTGRESQL_MAX_CACHED_STATEMENT_LIFETIME_S"},{"description":"Maximum size of statement to cache in bytes (default: 15360). Has no effect when statement_cache_size=0","format":"number","name":"POSTGRESQL_MAX_CACHEABLE_STATEMENT_SIZE"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"PostgreSQL schema name for table and index operations (default: public)","format":"string","name":"POSTGRESQL_SCHEMA"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Enable embedding generation for stored context. Default true - server fails if dependencies not met. Set false to disable embeddings.","format":"boolean","name":"ENABLE_EMBEDDING_GENERATION"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Ollama truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"OLLAMA_TRUNCATE"},{"description":"Ollama context window size in tokens (default: 4096, range: 512-131072)","format":"number","name":"OLLAMA_NUM_CTX"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Timeout in seconds for embedding generation API calls","format":"number","name":"EMBEDDING_TIMEOUT_S"},{"description":"Maximum number of retry attempts for embedding generation","format":"number","name":"EMBEDDING_RETRY_MAX_ATTEMPTS"},{"description":"Base delay in seconds between retry attempts (with exponential backoff)","format":"number","name":"EMBEDDING_RETRY_BASE_DELAY_S"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Characters of context around each FTS match for reranking passage extraction (default: 750)","format":"number","name":"FTS_RERANK_WINDOW_SIZE"},{"description":"Merge FTS match regions within this character distance (default: 100)","format":"number","name":"FTS_RERANK_GAP_MERGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Multiplier for over-fetching results before RRF fusion (default: 2)","format":"number","name":"HYBRID_RRF_OVERFETCH"},{"description":"Default sort order for search results: relevance (only 'relevance' supported in current version)","format":"string","name":"SEARCH_DEFAULT_SORT_BY"},{"description":"Enable text chunking for embedding generation (default: true)","format":"boolean","name":"ENABLE_CHUNKING"},{"description":"Target chunk size in characters (default: 1000)","format":"number","name":"CHUNK_SIZE"},{"description":"Overlap between chunks in characters (default: 100)","format":"number","name":"CHUNK_OVERLAP"},{"description":"Chunk score aggregation method: max (only 'max' supported in current version)","format":"string","name":"CHUNK_AGGREGATION"},{"description":"Multiplier for over-fetching chunks before deduplication (default: 5)","format":"number","name":"CHUNK_DEDUP_OVERFETCH"},{"description":"Enable cross-encoder reranking of search results (default: true)","format":"boolean","name":"ENABLE_RERANKING"},{"description":"Reranking provider (default: flashrank)","format":"string","name":"RERANKING_PROVIDER"},{"description":"Reranking model name (default: ms-marco-MiniLM-L-12-v2)","format":"string","name":"RERANKING_MODEL"},{"description":"Maximum input length for reranking in tokens (default: 512)","format":"number","name":"RERANKING_MAX_LENGTH"},{"description":"Multiplier for over-fetching results before reranking (default: 4)","format":"number","name":"RERANKING_OVERFETCH"},{"description":"Directory for caching reranking models","format":"string","name":"RERANKING_CACHE_DIR"},{"description":"Estimated characters per token for passage size validation (default: 4.0, range: 2.0-8.0)","format":"number","name":"RERANKING_CHARS_PER_TOKEN"},{"description":"Embedding provider: ollama (default), openai, azure, huggingface, or voyage","format":"string","name":"EMBEDDING_PROVIDER"},{"description":"OpenAI API key for OpenAI embedding provider","format":"string","isSecret":true,"name":"OPENAI_API_KEY"},{"description":"Custom base URL for OpenAI-compatible APIs","format":"string","name":"OPENAI_API_BASE"},{"description":"OpenAI organization ID","format":"string","name":"OPENAI_ORGANIZATION"},{"description":"Azure OpenAI API key","format":"string","isSecret":true,"name":"AZURE_OPENAI_API_KEY"},{"description":"Azure OpenAI endpoint URL","format":"string","name":"AZURE_OPENAI_ENDPOINT"},{"description":"Azure OpenAI embedding deployment name","format":"string","name":"AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME"},{"description":"Azure OpenAI API version (default: 2024-02-01)","format":"string","name":"AZURE_OPENAI_API_VERSION"},{"description":"HuggingFace Hub API token for HuggingFace embedding provider","format":"string","isSecret":true,"name":"HUGGINGFACEHUB_API_TOKEN"},{"description":"Voyage AI API key for Voyage embedding provider","format":"string","isSecret":true,"name":"VOYAGE_API_KEY"},{"description":"Voyage AI truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"VOYAGE_TRUNCATION"},{"description":"Voyage AI batch size for embedding requests","format":"number","name":"VOYAGE_BATCH_SIZE"},{"description":"Enable LangSmith tracing","format":"boolean","name":"LANGSMITH_TRACING"},{"description":"LangSmith API key","format":"string","isSecret":true,"name":"LANGSMITH_API_KEY"},{"description":"LangSmith project name","format":"string","name":"LANGSMITH_PROJECT"},{"description":"LangSmith API endpoint URL","format":"string","name":"LANGSMITH_ENDPOINT"},{"description":"Comma-separated list of metadata fields to index (field:type format)","format":"string","name":"METADATA_INDEXED_FIELDS"},{"description":"Index sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only)","format":"string","name":"METADATA_INDEX_SYNC_MODE"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]},{"registryType":"oci","identifier":"ghcr.io/alex-feel/mcp-context-server:1.2.1","runtimeHint":"docker","transport":{"type":"streamable-http","url":"http://localhost:8000/mcp"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"Close idle PostgreSQL connections after this many seconds (0 to disable, default: 300)","format":"number","name":"POSTGRESQL_MAX_INACTIVE_LIFETIME_S"},{"description":"Recycle PostgreSQL connections after this many queries (0 to disable, default: 10000)","format":"number","name":"POSTGRESQL_MAX_QUERIES"},{"description":"asyncpg prepared statement cache size. Set to 0 for external pooler compatibility (PgBouncer transaction mode, Pgpool-II, etc.). Default: 100","format":"number","name":"POSTGRESQL_STATEMENT_CACHE_SIZE"},{"description":"Maximum lifetime of cached prepared statements in seconds (default: 300). Has no effect when statement_cache_size=0","format":"number","name":"POSTGRESQL_MAX_CACHED_STATEMENT_LIFETIME_S"},{"description":"Maximum size of statement to cache in bytes (default: 15360). Has no effect when statement_cache_size=0","format":"number","name":"POSTGRESQL_MAX_CACHEABLE_STATEMENT_SIZE"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"PostgreSQL schema name for table and index operations (default: public)","format":"string","name":"POSTGRESQL_SCHEMA"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Enable embedding generation for stored context. Default true - server fails if dependencies not met. Set false to disable embeddings.","format":"boolean","name":"ENABLE_EMBEDDING_GENERATION"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Ollama truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"OLLAMA_TRUNCATE"},{"description":"Ollama context window size in tokens (default: 4096, range: 512-131072)","format":"number","name":"OLLAMA_NUM_CTX"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Timeout in seconds for embedding generation API calls","format":"number","name":"EMBEDDING_TIMEOUT_S"},{"description":"Maximum number of retry attempts for embedding generation","format":"number","name":"EMBEDDING_RETRY_MAX_ATTEMPTS"},{"description":"Base delay in seconds between retry attempts (with exponential backoff)","format":"number","name":"EMBEDDING_RETRY_BASE_DELAY_S"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Characters of context around each FTS match for reranking passage extraction (default: 750)","format":"number","name":"FTS_RERANK_WINDOW_SIZE"},{"description":"Merge FTS match regions within this character distance (default: 100)","format":"number","name":"FTS_RERANK_GAP_MERGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Multiplier for over-fetching results before RRF fusion (default: 2)","format":"number","name":"HYBRID_RRF_OVERFETCH"},{"description":"Default sort order for search results: relevance (only 'relevance' supported in current version)","format":"string","name":"SEARCH_DEFAULT_SORT_BY"},{"description":"Enable text chunking for embedding generation (default: true)","format":"boolean","name":"ENABLE_CHUNKING"},{"description":"Target chunk size in characters (default: 1000)","format":"number","name":"CHUNK_SIZE"},{"description":"Overlap between chunks in characters (default: 100)","format":"number","name":"CHUNK_OVERLAP"},{"description":"Chunk score aggregation method: max (only 'max' supported in current version)","format":"string","name":"CHUNK_AGGREGATION"},{"description":"Multiplier for over-fetching chunks before deduplication (default: 5)","format":"number","name":"CHUNK_DEDUP_OVERFETCH"},{"description":"Enable cross-encoder reranking of search results (default: true)","format":"boolean","name":"ENABLE_RERANKING"},{"description":"Reranking provider (default: flashrank)","format":"string","name":"RERANKING_PROVIDER"},{"description":"Reranking model name (default: ms-marco-MiniLM-L-12-v2)","format":"string","name":"RERANKING_MODEL"},{"description":"Maximum input length for reranking in tokens (default: 512)","format":"number","name":"RERANKING_MAX_LENGTH"},{"description":"Multiplier for over-fetching results before reranking (default: 4)","format":"number","name":"RERANKING_OVERFETCH"},{"description":"Directory for caching reranking models","format":"string","name":"RERANKING_CACHE_DIR"},{"description":"Estimated characters per token for passage size validation (default: 4.0, range: 2.0-8.0)","format":"number","name":"RERANKING_CHARS_PER_TOKEN"},{"description":"Embedding provider: ollama (default), openai, azure, huggingface, or voyage","format":"string","name":"EMBEDDING_PROVIDER"},{"description":"OpenAI API key for OpenAI embedding provider","format":"string","isSecret":true,"name":"OPENAI_API_KEY"},{"description":"Custom base URL for OpenAI-compatible APIs","format":"string","name":"OPENAI_API_BASE"},{"description":"OpenAI organization ID","format":"string","name":"OPENAI_ORGANIZATION"},{"description":"Azure OpenAI API key","format":"string","isSecret":true,"name":"AZURE_OPENAI_API_KEY"},{"description":"Azure OpenAI endpoint URL","format":"string","name":"AZURE_OPENAI_ENDPOINT"},{"description":"Azure OpenAI embedding deployment name","format":"string","name":"AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME"},{"description":"Azure OpenAI API version (default: 2024-02-01)","format":"string","name":"AZURE_OPENAI_API_VERSION"},{"description":"HuggingFace Hub API token for HuggingFace embedding provider","format":"string","isSecret":true,"name":"HUGGINGFACEHUB_API_TOKEN"},{"description":"Voyage AI API key for Voyage embedding provider","format":"string","isSecret":true,"name":"VOYAGE_API_KEY"},{"description":"Voyage AI truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"VOYAGE_TRUNCATION"},{"description":"Voyage AI batch size for embedding requests","format":"number","name":"VOYAGE_BATCH_SIZE"},{"description":"Enable LangSmith tracing","format":"boolean","name":"LANGSMITH_TRACING"},{"description":"LangSmith API key","format":"string","isSecret":true,"name":"LANGSMITH_API_KEY"},{"description":"LangSmith project name","format":"string","name":"LANGSMITH_PROJECT"},{"description":"LangSmith API endpoint URL","format":"string","name":"LANGSMITH_ENDPOINT"},{"description":"Comma-separated list of metadata fields to index (field:type format)","format":"string","name":"METADATA_INDEXED_FIELDS"},{"description":"Index sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only)","format":"string","name":"METADATA_INDEX_SYNC_MODE"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-01-18T11:39:45.505015Z","publishedAt":"2026-01-18T11:39:45.505015Z","updatedAt":"2026-01-18T11:39:45.505015Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"1.3.0","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"1.3.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"Close idle PostgreSQL connections after this many seconds (0 to disable, default: 300)","format":"number","name":"POSTGRESQL_MAX_INACTIVE_LIFETIME_S"},{"description":"Recycle PostgreSQL connections after this many queries (0 to disable, default: 10000)","format":"number","name":"POSTGRESQL_MAX_QUERIES"},{"description":"asyncpg prepared statement cache size. Set to 0 for external pooler compatibility (PgBouncer transaction mode, Pgpool-II, etc.). Default: 100","format":"number","name":"POSTGRESQL_STATEMENT_CACHE_SIZE"},{"description":"Maximum lifetime of cached prepared statements in seconds (default: 300). Has no effect when statement_cache_size=0","format":"number","name":"POSTGRESQL_MAX_CACHED_STATEMENT_LIFETIME_S"},{"description":"Maximum size of statement to cache in bytes (default: 15360). Has no effect when statement_cache_size=0","format":"number","name":"POSTGRESQL_MAX_CACHEABLE_STATEMENT_SIZE"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"PostgreSQL schema name for table and index operations (default: public)","format":"string","name":"POSTGRESQL_SCHEMA"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Enable embedding generation for stored context. Default true - server fails if dependencies not met. Set false to disable embeddings.","format":"boolean","name":"ENABLE_EMBEDDING_GENERATION"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Ollama truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"OLLAMA_TRUNCATE"},{"description":"Ollama context window size in tokens (default: 4096, range: 512-131072)","format":"number","name":"OLLAMA_NUM_CTX"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Timeout in seconds for embedding generation API calls","format":"number","name":"EMBEDDING_TIMEOUT_S"},{"description":"Maximum number of retry attempts for embedding generation","format":"number","name":"EMBEDDING_RETRY_MAX_ATTEMPTS"},{"description":"Base delay in seconds between retry attempts (with exponential backoff)","format":"number","name":"EMBEDDING_RETRY_BASE_DELAY_S"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Characters of context around each FTS match for reranking passage extraction (default: 750)","format":"number","name":"FTS_RERANK_WINDOW_SIZE"},{"description":"Merge FTS match regions within this character distance (default: 100)","format":"number","name":"FTS_RERANK_GAP_MERGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Multiplier for over-fetching results before RRF fusion (default: 2)","format":"number","name":"HYBRID_RRF_OVERFETCH"},{"description":"Default sort order for search results: relevance (only 'relevance' supported in current version)","format":"string","name":"SEARCH_DEFAULT_SORT_BY"},{"description":"Enable text chunking for embedding generation (default: true)","format":"boolean","name":"ENABLE_CHUNKING"},{"description":"Target chunk size in characters (default: 1000)","format":"number","name":"CHUNK_SIZE"},{"description":"Overlap between chunks in characters (default: 100)","format":"number","name":"CHUNK_OVERLAP"},{"description":"Chunk score aggregation method: max (only 'max' supported in current version)","format":"string","name":"CHUNK_AGGREGATION"},{"description":"Multiplier for over-fetching chunks before deduplication (default: 5)","format":"number","name":"CHUNK_DEDUP_OVERFETCH"},{"description":"Enable cross-encoder reranking of search results (default: true)","format":"boolean","name":"ENABLE_RERANKING"},{"description":"Reranking provider (default: flashrank)","format":"string","name":"RERANKING_PROVIDER"},{"description":"Reranking model name (default: ms-marco-MiniLM-L-12-v2)","format":"string","name":"RERANKING_MODEL"},{"description":"Maximum input length for reranking in tokens (default: 512)","format":"number","name":"RERANKING_MAX_LENGTH"},{"description":"Multiplier for over-fetching results before reranking (default: 4)","format":"number","name":"RERANKING_OVERFETCH"},{"description":"Directory for caching reranking models","format":"string","name":"RERANKING_CACHE_DIR"},{"description":"Estimated characters per token for passage size validation (default: 4.0, range: 2.0-8.0)","format":"number","name":"RERANKING_CHARS_PER_TOKEN"},{"description":"Embedding provider: ollama (default), openai, azure, huggingface, or voyage","format":"string","name":"EMBEDDING_PROVIDER"},{"description":"OpenAI API key for OpenAI embedding provider","format":"string","isSecret":true,"name":"OPENAI_API_KEY"},{"description":"Custom base URL for OpenAI-compatible APIs","format":"string","name":"OPENAI_API_BASE"},{"description":"OpenAI organization ID","format":"string","name":"OPENAI_ORGANIZATION"},{"description":"Azure OpenAI API key","format":"string","isSecret":true,"name":"AZURE_OPENAI_API_KEY"},{"description":"Azure OpenAI endpoint URL","format":"string","name":"AZURE_OPENAI_ENDPOINT"},{"description":"Azure OpenAI embedding deployment name","format":"string","name":"AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME"},{"description":"Azure OpenAI API version (default: 2024-02-01)","format":"string","name":"AZURE_OPENAI_API_VERSION"},{"description":"HuggingFace Hub API token for HuggingFace embedding provider","format":"string","isSecret":true,"name":"HUGGINGFACEHUB_API_TOKEN"},{"description":"Voyage AI API key for Voyage embedding provider","format":"string","isSecret":true,"name":"VOYAGE_API_KEY"},{"description":"Voyage AI truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"VOYAGE_TRUNCATION"},{"description":"Voyage AI batch size for embedding requests","format":"number","name":"VOYAGE_BATCH_SIZE"},{"description":"Enable LangSmith tracing","format":"boolean","name":"LANGSMITH_TRACING"},{"description":"LangSmith API key","format":"string","isSecret":true,"name":"LANGSMITH_API_KEY"},{"description":"LangSmith project name","format":"string","name":"LANGSMITH_PROJECT"},{"description":"LangSmith API endpoint URL","format":"string","name":"LANGSMITH_ENDPOINT"},{"description":"Comma-separated list of metadata fields to index (field:type format)","format":"string","name":"METADATA_INDEXED_FIELDS"},{"description":"Index sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only)","format":"string","name":"METADATA_INDEX_SYNC_MODE"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]},{"registryType":"oci","identifier":"ghcr.io/alex-feel/mcp-context-server:1.3.0","runtimeHint":"docker","transport":{"type":"streamable-http","url":"http://localhost:8000/mcp"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"Close idle PostgreSQL connections after this many seconds (0 to disable, default: 300)","format":"number","name":"POSTGRESQL_MAX_INACTIVE_LIFETIME_S"},{"description":"Recycle PostgreSQL connections after this many queries (0 to disable, default: 10000)","format":"number","name":"POSTGRESQL_MAX_QUERIES"},{"description":"asyncpg prepared statement cache size. Set to 0 for external pooler compatibility (PgBouncer transaction mode, Pgpool-II, etc.). Default: 100","format":"number","name":"POSTGRESQL_STATEMENT_CACHE_SIZE"},{"description":"Maximum lifetime of cached prepared statements in seconds (default: 300). Has no effect when statement_cache_size=0","format":"number","name":"POSTGRESQL_MAX_CACHED_STATEMENT_LIFETIME_S"},{"description":"Maximum size of statement to cache in bytes (default: 15360). Has no effect when statement_cache_size=0","format":"number","name":"POSTGRESQL_MAX_CACHEABLE_STATEMENT_SIZE"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"PostgreSQL schema name for table and index operations (default: public)","format":"string","name":"POSTGRESQL_SCHEMA"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Enable embedding generation for stored context. Default true - server fails if dependencies not met. Set false to disable embeddings.","format":"boolean","name":"ENABLE_EMBEDDING_GENERATION"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Ollama truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"OLLAMA_TRUNCATE"},{"description":"Ollama context window size in tokens (default: 4096, range: 512-131072)","format":"number","name":"OLLAMA_NUM_CTX"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Timeout in seconds for embedding generation API calls","format":"number","name":"EMBEDDING_TIMEOUT_S"},{"description":"Maximum number of retry attempts for embedding generation","format":"number","name":"EMBEDDING_RETRY_MAX_ATTEMPTS"},{"description":"Base delay in seconds between retry attempts (with exponential backoff)","format":"number","name":"EMBEDDING_RETRY_BASE_DELAY_S"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Characters of context around each FTS match for reranking passage extraction (default: 750)","format":"number","name":"FTS_RERANK_WINDOW_SIZE"},{"description":"Merge FTS match regions within this character distance (default: 100)","format":"number","name":"FTS_RERANK_GAP_MERGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Multiplier for over-fetching results before RRF fusion (default: 2)","format":"number","name":"HYBRID_RRF_OVERFETCH"},{"description":"Default sort order for search results: relevance (only 'relevance' supported in current version)","format":"string","name":"SEARCH_DEFAULT_SORT_BY"},{"description":"Enable text chunking for embedding generation (default: true)","format":"boolean","name":"ENABLE_CHUNKING"},{"description":"Target chunk size in characters (default: 1000)","format":"number","name":"CHUNK_SIZE"},{"description":"Overlap between chunks in characters (default: 100)","format":"number","name":"CHUNK_OVERLAP"},{"description":"Chunk score aggregation method: max (only 'max' supported in current version)","format":"string","name":"CHUNK_AGGREGATION"},{"description":"Multiplier for over-fetching chunks before deduplication (default: 5)","format":"number","name":"CHUNK_DEDUP_OVERFETCH"},{"description":"Enable cross-encoder reranking of search results (default: true)","format":"boolean","name":"ENABLE_RERANKING"},{"description":"Reranking provider (default: flashrank)","format":"string","name":"RERANKING_PROVIDER"},{"description":"Reranking model name (default: ms-marco-MiniLM-L-12-v2)","format":"string","name":"RERANKING_MODEL"},{"description":"Maximum input length for reranking in tokens (default: 512)","format":"number","name":"RERANKING_MAX_LENGTH"},{"description":"Multiplier for over-fetching results before reranking (default: 4)","format":"number","name":"RERANKING_OVERFETCH"},{"description":"Directory for caching reranking models","format":"string","name":"RERANKING_CACHE_DIR"},{"description":"Estimated characters per token for passage size validation (default: 4.0, range: 2.0-8.0)","format":"number","name":"RERANKING_CHARS_PER_TOKEN"},{"description":"Embedding provider: ollama (default), openai, azure, huggingface, or voyage","format":"string","name":"EMBEDDING_PROVIDER"},{"description":"OpenAI API key for OpenAI embedding provider","format":"string","isSecret":true,"name":"OPENAI_API_KEY"},{"description":"Custom base URL for OpenAI-compatible APIs","format":"string","name":"OPENAI_API_BASE"},{"description":"OpenAI organization ID","format":"string","name":"OPENAI_ORGANIZATION"},{"description":"Azure OpenAI API key","format":"string","isSecret":true,"name":"AZURE_OPENAI_API_KEY"},{"description":"Azure OpenAI endpoint URL","format":"string","name":"AZURE_OPENAI_ENDPOINT"},{"description":"Azure OpenAI embedding deployment name","format":"string","name":"AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME"},{"description":"Azure OpenAI API version (default: 2024-02-01)","format":"string","name":"AZURE_OPENAI_API_VERSION"},{"description":"HuggingFace Hub API token for HuggingFace embedding provider","format":"string","isSecret":true,"name":"HUGGINGFACEHUB_API_TOKEN"},{"description":"Voyage AI API key for Voyage embedding provider","format":"string","isSecret":true,"name":"VOYAGE_API_KEY"},{"description":"Voyage AI truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"VOYAGE_TRUNCATION"},{"description":"Voyage AI batch size for embedding requests","format":"number","name":"VOYAGE_BATCH_SIZE"},{"description":"Enable LangSmith tracing","format":"boolean","name":"LANGSMITH_TRACING"},{"description":"LangSmith API key","format":"string","isSecret":true,"name":"LANGSMITH_API_KEY"},{"description":"LangSmith project name","format":"string","name":"LANGSMITH_PROJECT"},{"description":"LangSmith API endpoint URL","format":"string","name":"LANGSMITH_ENDPOINT"},{"description":"Comma-separated list of metadata fields to index (field:type format)","format":"string","name":"METADATA_INDEXED_FIELDS"},{"description":"Index sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only)","format":"string","name":"METADATA_INDEX_SYNC_MODE"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-01-20T07:08:26.375655Z","publishedAt":"2026-01-20T07:08:26.375655Z","updatedAt":"2026-01-20T07:08:26.375655Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"1.3.1","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"1.3.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"Close idle PostgreSQL connections after this many seconds (0 to disable, default: 300)","format":"number","name":"POSTGRESQL_MAX_INACTIVE_LIFETIME_S"},{"description":"Recycle PostgreSQL connections after this many queries (0 to disable, default: 10000)","format":"number","name":"POSTGRESQL_MAX_QUERIES"},{"description":"asyncpg prepared statement cache size. Set to 0 for external pooler compatibility (PgBouncer transaction mode, Pgpool-II, etc.). Default: 100","format":"number","name":"POSTGRESQL_STATEMENT_CACHE_SIZE"},{"description":"Maximum lifetime of cached prepared statements in seconds (default: 300). Has no effect when statement_cache_size=0","format":"number","name":"POSTGRESQL_MAX_CACHED_STATEMENT_LIFETIME_S"},{"description":"Maximum size of statement to cache in bytes (default: 15360). Has no effect when statement_cache_size=0","format":"number","name":"POSTGRESQL_MAX_CACHEABLE_STATEMENT_SIZE"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"PostgreSQL schema name for table and index operations (default: public)","format":"string","name":"POSTGRESQL_SCHEMA"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Enable embedding generation for stored context. Default true - server fails if dependencies not met. Set false to disable embeddings.","format":"boolean","name":"ENABLE_EMBEDDING_GENERATION"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Ollama truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"OLLAMA_TRUNCATE"},{"description":"Ollama context window size in tokens (default: 4096, range: 512-131072)","format":"number","name":"OLLAMA_NUM_CTX"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Timeout in seconds for embedding generation API calls","format":"number","name":"EMBEDDING_TIMEOUT_S"},{"description":"Maximum number of retry attempts for embedding generation","format":"number","name":"EMBEDDING_RETRY_MAX_ATTEMPTS"},{"description":"Base delay in seconds between retry attempts (with exponential backoff)","format":"number","name":"EMBEDDING_RETRY_BASE_DELAY_S"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Characters of context around each FTS match for reranking passage extraction (default: 750)","format":"number","name":"FTS_RERANK_WINDOW_SIZE"},{"description":"Merge FTS match regions within this character distance (default: 100)","format":"number","name":"FTS_RERANK_GAP_MERGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Multiplier for over-fetching results before RRF fusion (default: 2)","format":"number","name":"HYBRID_RRF_OVERFETCH"},{"description":"Default sort order for search results: relevance (only 'relevance' supported in current version)","format":"string","name":"SEARCH_DEFAULT_SORT_BY"},{"description":"Enable text chunking for embedding generation (default: true)","format":"boolean","name":"ENABLE_CHUNKING"},{"description":"Target chunk size in characters (default: 1000)","format":"number","name":"CHUNK_SIZE"},{"description":"Overlap between chunks in characters (default: 100)","format":"number","name":"CHUNK_OVERLAP"},{"description":"Chunk score aggregation method: max (only 'max' supported in current version)","format":"string","name":"CHUNK_AGGREGATION"},{"description":"Multiplier for over-fetching chunks before deduplication (default: 5)","format":"number","name":"CHUNK_DEDUP_OVERFETCH"},{"description":"Enable cross-encoder reranking of search results (default: true)","format":"boolean","name":"ENABLE_RERANKING"},{"description":"Reranking provider (default: flashrank)","format":"string","name":"RERANKING_PROVIDER"},{"description":"Reranking model name (default: ms-marco-MiniLM-L-12-v2)","format":"string","name":"RERANKING_MODEL"},{"description":"Maximum input length for reranking in tokens (default: 512)","format":"number","name":"RERANKING_MAX_LENGTH"},{"description":"Multiplier for over-fetching results before reranking (default: 4)","format":"number","name":"RERANKING_OVERFETCH"},{"description":"Directory for caching reranking models","format":"string","name":"RERANKING_CACHE_DIR"},{"description":"Estimated characters per token for passage size validation (default: 4.0, range: 2.0-8.0)","format":"number","name":"RERANKING_CHARS_PER_TOKEN"},{"description":"Embedding provider: ollama (default), openai, azure, huggingface, or voyage","format":"string","name":"EMBEDDING_PROVIDER"},{"description":"OpenAI API key for OpenAI embedding provider","format":"string","isSecret":true,"name":"OPENAI_API_KEY"},{"description":"Custom base URL for OpenAI-compatible APIs","format":"string","name":"OPENAI_API_BASE"},{"description":"OpenAI organization ID","format":"string","name":"OPENAI_ORGANIZATION"},{"description":"Azure OpenAI API key","format":"string","isSecret":true,"name":"AZURE_OPENAI_API_KEY"},{"description":"Azure OpenAI endpoint URL","format":"string","name":"AZURE_OPENAI_ENDPOINT"},{"description":"Azure OpenAI embedding deployment name","format":"string","name":"AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME"},{"description":"Azure OpenAI API version (default: 2024-02-01)","format":"string","name":"AZURE_OPENAI_API_VERSION"},{"description":"HuggingFace Hub API token for HuggingFace embedding provider","format":"string","isSecret":true,"name":"HUGGINGFACEHUB_API_TOKEN"},{"description":"Voyage AI API key for Voyage embedding provider","format":"string","isSecret":true,"name":"VOYAGE_API_KEY"},{"description":"Voyage AI truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"VOYAGE_TRUNCATION"},{"description":"Voyage AI batch size for embedding requests","format":"number","name":"VOYAGE_BATCH_SIZE"},{"description":"Enable LangSmith tracing","format":"boolean","name":"LANGSMITH_TRACING"},{"description":"LangSmith API key","format":"string","isSecret":true,"name":"LANGSMITH_API_KEY"},{"description":"LangSmith project name","format":"string","name":"LANGSMITH_PROJECT"},{"description":"LangSmith API endpoint URL","format":"string","name":"LANGSMITH_ENDPOINT"},{"description":"Comma-separated list of metadata fields to index (field:type format)","format":"string","name":"METADATA_INDEXED_FIELDS"},{"description":"Index sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only)","format":"string","name":"METADATA_INDEX_SYNC_MODE"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]},{"registryType":"oci","identifier":"ghcr.io/alex-feel/mcp-context-server:1.3.1","runtimeHint":"docker","transport":{"type":"streamable-http","url":"http://localhost:8000/mcp"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"Close idle PostgreSQL connections after this many seconds (0 to disable, default: 300)","format":"number","name":"POSTGRESQL_MAX_INACTIVE_LIFETIME_S"},{"description":"Recycle PostgreSQL connections after this many queries (0 to disable, default: 10000)","format":"number","name":"POSTGRESQL_MAX_QUERIES"},{"description":"asyncpg prepared statement cache size. Set to 0 for external pooler compatibility (PgBouncer transaction mode, Pgpool-II, etc.). Default: 100","format":"number","name":"POSTGRESQL_STATEMENT_CACHE_SIZE"},{"description":"Maximum lifetime of cached prepared statements in seconds (default: 300). Has no effect when statement_cache_size=0","format":"number","name":"POSTGRESQL_MAX_CACHED_STATEMENT_LIFETIME_S"},{"description":"Maximum size of statement to cache in bytes (default: 15360). Has no effect when statement_cache_size=0","format":"number","name":"POSTGRESQL_MAX_CACHEABLE_STATEMENT_SIZE"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"PostgreSQL schema name for table and index operations (default: public)","format":"string","name":"POSTGRESQL_SCHEMA"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Enable embedding generation for stored context. Default true - server fails if dependencies not met. Set false to disable embeddings.","format":"boolean","name":"ENABLE_EMBEDDING_GENERATION"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Ollama truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"OLLAMA_TRUNCATE"},{"description":"Ollama context window size in tokens (default: 4096, range: 512-131072)","format":"number","name":"OLLAMA_NUM_CTX"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Timeout in seconds for embedding generation API calls","format":"number","name":"EMBEDDING_TIMEOUT_S"},{"description":"Maximum number of retry attempts for embedding generation","format":"number","name":"EMBEDDING_RETRY_MAX_ATTEMPTS"},{"description":"Base delay in seconds between retry attempts (with exponential backoff)","format":"number","name":"EMBEDDING_RETRY_BASE_DELAY_S"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Characters of context around each FTS match for reranking passage extraction (default: 750)","format":"number","name":"FTS_RERANK_WINDOW_SIZE"},{"description":"Merge FTS match regions within this character distance (default: 100)","format":"number","name":"FTS_RERANK_GAP_MERGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Multiplier for over-fetching results before RRF fusion (default: 2)","format":"number","name":"HYBRID_RRF_OVERFETCH"},{"description":"Default sort order for search results: relevance (only 'relevance' supported in current version)","format":"string","name":"SEARCH_DEFAULT_SORT_BY"},{"description":"Enable text chunking for embedding generation (default: true)","format":"boolean","name":"ENABLE_CHUNKING"},{"description":"Target chunk size in characters (default: 1000)","format":"number","name":"CHUNK_SIZE"},{"description":"Overlap between chunks in characters (default: 100)","format":"number","name":"CHUNK_OVERLAP"},{"description":"Chunk score aggregation method: max (only 'max' supported in current version)","format":"string","name":"CHUNK_AGGREGATION"},{"description":"Multiplier for over-fetching chunks before deduplication (default: 5)","format":"number","name":"CHUNK_DEDUP_OVERFETCH"},{"description":"Enable cross-encoder reranking of search results (default: true)","format":"boolean","name":"ENABLE_RERANKING"},{"description":"Reranking provider (default: flashrank)","format":"string","name":"RERANKING_PROVIDER"},{"description":"Reranking model name (default: ms-marco-MiniLM-L-12-v2)","format":"string","name":"RERANKING_MODEL"},{"description":"Maximum input length for reranking in tokens (default: 512)","format":"number","name":"RERANKING_MAX_LENGTH"},{"description":"Multiplier for over-fetching results before reranking (default: 4)","format":"number","name":"RERANKING_OVERFETCH"},{"description":"Directory for caching reranking models","format":"string","name":"RERANKING_CACHE_DIR"},{"description":"Estimated characters per token for passage size validation (default: 4.0, range: 2.0-8.0)","format":"number","name":"RERANKING_CHARS_PER_TOKEN"},{"description":"Embedding provider: ollama (default), openai, azure, huggingface, or voyage","format":"string","name":"EMBEDDING_PROVIDER"},{"description":"OpenAI API key for OpenAI embedding provider","format":"string","isSecret":true,"name":"OPENAI_API_KEY"},{"description":"Custom base URL for OpenAI-compatible APIs","format":"string","name":"OPENAI_API_BASE"},{"description":"OpenAI organization ID","format":"string","name":"OPENAI_ORGANIZATION"},{"description":"Azure OpenAI API key","format":"string","isSecret":true,"name":"AZURE_OPENAI_API_KEY"},{"description":"Azure OpenAI endpoint URL","format":"string","name":"AZURE_OPENAI_ENDPOINT"},{"description":"Azure OpenAI embedding deployment name","format":"string","name":"AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME"},{"description":"Azure OpenAI API version (default: 2024-02-01)","format":"string","name":"AZURE_OPENAI_API_VERSION"},{"description":"HuggingFace Hub API token for HuggingFace embedding provider","format":"string","isSecret":true,"name":"HUGGINGFACEHUB_API_TOKEN"},{"description":"Voyage AI API key for Voyage embedding provider","format":"string","isSecret":true,"name":"VOYAGE_API_KEY"},{"description":"Voyage AI truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"VOYAGE_TRUNCATION"},{"description":"Voyage AI batch size for embedding requests","format":"number","name":"VOYAGE_BATCH_SIZE"},{"description":"Enable LangSmith tracing","format":"boolean","name":"LANGSMITH_TRACING"},{"description":"LangSmith API key","format":"string","isSecret":true,"name":"LANGSMITH_API_KEY"},{"description":"LangSmith project name","format":"string","name":"LANGSMITH_PROJECT"},{"description":"LangSmith API endpoint URL","format":"string","name":"LANGSMITH_ENDPOINT"},{"description":"Comma-separated list of metadata fields to index (field:type format)","format":"string","name":"METADATA_INDEXED_FIELDS"},{"description":"Index sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only)","format":"string","name":"METADATA_INDEX_SYNC_MODE"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-01-25T21:59:24.696955Z","publishedAt":"2026-01-25T21:59:24.696955Z","updatedAt":"2026-01-25T21:59:24.696955Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"1.3.2","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"1.3.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"Timeout in seconds for PostgreSQL migration operations (default: 300)","format":"number","name":"POSTGRESQL_MIGRATION_TIMEOUT_S"},{"description":"Close idle PostgreSQL connections after this many seconds (0 to disable, default: 300)","format":"number","name":"POSTGRESQL_MAX_INACTIVE_LIFETIME_S"},{"description":"Recycle PostgreSQL connections after this many queries (0 to disable, default: 10000)","format":"number","name":"POSTGRESQL_MAX_QUERIES"},{"description":"asyncpg prepared statement cache size. Set to 0 for external pooler compatibility (PgBouncer transaction mode, Pgpool-II, etc.). Default: 100","format":"number","name":"POSTGRESQL_STATEMENT_CACHE_SIZE"},{"description":"Maximum lifetime of cached prepared statements in seconds (default: 300). Has no effect when statement_cache_size=0","format":"number","name":"POSTGRESQL_MAX_CACHED_STATEMENT_LIFETIME_S"},{"description":"Maximum size of statement to cache in bytes (default: 15360). Has no effect when statement_cache_size=0","format":"number","name":"POSTGRESQL_MAX_CACHEABLE_STATEMENT_SIZE"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"PostgreSQL schema name for table and index operations (default: public)","format":"string","name":"POSTGRESQL_SCHEMA"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Enable embedding generation for stored context. Default true - server fails if dependencies not met. Set false to disable embeddings.","format":"boolean","name":"ENABLE_EMBEDDING_GENERATION"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Ollama truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"OLLAMA_TRUNCATE"},{"description":"Ollama context window size in tokens (default: 4096, range: 512-131072)","format":"number","name":"OLLAMA_NUM_CTX"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Timeout in seconds for embedding generation API calls","format":"number","name":"EMBEDDING_TIMEOUT_S"},{"description":"Maximum number of retry attempts for embedding generation","format":"number","name":"EMBEDDING_RETRY_MAX_ATTEMPTS"},{"description":"Base delay in seconds between retry attempts (with exponential backoff)","format":"number","name":"EMBEDDING_RETRY_BASE_DELAY_S"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Characters of context around each FTS match for reranking passage extraction (default: 750)","format":"number","name":"FTS_RERANK_WINDOW_SIZE"},{"description":"Merge FTS match regions within this character distance (default: 100)","format":"number","name":"FTS_RERANK_GAP_MERGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Multiplier for over-fetching results before RRF fusion (default: 2)","format":"number","name":"HYBRID_RRF_OVERFETCH"},{"description":"Default sort order for search results: relevance (only 'relevance' supported in current version)","format":"string","name":"SEARCH_DEFAULT_SORT_BY"},{"description":"Enable text chunking for embedding generation (default: true)","format":"boolean","name":"ENABLE_CHUNKING"},{"description":"Target chunk size in characters (default: 1000)","format":"number","name":"CHUNK_SIZE"},{"description":"Overlap between chunks in characters (default: 100)","format":"number","name":"CHUNK_OVERLAP"},{"description":"Chunk score aggregation method: max (only 'max' supported in current version)","format":"string","name":"CHUNK_AGGREGATION"},{"description":"Multiplier for over-fetching chunks before deduplication (default: 5)","format":"number","name":"CHUNK_DEDUP_OVERFETCH"},{"description":"Enable cross-encoder reranking of search results (default: true)","format":"boolean","name":"ENABLE_RERANKING"},{"description":"Reranking provider (default: flashrank)","format":"string","name":"RERANKING_PROVIDER"},{"description":"Reranking model name (default: ms-marco-MiniLM-L-12-v2)","format":"string","name":"RERANKING_MODEL"},{"description":"Maximum input length for reranking in tokens (default: 512)","format":"number","name":"RERANKING_MAX_LENGTH"},{"description":"Multiplier for over-fetching results before reranking (default: 4)","format":"number","name":"RERANKING_OVERFETCH"},{"description":"Directory for caching reranking models","format":"string","name":"RERANKING_CACHE_DIR"},{"description":"Estimated characters per token for passage size validation (default: 4.0, range: 2.0-8.0)","format":"number","name":"RERANKING_CHARS_PER_TOKEN"},{"description":"Embedding provider: ollama (default), openai, azure, huggingface, or voyage","format":"string","name":"EMBEDDING_PROVIDER"},{"description":"OpenAI API key for OpenAI embedding provider","format":"string","isSecret":true,"name":"OPENAI_API_KEY"},{"description":"Custom base URL for OpenAI-compatible APIs","format":"string","name":"OPENAI_API_BASE"},{"description":"OpenAI organization ID","format":"string","name":"OPENAI_ORGANIZATION"},{"description":"Azure OpenAI API key","format":"string","isSecret":true,"name":"AZURE_OPENAI_API_KEY"},{"description":"Azure OpenAI endpoint URL","format":"string","name":"AZURE_OPENAI_ENDPOINT"},{"description":"Azure OpenAI embedding deployment name","format":"string","name":"AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME"},{"description":"Azure OpenAI API version (default: 2024-02-01)","format":"string","name":"AZURE_OPENAI_API_VERSION"},{"description":"HuggingFace Hub API token for HuggingFace embedding provider","format":"string","isSecret":true,"name":"HUGGINGFACEHUB_API_TOKEN"},{"description":"Voyage AI API key for Voyage embedding provider","format":"string","isSecret":true,"name":"VOYAGE_API_KEY"},{"description":"Voyage AI truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"VOYAGE_TRUNCATION"},{"description":"Voyage AI batch size for embedding requests","format":"number","name":"VOYAGE_BATCH_SIZE"},{"description":"Enable LangSmith tracing","format":"boolean","name":"LANGSMITH_TRACING"},{"description":"LangSmith API key","format":"string","isSecret":true,"name":"LANGSMITH_API_KEY"},{"description":"LangSmith project name","format":"string","name":"LANGSMITH_PROJECT"},{"description":"LangSmith API endpoint URL","format":"string","name":"LANGSMITH_ENDPOINT"},{"description":"Comma-separated list of metadata fields to index (field:type format)","format":"string","name":"METADATA_INDEXED_FIELDS"},{"description":"Index sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only)","format":"string","name":"METADATA_INDEX_SYNC_MODE"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]},{"registryType":"oci","identifier":"ghcr.io/alex-feel/mcp-context-server:1.3.2","runtimeHint":"docker","transport":{"type":"streamable-http","url":"http://localhost:8000/mcp"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"Timeout in seconds for PostgreSQL migration operations (default: 300)","format":"number","name":"POSTGRESQL_MIGRATION_TIMEOUT_S"},{"description":"Close idle PostgreSQL connections after this many seconds (0 to disable, default: 300)","format":"number","name":"POSTGRESQL_MAX_INACTIVE_LIFETIME_S"},{"description":"Recycle PostgreSQL connections after this many queries (0 to disable, default: 10000)","format":"number","name":"POSTGRESQL_MAX_QUERIES"},{"description":"asyncpg prepared statement cache size. Set to 0 for external pooler compatibility (PgBouncer transaction mode, Pgpool-II, etc.). Default: 100","format":"number","name":"POSTGRESQL_STATEMENT_CACHE_SIZE"},{"description":"Maximum lifetime of cached prepared statements in seconds (default: 300). Has no effect when statement_cache_size=0","format":"number","name":"POSTGRESQL_MAX_CACHED_STATEMENT_LIFETIME_S"},{"description":"Maximum size of statement to cache in bytes (default: 15360). Has no effect when statement_cache_size=0","format":"number","name":"POSTGRESQL_MAX_CACHEABLE_STATEMENT_SIZE"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"PostgreSQL schema name for table and index operations (default: public)","format":"string","name":"POSTGRESQL_SCHEMA"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Enable embedding generation for stored context. Default true - server fails if dependencies not met. Set false to disable embeddings.","format":"boolean","name":"ENABLE_EMBEDDING_GENERATION"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Ollama truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"OLLAMA_TRUNCATE"},{"description":"Ollama context window size in tokens (default: 4096, range: 512-131072)","format":"number","name":"OLLAMA_NUM_CTX"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Timeout in seconds for embedding generation API calls","format":"number","name":"EMBEDDING_TIMEOUT_S"},{"description":"Maximum number of retry attempts for embedding generation","format":"number","name":"EMBEDDING_RETRY_MAX_ATTEMPTS"},{"description":"Base delay in seconds between retry attempts (with exponential backoff)","format":"number","name":"EMBEDDING_RETRY_BASE_DELAY_S"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Characters of context around each FTS match for reranking passage extraction (default: 750)","format":"number","name":"FTS_RERANK_WINDOW_SIZE"},{"description":"Merge FTS match regions within this character distance (default: 100)","format":"number","name":"FTS_RERANK_GAP_MERGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Multiplier for over-fetching results before RRF fusion (default: 2)","format":"number","name":"HYBRID_RRF_OVERFETCH"},{"description":"Default sort order for search results: relevance (only 'relevance' supported in current version)","format":"string","name":"SEARCH_DEFAULT_SORT_BY"},{"description":"Enable text chunking for embedding generation (default: true)","format":"boolean","name":"ENABLE_CHUNKING"},{"description":"Target chunk size in characters (default: 1000)","format":"number","name":"CHUNK_SIZE"},{"description":"Overlap between chunks in characters (default: 100)","format":"number","name":"CHUNK_OVERLAP"},{"description":"Chunk score aggregation method: max (only 'max' supported in current version)","format":"string","name":"CHUNK_AGGREGATION"},{"description":"Multiplier for over-fetching chunks before deduplication (default: 5)","format":"number","name":"CHUNK_DEDUP_OVERFETCH"},{"description":"Enable cross-encoder reranking of search results (default: true)","format":"boolean","name":"ENABLE_RERANKING"},{"description":"Reranking provider (default: flashrank)","format":"string","name":"RERANKING_PROVIDER"},{"description":"Reranking model name (default: ms-marco-MiniLM-L-12-v2)","format":"string","name":"RERANKING_MODEL"},{"description":"Maximum input length for reranking in tokens (default: 512)","format":"number","name":"RERANKING_MAX_LENGTH"},{"description":"Multiplier for over-fetching results before reranking (default: 4)","format":"number","name":"RERANKING_OVERFETCH"},{"description":"Directory for caching reranking models","format":"string","name":"RERANKING_CACHE_DIR"},{"description":"Estimated characters per token for passage size validation (default: 4.0, range: 2.0-8.0)","format":"number","name":"RERANKING_CHARS_PER_TOKEN"},{"description":"Embedding provider: ollama (default), openai, azure, huggingface, or voyage","format":"string","name":"EMBEDDING_PROVIDER"},{"description":"OpenAI API key for OpenAI embedding provider","format":"string","isSecret":true,"name":"OPENAI_API_KEY"},{"description":"Custom base URL for OpenAI-compatible APIs","format":"string","name":"OPENAI_API_BASE"},{"description":"OpenAI organization ID","format":"string","name":"OPENAI_ORGANIZATION"},{"description":"Azure OpenAI API key","format":"string","isSecret":true,"name":"AZURE_OPENAI_API_KEY"},{"description":"Azure OpenAI endpoint URL","format":"string","name":"AZURE_OPENAI_ENDPOINT"},{"description":"Azure OpenAI embedding deployment name","format":"string","name":"AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME"},{"description":"Azure OpenAI API version (default: 2024-02-01)","format":"string","name":"AZURE_OPENAI_API_VERSION"},{"description":"HuggingFace Hub API token for HuggingFace embedding provider","format":"string","isSecret":true,"name":"HUGGINGFACEHUB_API_TOKEN"},{"description":"Voyage AI API key for Voyage embedding provider","format":"string","isSecret":true,"name":"VOYAGE_API_KEY"},{"description":"Voyage AI truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"VOYAGE_TRUNCATION"},{"description":"Voyage AI batch size for embedding requests","format":"number","name":"VOYAGE_BATCH_SIZE"},{"description":"Enable LangSmith tracing","format":"boolean","name":"LANGSMITH_TRACING"},{"description":"LangSmith API key","format":"string","isSecret":true,"name":"LANGSMITH_API_KEY"},{"description":"LangSmith project name","format":"string","name":"LANGSMITH_PROJECT"},{"description":"LangSmith API endpoint URL","format":"string","name":"LANGSMITH_ENDPOINT"},{"description":"Comma-separated list of metadata fields to index (field:type format)","format":"string","name":"METADATA_INDEXED_FIELDS"},{"description":"Index sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only)","format":"string","name":"METADATA_INDEX_SYNC_MODE"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-02-06T17:06:36.642561Z","publishedAt":"2026-02-06T17:06:36.642561Z","updatedAt":"2026-02-06T17:06:36.642561Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.alex-feel/mcp-context-server","description":"An MCP server that provides persistent multimodal context storage for LLM agents.","repository":{"url":"https://github.com/alex-feel/mcp-context-server","source":"github"},"version":"1.3.3","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"mcp-context-server","version":"1.3.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"Timeout in seconds for PostgreSQL migration operations (default: 300)","format":"number","name":"POSTGRESQL_MIGRATION_TIMEOUT_S"},{"description":"Close idle PostgreSQL connections after this many seconds (0 to disable, default: 300)","format":"number","name":"POSTGRESQL_MAX_INACTIVE_LIFETIME_S"},{"description":"Recycle PostgreSQL connections after this many queries (0 to disable, default: 10000)","format":"number","name":"POSTGRESQL_MAX_QUERIES"},{"description":"Seconds of idle time before sending first TCP keepalive probe (0 to disable, default: 15)","format":"number","name":"POSTGRESQL_TCP_KEEPALIVES_IDLE_S"},{"description":"Seconds between subsequent TCP keepalive probes (0 to disable, default: 5)","format":"number","name":"POSTGRESQL_TCP_KEEPALIVES_INTERVAL_S"},{"description":"Number of failed TCP keepalive probes before connection is considered dead (0 to disable, default: 3)","format":"number","name":"POSTGRESQL_TCP_KEEPALIVES_COUNT"},{"description":"asyncpg prepared statement cache size. Set to 0 for external pooler compatibility (PgBouncer transaction mode, Pgpool-II, etc.). Default: 100","format":"number","name":"POSTGRESQL_STATEMENT_CACHE_SIZE"},{"description":"Maximum lifetime of cached prepared statements in seconds (default: 300). Has no effect when statement_cache_size=0","format":"number","name":"POSTGRESQL_MAX_CACHED_STATEMENT_LIFETIME_S"},{"description":"Maximum size of statement to cache in bytes (default: 15360). Has no effect when statement_cache_size=0","format":"number","name":"POSTGRESQL_MAX_CACHEABLE_STATEMENT_SIZE"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"PostgreSQL schema name for table and index operations (default: public)","format":"string","name":"POSTGRESQL_SCHEMA"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Enable embedding generation for stored context. Default true - server fails if dependencies not met. Set false to disable embeddings.","format":"boolean","name":"ENABLE_EMBEDDING_GENERATION"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Ollama truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"OLLAMA_TRUNCATE"},{"description":"Ollama context window size in tokens (default: 4096, range: 512-131072)","format":"number","name":"OLLAMA_NUM_CTX"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Timeout in seconds for embedding generation API calls","format":"number","name":"EMBEDDING_TIMEOUT_S"},{"description":"Maximum number of retry attempts for embedding generation","format":"number","name":"EMBEDDING_RETRY_MAX_ATTEMPTS"},{"description":"Base delay in seconds between retry attempts (with exponential backoff)","format":"number","name":"EMBEDDING_RETRY_BASE_DELAY_S"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Characters of context around each FTS match for reranking passage extraction (default: 750)","format":"number","name":"FTS_RERANK_WINDOW_SIZE"},{"description":"Merge FTS match regions within this character distance (default: 100)","format":"number","name":"FTS_RERANK_GAP_MERGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Multiplier for over-fetching results before RRF fusion (default: 2)","format":"number","name":"HYBRID_RRF_OVERFETCH"},{"description":"Default sort order for search results: relevance (only 'relevance' supported in current version)","format":"string","name":"SEARCH_DEFAULT_SORT_BY"},{"description":"Enable text chunking for embedding generation (default: true)","format":"boolean","name":"ENABLE_CHUNKING"},{"description":"Target chunk size in characters (default: 1000)","format":"number","name":"CHUNK_SIZE"},{"description":"Overlap between chunks in characters (default: 100)","format":"number","name":"CHUNK_OVERLAP"},{"description":"Chunk score aggregation method: max (only 'max' supported in current version)","format":"string","name":"CHUNK_AGGREGATION"},{"description":"Multiplier for over-fetching chunks before deduplication (default: 5)","format":"number","name":"CHUNK_DEDUP_OVERFETCH"},{"description":"Enable cross-encoder reranking of search results (default: true)","format":"boolean","name":"ENABLE_RERANKING"},{"description":"Reranking provider (default: flashrank)","format":"string","name":"RERANKING_PROVIDER"},{"description":"Reranking model name (default: ms-marco-MiniLM-L-12-v2)","format":"string","name":"RERANKING_MODEL"},{"description":"Maximum input length for reranking in tokens (default: 512)","format":"number","name":"RERANKING_MAX_LENGTH"},{"description":"Multiplier for over-fetching results before reranking (default: 4)","format":"number","name":"RERANKING_OVERFETCH"},{"description":"Directory for caching reranking models","format":"string","name":"RERANKING_CACHE_DIR"},{"description":"Estimated characters per token for passage size validation (default: 4.0, range: 2.0-8.0)","format":"number","name":"RERANKING_CHARS_PER_TOKEN"},{"description":"Embedding provider: ollama (default), openai, azure, huggingface, or voyage","format":"string","name":"EMBEDDING_PROVIDER"},{"description":"OpenAI API key for OpenAI embedding provider","format":"string","isSecret":true,"name":"OPENAI_API_KEY"},{"description":"Custom base URL for OpenAI-compatible APIs","format":"string","name":"OPENAI_API_BASE"},{"description":"OpenAI organization ID","format":"string","name":"OPENAI_ORGANIZATION"},{"description":"Azure OpenAI API key","format":"string","isSecret":true,"name":"AZURE_OPENAI_API_KEY"},{"description":"Azure OpenAI endpoint URL","format":"string","name":"AZURE_OPENAI_ENDPOINT"},{"description":"Azure OpenAI embedding deployment name","format":"string","name":"AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME"},{"description":"Azure OpenAI API version (default: 2024-02-01)","format":"string","name":"AZURE_OPENAI_API_VERSION"},{"description":"HuggingFace Hub API token for HuggingFace embedding provider","format":"string","isSecret":true,"name":"HUGGINGFACEHUB_API_TOKEN"},{"description":"Voyage AI API key for Voyage embedding provider","format":"string","isSecret":true,"name":"VOYAGE_API_KEY"},{"description":"Voyage AI truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"VOYAGE_TRUNCATION"},{"description":"Voyage AI batch size for embedding requests","format":"number","name":"VOYAGE_BATCH_SIZE"},{"description":"Enable LangSmith tracing","format":"boolean","name":"LANGSMITH_TRACING"},{"description":"LangSmith API key","format":"string","isSecret":true,"name":"LANGSMITH_API_KEY"},{"description":"LangSmith project name","format":"string","name":"LANGSMITH_PROJECT"},{"description":"LangSmith API endpoint URL","format":"string","name":"LANGSMITH_ENDPOINT"},{"description":"Comma-separated list of metadata fields to index (field:type format)","format":"string","name":"METADATA_INDEXED_FIELDS"},{"description":"Index sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only)","format":"string","name":"METADATA_INDEX_SYNC_MODE"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]},{"registryType":"oci","identifier":"ghcr.io/alex-feel/mcp-context-server:1.3.3","runtimeHint":"docker","transport":{"type":"streamable-http","url":"http://localhost:8000/mcp"},"environmentVariables":[{"description":"Log level","format":"string","name":"LOG_LEVEL"},{"description":"Storage backend type: sqlite (default) or postgresql","format":"string","name":"STORAGE_BACKEND"},{"description":"Maximum individual image size in megabytes","format":"number","name":"MAX_IMAGE_SIZE_MB"},{"description":"Maximum total request size in megabytes","format":"number","name":"MAX_TOTAL_SIZE_MB"},{"description":"Custom database file location path","format":"string","name":"DB_PATH"},{"description":"Maximum number of concurrent read connections in the pool","format":"number","name":"POOL_MAX_READERS"},{"description":"Maximum number of concurrent write connections in the pool","format":"number","name":"POOL_MAX_WRITERS"},{"description":"Connection timeout in seconds","format":"number","name":"POOL_CONNECTION_TIMEOUT_S"},{"description":"Idle connection timeout in seconds","format":"number","name":"POOL_IDLE_TIMEOUT_S"},{"description":"Connection health check interval in seconds","format":"number","name":"POOL_HEALTH_CHECK_INTERVAL_S"},{"description":"Maximum number of retry attempts for failed operations","format":"number","name":"RETRY_MAX_RETRIES"},{"description":"Base delay in seconds between retry attempts","format":"number","name":"RETRY_BASE_DELAY_S"},{"description":"Maximum delay in seconds between retry attempts","format":"number","name":"RETRY_MAX_DELAY_S"},{"description":"Enable random jitter in retry delays","format":"boolean","name":"RETRY_JITTER"},{"description":"Exponential backoff multiplication factor for retries","format":"number","name":"RETRY_BACKOFF_FACTOR"},{"description":"Enable SQLite foreign key constraints","format":"boolean","name":"SQLITE_FOREIGN_KEYS"},{"description":"SQLite journal mode (e.g., WAL, DELETE)","format":"string","name":"SQLITE_JOURNAL_MODE"},{"description":"SQLite synchronous mode (e.g., NORMAL, FULL, OFF)","format":"string","name":"SQLITE_SYNCHRONOUS"},{"description":"SQLite temporary storage location (e.g., MEMORY, FILE)","format":"string","name":"SQLITE_TEMP_STORE"},{"description":"SQLite memory-mapped I/O size in bytes","format":"number","name":"SQLITE_MMAP_SIZE"},{"description":"SQLite cache size (negative value for KB, positive for pages)","format":"number","name":"SQLITE_CACHE_SIZE"},{"description":"SQLite page size in bytes","format":"number","name":"SQLITE_PAGE_SIZE"},{"description":"SQLite WAL autocheckpoint threshold in pages","format":"number","name":"SQLITE_WAL_AUTOCHECKPOINT"},{"description":"SQLite busy timeout in milliseconds","format":"number","name":"SQLITE_BUSY_TIMEOUT_MS"},{"description":"SQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)","format":"string","name":"SQLITE_WAL_CHECKPOINT"},{"description":"Server shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_S"},{"description":"Test mode shutdown timeout in seconds","format":"number","name":"SHUTDOWN_TIMEOUT_TEST_S"},{"description":"Queue operation timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_S"},{"description":"Test mode queue timeout in seconds","format":"number","name":"QUEUE_TIMEOUT_TEST_S"},{"description":"Circuit breaker failure threshold before opening","format":"number","name":"CIRCUIT_BREAKER_FAILURE_THRESHOLD"},{"description":"Circuit breaker recovery timeout in seconds","format":"number","name":"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S"},{"description":"Maximum calls allowed in circuit breaker half-open state","format":"number","name":"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS"},{"description":"Complete PostgreSQL connection string (overrides individual settings if provided)","format":"string","isSecret":true,"name":"POSTGRESQL_CONNECTION_STRING"},{"description":"PostgreSQL server host address","format":"string","name":"POSTGRESQL_HOST"},{"description":"PostgreSQL server port number","format":"number","name":"POSTGRESQL_PORT"},{"description":"PostgreSQL database username","format":"string","name":"POSTGRESQL_USER"},{"description":"PostgreSQL database password","format":"string","isSecret":true,"name":"POSTGRESQL_PASSWORD"},{"description":"PostgreSQL database name","format":"string","name":"POSTGRESQL_DATABASE"},{"description":"PostgreSQL connection pool minimum size","format":"number","name":"POSTGRESQL_POOL_MIN"},{"description":"PostgreSQL connection pool maximum size","format":"number","name":"POSTGRESQL_POOL_MAX"},{"description":"PostgreSQL connection pool timeout in seconds","format":"number","name":"POSTGRESQL_POOL_TIMEOUT_S"},{"description":"PostgreSQL command execution timeout in seconds","format":"number","name":"POSTGRESQL_COMMAND_TIMEOUT_S"},{"description":"Timeout in seconds for PostgreSQL migration operations (default: 300)","format":"number","name":"POSTGRESQL_MIGRATION_TIMEOUT_S"},{"description":"Close idle PostgreSQL connections after this many seconds (0 to disable, default: 300)","format":"number","name":"POSTGRESQL_MAX_INACTIVE_LIFETIME_S"},{"description":"Recycle PostgreSQL connections after this many queries (0 to disable, default: 10000)","format":"number","name":"POSTGRESQL_MAX_QUERIES"},{"description":"Seconds of idle time before sending first TCP keepalive probe (0 to disable, default: 15)","format":"number","name":"POSTGRESQL_TCP_KEEPALIVES_IDLE_S"},{"description":"Seconds between subsequent TCP keepalive probes (0 to disable, default: 5)","format":"number","name":"POSTGRESQL_TCP_KEEPALIVES_INTERVAL_S"},{"description":"Number of failed TCP keepalive probes before connection is considered dead (0 to disable, default: 3)","format":"number","name":"POSTGRESQL_TCP_KEEPALIVES_COUNT"},{"description":"asyncpg prepared statement cache size. Set to 0 for external pooler compatibility (PgBouncer transaction mode, Pgpool-II, etc.). Default: 100","format":"number","name":"POSTGRESQL_STATEMENT_CACHE_SIZE"},{"description":"Maximum lifetime of cached prepared statements in seconds (default: 300). Has no effect when statement_cache_size=0","format":"number","name":"POSTGRESQL_MAX_CACHED_STATEMENT_LIFETIME_S"},{"description":"Maximum size of statement to cache in bytes (default: 15360). Has no effect when statement_cache_size=0","format":"number","name":"POSTGRESQL_MAX_CACHEABLE_STATEMENT_SIZE"},{"description":"PostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)","format":"string","name":"POSTGRESQL_SSL_MODE"},{"description":"PostgreSQL schema name for table and index operations (default: public)","format":"string","name":"POSTGRESQL_SCHEMA"},{"description":"Enable semantic search functionality","format":"boolean","name":"ENABLE_SEMANTIC_SEARCH"},{"description":"Enable embedding generation for stored context. Default true - server fails if dependencies not met. Set false to disable embeddings.","format":"boolean","name":"ENABLE_EMBEDDING_GENERATION"},{"description":"Ollama API host URL for embedding generation","format":"string","name":"OLLAMA_HOST"},{"description":"Ollama truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"OLLAMA_TRUNCATE"},{"description":"Ollama context window size in tokens (default: 4096, range: 512-131072)","format":"number","name":"OLLAMA_NUM_CTX"},{"description":"Embedding model name for semantic search","format":"string","name":"EMBEDDING_MODEL"},{"description":"Embedding vector dimensions","format":"number","name":"EMBEDDING_DIM"},{"description":"Timeout in seconds for embedding generation API calls","format":"number","name":"EMBEDDING_TIMEOUT_S"},{"description":"Maximum number of retry attempts for embedding generation","format":"number","name":"EMBEDDING_RETRY_MAX_ATTEMPTS"},{"description":"Base delay in seconds between retry attempts (with exponential backoff)","format":"number","name":"EMBEDDING_RETRY_BASE_DELAY_S"},{"description":"Enable full-text search functionality","format":"boolean","name":"ENABLE_FTS"},{"description":"Language for FTS stemming (e.g., english, german, french)","format":"string","name":"FTS_LANGUAGE"},{"description":"Characters of context around each FTS match for reranking passage extraction (default: 750)","format":"number","name":"FTS_RERANK_WINDOW_SIZE"},{"description":"Merge FTS match regions within this character distance (default: 100)","format":"number","name":"FTS_RERANK_GAP_MERGE"},{"description":"Enable hybrid search combining FTS and semantic search with RRF fusion","format":"boolean","name":"ENABLE_HYBRID_SEARCH"},{"description":"RRF smoothing constant for hybrid search (default 60)","format":"number","name":"HYBRID_RRF_K"},{"description":"Multiplier for over-fetching results before RRF fusion (default: 2)","format":"number","name":"HYBRID_RRF_OVERFETCH"},{"description":"Default sort order for search results: relevance (only 'relevance' supported in current version)","format":"string","name":"SEARCH_DEFAULT_SORT_BY"},{"description":"Enable text chunking for embedding generation (default: true)","format":"boolean","name":"ENABLE_CHUNKING"},{"description":"Target chunk size in characters (default: 1000)","format":"number","name":"CHUNK_SIZE"},{"description":"Overlap between chunks in characters (default: 100)","format":"number","name":"CHUNK_OVERLAP"},{"description":"Chunk score aggregation method: max (only 'max' supported in current version)","format":"string","name":"CHUNK_AGGREGATION"},{"description":"Multiplier for over-fetching chunks before deduplication (default: 5)","format":"number","name":"CHUNK_DEDUP_OVERFETCH"},{"description":"Enable cross-encoder reranking of search results (default: true)","format":"boolean","name":"ENABLE_RERANKING"},{"description":"Reranking provider (default: flashrank)","format":"string","name":"RERANKING_PROVIDER"},{"description":"Reranking model name (default: ms-marco-MiniLM-L-12-v2)","format":"string","name":"RERANKING_MODEL"},{"description":"Maximum input length for reranking in tokens (default: 512)","format":"number","name":"RERANKING_MAX_LENGTH"},{"description":"Multiplier for over-fetching results before reranking (default: 4)","format":"number","name":"RERANKING_OVERFETCH"},{"description":"Directory for caching reranking models","format":"string","name":"RERANKING_CACHE_DIR"},{"description":"Estimated characters per token for passage size validation (default: 4.0, range: 2.0-8.0)","format":"number","name":"RERANKING_CHARS_PER_TOKEN"},{"description":"Embedding provider: ollama (default), openai, azure, huggingface, or voyage","format":"string","name":"EMBEDDING_PROVIDER"},{"description":"OpenAI API key for OpenAI embedding provider","format":"string","isSecret":true,"name":"OPENAI_API_KEY"},{"description":"Custom base URL for OpenAI-compatible APIs","format":"string","name":"OPENAI_API_BASE"},{"description":"OpenAI organization ID","format":"string","name":"OPENAI_ORGANIZATION"},{"description":"Azure OpenAI API key","format":"string","isSecret":true,"name":"AZURE_OPENAI_API_KEY"},{"description":"Azure OpenAI endpoint URL","format":"string","name":"AZURE_OPENAI_ENDPOINT"},{"description":"Azure OpenAI embedding deployment name","format":"string","name":"AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME"},{"description":"Azure OpenAI API version (default: 2024-02-01)","format":"string","name":"AZURE_OPENAI_API_VERSION"},{"description":"HuggingFace Hub API token for HuggingFace embedding provider","format":"string","isSecret":true,"name":"HUGGINGFACEHUB_API_TOKEN"},{"description":"Voyage AI API key for Voyage embedding provider","format":"string","isSecret":true,"name":"VOYAGE_API_KEY"},{"description":"Voyage AI truncation mode: false (default) returns error when context exceeded, true enables silent truncation","format":"boolean","name":"VOYAGE_TRUNCATION"},{"description":"Voyage AI batch size for embedding requests","format":"number","name":"VOYAGE_BATCH_SIZE"},{"description":"Enable LangSmith tracing","format":"boolean","name":"LANGSMITH_TRACING"},{"description":"LangSmith API key","format":"string","isSecret":true,"name":"LANGSMITH_API_KEY"},{"description":"LangSmith project name","format":"string","name":"LANGSMITH_PROJECT"},{"description":"LangSmith API endpoint URL","format":"string","name":"LANGSMITH_ENDPOINT"},{"description":"Comma-separated list of metadata fields to index (field:type format)","format":"string","name":"METADATA_INDEXED_FIELDS"},{"description":"Index sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only)","format":"string","name":"METADATA_INDEX_SYNC_MODE"},{"description":"Transport mode: stdio for local, http for Docker/remote","format":"string","name":"MCP_TRANSPORT"},{"description":"HTTP bind address (use 0.0.0.0 for Docker)","format":"string","name":"FASTMCP_HOST"},{"description":"HTTP port number","format":"number","name":"FASTMCP_PORT"},{"description":"Comma-separated list of tools to disable (e.g., delete_context,update_context)","format":"string","name":"DISABLED_TOOLS"},{"description":"Bearer token for HTTP authentication (required when using SimpleTokenVerifier)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Client ID to assign to authenticated requests","format":"string","name":"MCP_AUTH_CLIENT_ID"},{"description":"Authentication provider class path (e.g., app.auth.simple_token.SimpleTokenVerifier)","format":"string","name":"FASTMCP_SERVER_AUTH"},{"description":"Google OAuth Client ID (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_ID"},{"description":"Google OAuth Client Secret (required when using GoogleProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_GOOGLE_CLIENT_SECRET"},{"description":"Server base URL for OAuth callbacks (required when using GoogleProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_BASE_URL"},{"description":"Required OAuth scopes (comma-separated, e.g., openid,email)","format":"string","name":"FASTMCP_SERVER_AUTH_GOOGLE_REQUIRED_SCOPES"},{"description":"Azure OAuth Client ID (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_ID"},{"description":"Azure OAuth Client Secret (required when using AzureProvider)","format":"string","isSecret":true,"name":"FASTMCP_SERVER_AUTH_AZURE_CLIENT_SECRET"},{"description":"Azure Tenant ID - use specific GUID for org-only access, 'organizations' for multi-tenant, or 'consumers' for personal accounts","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_TENANT_ID"},{"description":"Server base URL for OAuth callbacks (required when using AzureProvider)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_BASE_URL"},{"description":"Required OAuth scopes for Azure (comma-separated, e.g., read,write)","format":"string","name":"FASTMCP_SERVER_AUTH_AZURE_REQUIRED_SCOPES"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-02-11T09:49:04.691742Z","publishedAt":"2026-02-11T09:49:04.691742Z","updatedAt":"2026-02-11T09:49:04.691742Z","isLatest":false}}}],"metadata":{"nextCursor":"io.github.alex-feel/mcp-context-server:1.3.3","count":30}}
