AgentHubAgentHub

mcp-context-server

MCP ServerMCP Registry官方收录

io.github.alex-feel/mcp-context-server · v2.2.2

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

概览

mcp-context-server 是一个MCP Server,收录自 官方 MCP Registry。支持 stdio、streamable-http 传输。本页提供 Cursor、Claude Code 等客户端的安装配置片段。

安装

选择你的平台查看安装方式

{
  "mcpServers": {
    "mcp-context-server": {
      "command": "uvx",
      "args": [
        "mcp-context-server"
      ]
    }
  }
}

环境变量

LOG_LEVEL可选

Log level

STORAGE_BACKEND可选

Storage backend type: sqlite (default) or postgresql

MAX_IMAGE_SIZE_MB可选

Maximum individual image size in megabytes

MAX_TOTAL_SIZE_MB可选

Maximum total request size in megabytes

DB_PATH可选

Custom database file location path

POOL_MAX_READERS可选

Maximum number of concurrent read connections in the pool

POOL_MAX_WRITERS可选

Maximum number of concurrent write connections in the pool

POOL_CONNECTION_TIMEOUT_S可选

Connection timeout in seconds

POOL_IDLE_TIMEOUT_S可选

Idle connection timeout in seconds

POOL_HEALTH_CHECK_INTERVAL_S可选

Connection health check interval in seconds

RETRY_MAX_RETRIES可选

Maximum number of retry attempts for failed operations

RETRY_BASE_DELAY_S可选

Base delay in seconds between retry attempts

RETRY_MAX_DELAY_S可选

Maximum delay in seconds between retry attempts

RETRY_JITTER可选

Enable random jitter in retry delays

RETRY_BACKOFF_FACTOR可选

Exponential backoff multiplication factor for retries

SQLITE_FOREIGN_KEYS可选

Enable SQLite foreign key constraints

SQLITE_JOURNAL_MODE可选

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

SQLITE_SYNCHRONOUS可选

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

SQLITE_TEMP_STORE可选

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

SQLITE_MMAP_SIZE可选

SQLite memory-mapped I/O size in bytes

SQLITE_CACHE_SIZE可选

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

SQLITE_PAGE_SIZE可选

SQLite page size in bytes

SQLITE_WAL_AUTOCHECKPOINT可选

SQLite WAL autocheckpoint threshold in pages

SQLITE_BUSY_TIMEOUT_MS可选

SQLite busy timeout in milliseconds

SQLITE_WAL_CHECKPOINT可选

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

SHUTDOWN_TIMEOUT_S可选

Server shutdown timeout in seconds

SHUTDOWN_TIMEOUT_TEST_S可选

Test mode shutdown timeout in seconds

QUEUE_TIMEOUT_S可选

Queue operation timeout in seconds

QUEUE_TIMEOUT_TEST_S可选

Test mode queue timeout in seconds

CIRCUIT_BREAKER_FAILURE_THRESHOLD可选

Circuit breaker failure threshold before opening

CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S可选

Circuit breaker recovery timeout in seconds

CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS可选

Maximum calls allowed in circuit breaker half-open state

POSTGRESQL_CONNECTION_STRING可选secret

Complete PostgreSQL connection string (overrides individual settings if provided)

POSTGRESQL_HOST可选

PostgreSQL server host address

POSTGRESQL_PORT可选

PostgreSQL server port number

POSTGRESQL_USER可选

PostgreSQL database username

POSTGRESQL_PASSWORD可选secret

PostgreSQL database password

POSTGRESQL_DATABASE可选

PostgreSQL database name

POSTGRESQL_POOL_MIN可选

PostgreSQL connection pool minimum size

POSTGRESQL_POOL_MAX可选

PostgreSQL connection pool maximum size

POSTGRESQL_POOL_TIMEOUT_S可选

PostgreSQL connection pool timeout in seconds

POSTGRESQL_COMMAND_TIMEOUT_S可选

PostgreSQL command execution timeout in seconds

POSTGRESQL_MIGRATION_TIMEOUT_S可选

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

POSTGRESQL_MAX_INACTIVE_LIFETIME_S可选

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

POSTGRESQL_MAX_QUERIES可选

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

POSTGRESQL_TCP_KEEPALIVES_IDLE_S可选

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

POSTGRESQL_TCP_KEEPALIVES_INTERVAL_S可选

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

POSTGRESQL_TCP_KEEPALIVES_COUNT可选

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

POSTGRESQL_STATEMENT_CACHE_SIZE可选

asyncpg prepared statement cache size. Set to 0 for external pooler compatibility (PgBouncer transaction mode, Pgpool-II, etc.). Default: 100

POSTGRESQL_MAX_CACHED_STATEMENT_LIFETIME_S可选

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

POSTGRESQL_MAX_CACHEABLE_STATEMENT_SIZE可选

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

POSTGRESQL_SSL_MODE可选

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

POSTGRESQL_SCHEMA可选

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

ENABLE_SEMANTIC_SEARCH可选

Enable semantic search functionality

ENABLE_EMBEDDING_GENERATION可选

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

OLLAMA_HOST可选

Ollama API host URL for embedding generation

OLLAMA_AUTO_PULL可选

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

OLLAMA_PULL_TIMEOUT_S可选

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

EMBEDDING_OLLAMA_TRUNCATE可选

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

EMBEDDING_OLLAMA_NUM_CTX可选

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

EMBEDDING_MODEL可选

Embedding model name for semantic search

EMBEDDING_DIM可选

Embedding vector dimensions

EMBEDDING_TIMEOUT_S可选

Timeout in seconds for embedding generation API calls

EMBEDDING_RETRY_MAX_ATTEMPTS可选

Maximum number of retry attempts for embedding generation

EMBEDDING_RETRY_BASE_DELAY_S可选

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

EMBEDDING_MAX_CONCURRENT可选

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

ENABLE_SUMMARY_GENERATION可选

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

SUMMARY_PROVIDER可选

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

SUMMARY_MODEL可选

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

SUMMARY_MAX_TOKENS可选

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

SUMMARY_TIMEOUT_S可选

Timeout in seconds for summary generation API calls

SUMMARY_RETRY_MAX_ATTEMPTS可选

Maximum number of retry attempts for summary generation

SUMMARY_RETRY_BASE_DELAY_S可选

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

SUMMARY_MAX_CONCURRENT可选

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

SUMMARY_PROMPT可选

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

SUMMARY_MIN_CONTENT_LENGTH可选

Minimum text content length in characters to trigger summary generation (default: 500, range: 0-10000). Set to 0 to always generate.

SUMMARY_OLLAMA_NUM_CTX可选

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

SUMMARY_OLLAMA_TRUNCATE可选

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

SUMMARY_OPENAI_REASONING_EFFORT可选

Reasoning effort level for OpenAI reasoning models (default: low). Valid values vary by generation: gpt-5: low, medium, high; gpt-5.1+: none, low, medium, high, xhigh. Default low is universally valid across all generations

SUMMARY_ANTHROPIC_EFFORT可选

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

ANTHROPIC_API_KEY可选secret

Anthropic API key for summary generation

ENABLE_FTS可选

Enable full-text search functionality

FTS_LANGUAGE可选

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

FTS_RERANK_WINDOW_SIZE可选

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

FTS_RERANK_GAP_MERGE可选

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

ENABLE_HYBRID_SEARCH可选

Enable hybrid search combining FTS and semantic search with RRF fusion

HYBRID_RRF_K可选

RRF smoothing constant for hybrid search (default 60)

HYBRID_RRF_OVERFETCH可选

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

HYBRID_FTS_OR_THRESHOLD可选

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

SEARCH_DEFAULT_SORT_BY可选

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

SEARCH_TRUNCATION_LENGTH可选

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

ENABLE_CHUNKING可选

Enable text chunking for embedding generation (default: true)

CHUNK_SIZE可选

Target chunk size in characters (default: 1500)

CHUNK_OVERLAP可选

Overlap between chunks in characters (default: 150)

CHUNK_AGGREGATION可选

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

CHUNK_DEDUP_OVERFETCH可选

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

ENABLE_RERANKING可选

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

RERANKING_PROVIDER可选

Reranking provider (default: flashrank)

RERANKING_MODEL可选

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

RERANKING_MAX_LENGTH可选

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

RERANKING_OVERFETCH可选

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

RERANKING_CACHE_DIR可选

Directory for caching reranking models

RERANKING_CHARS_PER_TOKEN可选

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

RERANKING_INTRA_OP_THREADS可选

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

RERANKING_CPU_MEM_ARENA可选

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

RERANKING_BATCH_SIZE可选

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

EMBEDDING_PROVIDER可选

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

OPENAI_API_KEY可选secret

OpenAI API key for OpenAI embedding provider

OPENAI_API_BASE可选

Custom base URL for OpenAI-compatible APIs

OPENAI_ORGANIZATION可选

OpenAI organization ID

AZURE_OPENAI_API_KEY可选secret

Azure OpenAI API key

AZURE_OPENAI_ENDPOINT可选

Azure OpenAI endpoint URL

AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME可选

Azure OpenAI embedding deployment name

AZURE_OPENAI_API_VERSION可选

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

HUGGINGFACEHUB_API_TOKEN可选secret

HuggingFace Hub API token for HuggingFace embedding provider

VOYAGE_API_KEY可选secret

Voyage AI API key for Voyage embedding provider

VOYAGE_TRUNCATION可选

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

VOYAGE_BATCH_SIZE可选

Voyage AI batch size for embedding requests

LANGSMITH_TRACING可选

Enable LangSmith tracing

LANGSMITH_API_KEY可选secret

LangSmith API key

LANGSMITH_PROJECT可选

LangSmith project name

LANGSMITH_ENDPOINT可选

LangSmith API endpoint URL

METADATA_INDEXED_FIELDS可选

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

METADATA_INDEX_SYNC_MODE可选

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

MCP_TRANSPORT可选

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

FASTMCP_HOST可选

HTTP bind address (use 0.0.0.0 for Docker)

FASTMCP_PORT可选

HTTP port number

FASTMCP_STATELESS_HTTP可选

Enable stateless HTTP mode for horizontal scaling. Enabled by default as the server has no stateful MCP features. Set to false only if you need server-side MCP session tracking.

DISABLED_TOOLS可选

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

MCP_AUTH_TOKEN可选secret

Bearer token for HTTP authentication (required when using SimpleTokenVerifier)

MCP_AUTH_CLIENT_ID可选

Client ID to assign to authenticated requests

MCP_AUTH_PROVIDER可选

Authentication provider: none (default), simple_token

MCP_SERVER_INSTRUCTIONS可选

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

LOG_LEVEL可选

Log level

STORAGE_BACKEND可选

Storage backend type: sqlite (default) or postgresql

MAX_IMAGE_SIZE_MB可选

Maximum individual image size in megabytes

MAX_TOTAL_SIZE_MB可选

Maximum total request size in megabytes

DB_PATH可选

Custom database file location path

POOL_MAX_READERS可选

Maximum number of concurrent read connections in the pool

POOL_MAX_WRITERS可选

Maximum number of concurrent write connections in the pool

POOL_CONNECTION_TIMEOUT_S可选

Connection timeout in seconds

POOL_IDLE_TIMEOUT_S可选

Idle connection timeout in seconds

POOL_HEALTH_CHECK_INTERVAL_S可选

Connection health check interval in seconds

RETRY_MAX_RETRIES可选

Maximum number of retry attempts for failed operations

RETRY_BASE_DELAY_S可选

Base delay in seconds between retry attempts

RETRY_MAX_DELAY_S可选

Maximum delay in seconds between retry attempts

RETRY_JITTER可选

Enable random jitter in retry delays

RETRY_BACKOFF_FACTOR可选

Exponential backoff multiplication factor for retries

SQLITE_FOREIGN_KEYS可选

Enable SQLite foreign key constraints

SQLITE_JOURNAL_MODE可选

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

SQLITE_SYNCHRONOUS可选

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

SQLITE_TEMP_STORE可选

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

SQLITE_MMAP_SIZE可选

SQLite memory-mapped I/O size in bytes

SQLITE_CACHE_SIZE可选

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

SQLITE_PAGE_SIZE可选

SQLite page size in bytes

SQLITE_WAL_AUTOCHECKPOINT可选

SQLite WAL autocheckpoint threshold in pages

SQLITE_BUSY_TIMEOUT_MS可选

SQLite busy timeout in milliseconds

SQLITE_WAL_CHECKPOINT可选

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

SHUTDOWN_TIMEOUT_S可选

Server shutdown timeout in seconds

SHUTDOWN_TIMEOUT_TEST_S可选

Test mode shutdown timeout in seconds

QUEUE_TIMEOUT_S可选

Queue operation timeout in seconds

QUEUE_TIMEOUT_TEST_S可选

Test mode queue timeout in seconds

CIRCUIT_BREAKER_FAILURE_THRESHOLD可选

Circuit breaker failure threshold before opening

CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S可选

Circuit breaker recovery timeout in seconds

CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS可选

Maximum calls allowed in circuit breaker half-open state

POSTGRESQL_CONNECTION_STRING可选secret

Complete PostgreSQL connection string (overrides individual settings if provided)

POSTGRESQL_HOST可选

PostgreSQL server host address

POSTGRESQL_PORT可选

PostgreSQL server port number

POSTGRESQL_USER可选

PostgreSQL database username

POSTGRESQL_PASSWORD可选secret

PostgreSQL database password

POSTGRESQL_DATABASE可选

PostgreSQL database name

POSTGRESQL_POOL_MIN可选

PostgreSQL connection pool minimum size

POSTGRESQL_POOL_MAX可选

PostgreSQL connection pool maximum size

POSTGRESQL_POOL_TIMEOUT_S可选

PostgreSQL connection pool timeout in seconds

POSTGRESQL_COMMAND_TIMEOUT_S可选

PostgreSQL command execution timeout in seconds

POSTGRESQL_MIGRATION_TIMEOUT_S可选

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

POSTGRESQL_MAX_INACTIVE_LIFETIME_S可选

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

POSTGRESQL_MAX_QUERIES可选

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

POSTGRESQL_TCP_KEEPALIVES_IDLE_S可选

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

POSTGRESQL_TCP_KEEPALIVES_INTERVAL_S可选

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

POSTGRESQL_TCP_KEEPALIVES_COUNT可选

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

POSTGRESQL_STATEMENT_CACHE_SIZE可选

asyncpg prepared statement cache size. Set to 0 for external pooler compatibility (PgBouncer transaction mode, Pgpool-II, etc.). Default: 100

POSTGRESQL_MAX_CACHED_STATEMENT_LIFETIME_S可选

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

POSTGRESQL_MAX_CACHEABLE_STATEMENT_SIZE可选

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

POSTGRESQL_SSL_MODE可选

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

POSTGRESQL_SCHEMA可选

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

ENABLE_SEMANTIC_SEARCH可选

Enable semantic search functionality

ENABLE_EMBEDDING_GENERATION可选

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

OLLAMA_HOST可选

Ollama API host URL for embedding generation

OLLAMA_AUTO_PULL可选

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

OLLAMA_PULL_TIMEOUT_S可选

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

EMBEDDING_OLLAMA_TRUNCATE可选

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

EMBEDDING_OLLAMA_NUM_CTX可选

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

EMBEDDING_MODEL可选

Embedding model name for semantic search

EMBEDDING_DIM可选

Embedding vector dimensions

EMBEDDING_TIMEOUT_S可选

Timeout in seconds for embedding generation API calls

EMBEDDING_RETRY_MAX_ATTEMPTS可选

Maximum number of retry attempts for embedding generation

EMBEDDING_RETRY_BASE_DELAY_S可选

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

EMBEDDING_MAX_CONCURRENT可选

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

ENABLE_SUMMARY_GENERATION可选

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

SUMMARY_PROVIDER可选

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

SUMMARY_MODEL可选

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

SUMMARY_MAX_TOKENS可选

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

SUMMARY_TIMEOUT_S可选

Timeout in seconds for summary generation API calls

SUMMARY_RETRY_MAX_ATTEMPTS可选

Maximum number of retry attempts for summary generation

SUMMARY_RETRY_BASE_DELAY_S可选

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

SUMMARY_MAX_CONCURRENT可选

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

SUMMARY_PROMPT可选

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

SUMMARY_MIN_CONTENT_LENGTH可选

Minimum text content length in characters to trigger summary generation (default: 500, range: 0-10000). Set to 0 to always generate.

SUMMARY_OLLAMA_NUM_CTX可选

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

SUMMARY_OLLAMA_TRUNCATE可选

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

SUMMARY_OPENAI_REASONING_EFFORT可选

Reasoning effort level for OpenAI reasoning models (default: low). Valid values vary by generation: gpt-5: low, medium, high; gpt-5.1+: none, low, medium, high, xhigh. Default low is universally valid across all generations

SUMMARY_ANTHROPIC_EFFORT可选

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

ANTHROPIC_API_KEY可选secret

Anthropic API key for summary generation

ENABLE_FTS可选

Enable full-text search functionality

FTS_LANGUAGE可选

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

FTS_RERANK_WINDOW_SIZE可选

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

FTS_RERANK_GAP_MERGE可选

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

ENABLE_HYBRID_SEARCH可选

Enable hybrid search combining FTS and semantic search with RRF fusion

HYBRID_RRF_K可选

RRF smoothing constant for hybrid search (default 60)

HYBRID_RRF_OVERFETCH可选

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

HYBRID_FTS_OR_THRESHOLD可选

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

SEARCH_DEFAULT_SORT_BY可选

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

SEARCH_TRUNCATION_LENGTH可选

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

ENABLE_CHUNKING可选

Enable text chunking for embedding generation (default: true)

CHUNK_SIZE可选

Target chunk size in characters (default: 1500)

CHUNK_OVERLAP可选

Overlap between chunks in characters (default: 150)

CHUNK_AGGREGATION可选

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

CHUNK_DEDUP_OVERFETCH可选

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

ENABLE_RERANKING可选

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

RERANKING_PROVIDER可选

Reranking provider (default: flashrank)

RERANKING_MODEL可选

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

RERANKING_MAX_LENGTH可选

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

RERANKING_OVERFETCH可选

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

RERANKING_CACHE_DIR可选

Directory for caching reranking models

RERANKING_CHARS_PER_TOKEN可选

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

RERANKING_INTRA_OP_THREADS可选

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

RERANKING_CPU_MEM_ARENA可选

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

RERANKING_BATCH_SIZE可选

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

EMBEDDING_PROVIDER可选

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

OPENAI_API_KEY可选secret

OpenAI API key for OpenAI embedding provider

OPENAI_API_BASE可选

Custom base URL for OpenAI-compatible APIs

OPENAI_ORGANIZATION可选

OpenAI organization ID

AZURE_OPENAI_API_KEY可选secret

Azure OpenAI API key

AZURE_OPENAI_ENDPOINT可选

Azure OpenAI endpoint URL

AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME可选

Azure OpenAI embedding deployment name

AZURE_OPENAI_API_VERSION可选

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

HUGGINGFACEHUB_API_TOKEN可选secret

HuggingFace Hub API token for HuggingFace embedding provider

VOYAGE_API_KEY可选secret

Voyage AI API key for Voyage embedding provider

VOYAGE_TRUNCATION可选

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

VOYAGE_BATCH_SIZE可选

Voyage AI batch size for embedding requests

LANGSMITH_TRACING可选

Enable LangSmith tracing

LANGSMITH_API_KEY可选secret

LangSmith API key

LANGSMITH_PROJECT可选

LangSmith project name

LANGSMITH_ENDPOINT可选

LangSmith API endpoint URL

METADATA_INDEXED_FIELDS可选

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

METADATA_INDEX_SYNC_MODE可选

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

MCP_TRANSPORT可选

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

FASTMCP_HOST可选

HTTP bind address (use 0.0.0.0 for Docker)

FASTMCP_PORT可选

HTTP port number

FASTMCP_STATELESS_HTTP可选

Enable stateless HTTP mode for horizontal scaling. Enabled by default as the server has no stateful MCP features. Set to false only if you need server-side MCP session tracking.

DISABLED_TOOLS可选

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

MCP_AUTH_TOKEN可选secret

Bearer token for HTTP authentication (required when using SimpleTokenVerifier)

MCP_AUTH_CLIENT_ID可选

Client ID to assign to authenticated requests

MCP_AUTH_PROVIDER可选

Authentication provider: none (default), simple_token

MCP_SERVER_INSTRUCTIONS可选

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

相关资源

统一 Manifest

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