mcpField
M
mcp-context-server

mcp-context-server

ローカル
github.com/alex-feelメモリ・ナレッジ9今日更新

mcp-context-server について

mcp-context-serverは、LLMエージェント向けの永続的なマルチモーダルコンテキスト保存用MCPサーバーです。スレッド単位の共有、アクセス制御、多様な検索・取得方法に対応し、SQLiteまたはPostgreSQLを利用できます。

主な機能

  1. 01テキストと画像の保存
  2. 02スレッド単位のコンテキスト共有
  3. 03レコード単位の所有権と権限付与
  4. 04全文・セマンティック・ハイブリッド検索
  5. 05メタデータ・日付・タグによる絞り込み
  6. 06部分読み取りとドキュメント同期

活用シーン

  1. 01同じタスクの複数エージェント間で共有
  2. 02意味やテキストから保存済み情報を検索
  3. 03公開・非公開レコードのアクセス管理
  4. 04ドキュメントディレクトリをナレッジベースとして同期

MCP 対応

MCPクライアントに、コンテキスト管理、検索、ナビゲーション、同期、共有、バッチ操作のツールを提供します。MCP対応クライアントで利用できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"alex-feel-mcp-context-server": {
"command": "uvx",
"args": [
"mcp-context-server"
],
"env": {
"LOG_LEVEL": "<LOG_LEVEL>",
"STORAGE_BACKEND": "<STORAGE_BACKEND>",
"MAX_IMAGE_SIZE_MB": "<MAX_IMAGE_SIZE_MB>",
"MAX_TOTAL_SIZE_MB": "<MAX_TOTAL_SIZE_MB>",
"DB_PATH": "<DB_PATH>",
"POOL_MAX_READERS": "<POOL_MAX_READERS>",
"POOL_MAX_WRITERS": "<POOL_MAX_WRITERS>",
"POOL_CONNECTION_TIMEOUT_S": "<POOL_CONNECTION_TIMEOUT_S>",
"POOL_IDLE_TIMEOUT_S": "<POOL_IDLE_TIMEOUT_S>",
"POOL_HEALTH_CHECK_INTERVAL_S": "<POOL_HEALTH_CHECK_INTERVAL_S>",
"RETRY_MAX_RETRIES": "<RETRY_MAX_RETRIES>",
"RETRY_BASE_DELAY_S": "<RETRY_BASE_DELAY_S>",
"RETRY_MAX_DELAY_S": "<RETRY_MAX_DELAY_S>",
"RETRY_JITTER": "<RETRY_JITTER>",
"RETRY_BACKOFF_FACTOR": "<RETRY_BACKOFF_FACTOR>",
"SQLITE_FOREIGN_KEYS": "<SQLITE_FOREIGN_KEYS>",
"SQLITE_JOURNAL_MODE": "<SQLITE_JOURNAL_MODE>",
"SQLITE_SYNCHRONOUS": "<SQLITE_SYNCHRONOUS>",
"SQLITE_TEMP_STORE": "<SQLITE_TEMP_STORE>",
"SQLITE_MMAP_SIZE": "<SQLITE_MMAP_SIZE>",
"SQLITE_CACHE_SIZE": "<SQLITE_CACHE_SIZE>",
"SQLITE_PAGE_SIZE": "<SQLITE_PAGE_SIZE>",
"SQLITE_WAL_AUTOCHECKPOINT": "<SQLITE_WAL_AUTOCHECKPOINT>",
"SQLITE_BUSY_TIMEOUT_MS": "<SQLITE_BUSY_TIMEOUT_MS>",
"SQLITE_WAL_CHECKPOINT": "<SQLITE_WAL_CHECKPOINT>",
"SHUTDOWN_TIMEOUT_S": "<SHUTDOWN_TIMEOUT_S>",
"SHUTDOWN_TIMEOUT_TEST_S": "<SHUTDOWN_TIMEOUT_TEST_S>",
"QUEUE_TIMEOUT_S": "<QUEUE_TIMEOUT_S>",
"QUEUE_TIMEOUT_TEST_S": "<QUEUE_TIMEOUT_TEST_S>",
"CIRCUIT_BREAKER_FAILURE_THRESHOLD": "<CIRCUIT_BREAKER_FAILURE_THRESHOLD>",
"CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S": "<CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S>",
"CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS": "<CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS>",
"POSTGRESQL_CONNECTION_STRING": "<POSTGRESQL_CONNECTION_STRING>",
"POSTGRESQL_HOST": "<POSTGRESQL_HOST>",
"POSTGRESQL_PORT": "<POSTGRESQL_PORT>",
"POSTGRESQL_USER": "<POSTGRESQL_USER>",
"POSTGRESQL_PASSWORD": "<POSTGRESQL_PASSWORD>",
"POSTGRESQL_DATABASE": "<POSTGRESQL_DATABASE>",
"POSTGRESQL_POOL_MIN": "<POSTGRESQL_POOL_MIN>",
"POSTGRESQL_POOL_MAX": "<POSTGRESQL_POOL_MAX>",
"POSTGRESQL_POOL_TIMEOUT_S": "<POSTGRESQL_POOL_TIMEOUT_S>",
"POSTGRESQL_COMMAND_TIMEOUT_S": "<POSTGRESQL_COMMAND_TIMEOUT_S>",
"POSTGRESQL_MIGRATION_TIMEOUT_S": "<POSTGRESQL_MIGRATION_TIMEOUT_S>",
"POSTGRESQL_MAX_INACTIVE_LIFETIME_S": "<POSTGRESQL_MAX_INACTIVE_LIFETIME_S>",
"POSTGRESQL_MAX_QUERIES": "<POSTGRESQL_MAX_QUERIES>",
"POSTGRESQL_TCP_KEEPALIVES_IDLE_S": "<POSTGRESQL_TCP_KEEPALIVES_IDLE_S>",
"POSTGRESQL_TCP_KEEPALIVES_INTERVAL_S": "<POSTGRESQL_TCP_KEEPALIVES_INTERVAL_S>",
"POSTGRESQL_TCP_KEEPALIVES_COUNT": "<POSTGRESQL_TCP_KEEPALIVES_COUNT>",
"POSTGRESQL_STATEMENT_CACHE_SIZE": "<POSTGRESQL_STATEMENT_CACHE_SIZE>",
"POSTGRESQL_MAX_CACHED_STATEMENT_LIFETIME_S": "<POSTGRESQL_MAX_CACHED_STATEMENT_LIFETIME_S>",
"POSTGRESQL_MAX_CACHEABLE_STATEMENT_SIZE": "<POSTGRESQL_MAX_CACHEABLE_STATEMENT_SIZE>",
"POSTGRESQL_SSL_MODE": "<POSTGRESQL_SSL_MODE>",
"POSTGRESQL_SCHEMA": "<POSTGRESQL_SCHEMA>",
"ENABLE_SEMANTIC_SEARCH": "<ENABLE_SEMANTIC_SEARCH>",
"ENABLE_EMBEDDING_GENERATION": "<ENABLE_EMBEDDING_GENERATION>",
"OLLAMA_HOST": "<OLLAMA_HOST>",
"OLLAMA_AUTO_PULL": "<OLLAMA_AUTO_PULL>",
"OLLAMA_PULL_TIMEOUT_S": "<OLLAMA_PULL_TIMEOUT_S>",
"EMBEDDING_OLLAMA_TRUNCATE": "<EMBEDDING_OLLAMA_TRUNCATE>",
"EMBEDDING_OLLAMA_NUM_CTX": "<EMBEDDING_OLLAMA_NUM_CTX>",
"EMBEDDING_MODEL": "<EMBEDDING_MODEL>",
"EMBEDDING_DIM": "<EMBEDDING_DIM>",
"EMBEDDING_TIMEOUT_S": "<EMBEDDING_TIMEOUT_S>",
"EMBEDDING_RETRY_MAX_ATTEMPTS": "<EMBEDDING_RETRY_MAX_ATTEMPTS>",
"EMBEDDING_RETRY_BASE_DELAY_S": "<EMBEDDING_RETRY_BASE_DELAY_S>",
"EMBEDDING_MAX_CONCURRENT": "<EMBEDDING_MAX_CONCURRENT>",
"ENABLE_SUMMARY_GENERATION": "<ENABLE_SUMMARY_GENERATION>",
"SUMMARY_PROVIDER": "<SUMMARY_PROVIDER>",
"SUMMARY_MODEL": "<SUMMARY_MODEL>",
"SUMMARY_MAX_TOKENS": "<SUMMARY_MAX_TOKENS>",
"SUMMARY_TIMEOUT_S": "<SUMMARY_TIMEOUT_S>",
"SUMMARY_RETRY_MAX_ATTEMPTS": "<SUMMARY_RETRY_MAX_ATTEMPTS>",
"SUMMARY_RETRY_BASE_DELAY_S": "<SUMMARY_RETRY_BASE_DELAY_S>",
"SUMMARY_MAX_CONCURRENT": "<SUMMARY_MAX_CONCURRENT>",
"SUMMARY_PROMPT": "<SUMMARY_PROMPT>",
"SUMMARY_MIN_CONTENT_LENGTH": "<SUMMARY_MIN_CONTENT_LENGTH>",
"SUMMARY_OLLAMA_NUM_CTX": "<SUMMARY_OLLAMA_NUM_CTX>",
"SUMMARY_OLLAMA_TRUNCATE": "<SUMMARY_OLLAMA_TRUNCATE>",
"SUMMARY_OPENAI_REASONING_EFFORT": "<SUMMARY_OPENAI_REASONING_EFFORT>",
"SUMMARY_ANTHROPIC_EFFORT": "<SUMMARY_ANTHROPIC_EFFORT>",
"ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>",
"ENABLE_FTS": "<ENABLE_FTS>",
"FTS_LANGUAGE": "<FTS_LANGUAGE>",
"FTS_RERANK_WINDOW_SIZE": "<FTS_RERANK_WINDOW_SIZE>",
"FTS_RERANK_GAP_MERGE": "<FTS_RERANK_GAP_MERGE>",
"ENABLE_HYBRID_SEARCH": "<ENABLE_HYBRID_SEARCH>",
"HYBRID_RRF_K": "<HYBRID_RRF_K>",
"HYBRID_RRF_OVERFETCH": "<HYBRID_RRF_OVERFETCH>",
"HYBRID_FTS_OR_THRESHOLD": "<HYBRID_FTS_OR_THRESHOLD>",
"SEARCH_DEFAULT_SORT_BY": "<SEARCH_DEFAULT_SORT_BY>",
"SEARCH_TRUNCATION_LENGTH": "<SEARCH_TRUNCATION_LENGTH>",
"ENABLE_CHUNKING": "<ENABLE_CHUNKING>",
"CHUNK_SIZE": "<CHUNK_SIZE>",
"CHUNK_OVERLAP": "<CHUNK_OVERLAP>",
"CHUNK_AGGREGATION": "<CHUNK_AGGREGATION>",
"CHUNK_DEDUP_OVERFETCH": "<CHUNK_DEDUP_OVERFETCH>",
"ENABLE_RERANKING": "<ENABLE_RERANKING>",
"RERANKING_PROVIDER": "<RERANKING_PROVIDER>",
"RERANKING_MODEL": "<RERANKING_MODEL>",
"RERANKING_MAX_LENGTH": "<RERANKING_MAX_LENGTH>",
"RERANKING_OVERFETCH": "<RERANKING_OVERFETCH>",
"RERANKING_CACHE_DIR": "<RERANKING_CACHE_DIR>",
"RERANKING_CHARS_PER_TOKEN": "<RERANKING_CHARS_PER_TOKEN>",
"RERANKING_INTRA_OP_THREADS": "<RERANKING_INTRA_OP_THREADS>",
"RERANKING_CPU_MEM_ARENA": "<RERANKING_CPU_MEM_ARENA>",
"RERANKING_BATCH_SIZE": "<RERANKING_BATCH_SIZE>",
"EMBEDDING_PROVIDER": "<EMBEDDING_PROVIDER>",
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"OPENAI_API_BASE": "<OPENAI_API_BASE>",
"OPENAI_ORGANIZATION": "<OPENAI_ORGANIZATION>",
"AZURE_OPENAI_API_KEY": "<AZURE_OPENAI_API_KEY>",
"AZURE_OPENAI_ENDPOINT": "<AZURE_OPENAI_ENDPOINT>",
"AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME": "<AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME>",
"AZURE_OPENAI_API_VERSION": "<AZURE_OPENAI_API_VERSION>",
"HUGGINGFACEHUB_API_TOKEN": "<HUGGINGFACEHUB_API_TOKEN>",
"VOYAGE_API_KEY": "<VOYAGE_API_KEY>",
"VOYAGE_TRUNCATION": "<VOYAGE_TRUNCATION>",
"VOYAGE_BATCH_SIZE": "<VOYAGE_BATCH_SIZE>",
"LANGSMITH_TRACING": "<LANGSMITH_TRACING>",
"LANGSMITH_API_KEY": "<LANGSMITH_API_KEY>",
"LANGSMITH_PROJECT": "<LANGSMITH_PROJECT>",
"LANGSMITH_ENDPOINT": "<LANGSMITH_ENDPOINT>",
"METADATA_INDEXED_FIELDS": "<METADATA_INDEXED_FIELDS>",
"METADATA_INDEX_SYNC_MODE": "<METADATA_INDEX_SYNC_MODE>",
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"FASTMCP_HOST": "<FASTMCP_HOST>",
"FASTMCP_PORT": "<FASTMCP_PORT>",
"FASTMCP_STATELESS_HTTP": "<FASTMCP_STATELESS_HTTP>",
"DISABLED_TOOLS": "<DISABLED_TOOLS>",
"MCP_AUTH_TOKEN": "<MCP_AUTH_TOKEN>",
"MCP_AUTH_CLIENT_ID": "<MCP_AUTH_CLIENT_ID>",
"MCP_AUTH_PROVIDER": "<MCP_AUTH_PROVIDER>",
"MCP_SERVER_INSTRUCTIONS": "<MCP_SERVER_INSTRUCTIONS>"
}
}
}
}
起動コマンドuvx mcp-context-server
設定が必要な環境変数
LOG_LEVELLog level
STORAGE_BACKENDStorage backend type: sqlite (default) or postgresql
MAX_IMAGE_SIZE_MBMaximum individual image size in megabytes
MAX_TOTAL_SIZE_MBMaximum total request size in megabytes
DB_PATHCustom database file location path
POOL_MAX_READERSMaximum number of concurrent read connections in the pool
POOL_MAX_WRITERSMaximum number of concurrent write connections in the pool
POOL_CONNECTION_TIMEOUT_SConnection timeout in seconds
POOL_IDLE_TIMEOUT_SIdle connection timeout in seconds
POOL_HEALTH_CHECK_INTERVAL_SConnection health check interval in seconds
RETRY_MAX_RETRIESMaximum number of retry attempts for failed operations
RETRY_BASE_DELAY_SBase delay in seconds between retry attempts
RETRY_MAX_DELAY_SMaximum delay in seconds between retry attempts
RETRY_JITTEREnable random jitter in retry delays
RETRY_BACKOFF_FACTORExponential backoff multiplication factor for retries
SQLITE_FOREIGN_KEYSシークレットEnable SQLite foreign key constraints
SQLITE_JOURNAL_MODESQLite journal mode (e.g., WAL, DELETE)
SQLITE_SYNCHRONOUSSQLite synchronous mode (e.g., NORMAL, FULL, OFF)
SQLITE_TEMP_STORESQLite temporary storage location (e.g., MEMORY, FILE)
SQLITE_MMAP_SIZESQLite memory-mapped I/O size in bytes
SQLITE_CACHE_SIZESQLite cache size (negative value for KB, positive for pages)
SQLITE_PAGE_SIZESQLite page size in bytes
SQLITE_WAL_AUTOCHECKPOINTSQLite WAL autocheckpoint threshold in pages
SQLITE_BUSY_TIMEOUT_MSSQLite busy timeout in milliseconds
SQLITE_WAL_CHECKPOINTSQLite WAL checkpoint mode (e.g., PASSIVE, FULL, RESTART)
SHUTDOWN_TIMEOUT_SServer shutdown timeout in seconds
SHUTDOWN_TIMEOUT_TEST_STest mode shutdown timeout in seconds
QUEUE_TIMEOUT_SQueue operation timeout in seconds
QUEUE_TIMEOUT_TEST_STest mode queue timeout in seconds
CIRCUIT_BREAKER_FAILURE_THRESHOLDCircuit breaker failure threshold before opening
CIRCUIT_BREAKER_RECOVERY_TIMEOUT_SCircuit breaker recovery timeout in seconds
CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLSMaximum calls allowed in circuit breaker half-open state
POSTGRESQL_CONNECTION_STRINGシークレットComplete PostgreSQL connection string (overrides individual settings if provided)
POSTGRESQL_HOSTPostgreSQL server host address
POSTGRESQL_PORTPostgreSQL server port number
POSTGRESQL_USERPostgreSQL database username
POSTGRESQL_PASSWORDシークレットPostgreSQL database password
POSTGRESQL_DATABASEPostgreSQL database name
POSTGRESQL_POOL_MINPostgreSQL connection pool minimum size
POSTGRESQL_POOL_MAXPostgreSQL connection pool maximum size
POSTGRESQL_POOL_TIMEOUT_SPostgreSQL connection pool timeout in seconds
POSTGRESQL_COMMAND_TIMEOUT_SPostgreSQL command execution timeout in seconds
POSTGRESQL_MIGRATION_TIMEOUT_STimeout in seconds for PostgreSQL migration operations (default: 300)
POSTGRESQL_MAX_INACTIVE_LIFETIME_SClose idle PostgreSQL connections after this many seconds (0 to disable, default: 300)
POSTGRESQL_MAX_QUERIESRecycle PostgreSQL connections after this many queries (0 to disable, default: 10000)
POSTGRESQL_TCP_KEEPALIVES_IDLE_SSeconds of idle time before sending first TCP keepalive probe (0 to disable, default: 15)
POSTGRESQL_TCP_KEEPALIVES_INTERVAL_SSeconds between subsequent TCP keepalive probes (0 to disable, default: 5)
POSTGRESQL_TCP_KEEPALIVES_COUNTNumber of failed TCP keepalive probes before connection is considered dead (0 to disable, default: 3)
POSTGRESQL_STATEMENT_CACHE_SIZEasyncpg prepared statement cache size. Set to 0 for external pooler compatibility (PgBouncer transaction mode, Pgpool-II, etc.). Default: 100
POSTGRESQL_MAX_CACHED_STATEMENT_LIFETIME_SMaximum lifetime of cached prepared statements in seconds (default: 300). Has no effect when statement_cache_size=0
POSTGRESQL_MAX_CACHEABLE_STATEMENT_SIZEMaximum size of statement to cache in bytes (default: 15360). Has no effect when statement_cache_size=0
POSTGRESQL_SSL_MODEPostgreSQL SSL mode (disable, allow, prefer, require, verify-ca, verify-full)
POSTGRESQL_SCHEMAPostgreSQL schema name for table and index operations (default: public)
ENABLE_SEMANTIC_SEARCHEnable semantic search functionality
ENABLE_EMBEDDING_GENERATIONEnable embedding generation for stored context. Default true - server fails if dependencies not met. Set false to disable embeddings.
OLLAMA_HOSTOllama API host URL for embedding generation
OLLAMA_AUTO_PULLAutomatically pull missing Ollama models on startup (default: true)
OLLAMA_PULL_TIMEOUT_STimeout in seconds for pulling Ollama models (default: 900, range: 30-3600)
EMBEDDING_OLLAMA_TRUNCATEOllama embedding truncation mode: false (default) returns error when context exceeded, true enables silent truncation
EMBEDDING_OLLAMA_NUM_CTXOllama embedding context window size in tokens (default: 4096, range: 512-2097152)
EMBEDDING_MODELEmbedding model name for semantic search
EMBEDDING_DIMEmbedding vector dimensions
EMBEDDING_TIMEOUT_STimeout in seconds for embedding generation API calls
EMBEDDING_RETRY_MAX_ATTEMPTSMaximum number of retry attempts for embedding generation
EMBEDDING_RETRY_BASE_DELAY_SBase delay in seconds between retry attempts (with exponential backoff)
EMBEDDING_MAX_CONCURRENTMaximum concurrent embedding generation operations (default: 3, range: 1-20)
ENABLE_SUMMARY_GENERATIONEnable summary generation for stored context. Default true - server fails if dependencies not met. Set false to disable summaries.
SUMMARY_PROVIDERSummary provider: ollama (default), openai, or anthropic
SUMMARY_MODELSummary 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_STimeout in seconds for summary generation API calls
SUMMARY_RETRY_MAX_ATTEMPTSMaximum number of retry attempts for summary generation
SUMMARY_RETRY_BASE_DELAY_SBase delay in seconds between retry attempts (with exponential backoff)
SUMMARY_MAX_CONCURRENTMaximum concurrent summary generation operations (default: 3, range: 1-20)
SUMMARY_PROMPTCustom summarization prompt. Overrides the built-in default. Used as system message for the LLM.
SUMMARY_MIN_CONTENT_LENGTHMinimum text content length in characters to trigger summary generation (default: 500, range: 0-10000). Set to 0 to always generate.
SUMMARY_OLLAMA_NUM_CTXOllama summary context window size in tokens (default: 32768, range: 512-2097152)
SUMMARY_OLLAMA_TRUNCATEOllama summary truncation mode: false (default) returns error when context exceeded, true enables silent truncation
SUMMARY_OPENAI_REASONING_EFFORTReasoning 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_EFFORTEffort level for Anthropic Claude models (default: none). Valid values: max, high, medium, low. Controls inference effort (adaptive thinking)
ANTHROPIC_API_KEYシークレットAnthropic API key for summary generation
ENABLE_FTSEnable full-text search functionality
FTS_LANGUAGELanguage for FTS stemming (e.g., english, german, french)
FTS_RERANK_WINDOW_SIZECharacters of context around each FTS match for reranking passage extraction (default: 750)
FTS_RERANK_GAP_MERGEMerge FTS match regions within this character distance (default: 100)
ENABLE_HYBRID_SEARCHEnable hybrid search combining FTS and semantic search with RRF fusion
HYBRID_RRF_KRRF smoothing constant for hybrid search (default 60)
HYBRID_RRF_OVERFETCHMultiplier for over-fetching results before RRF fusion (default: 2)
HYBRID_FTS_OR_THRESHOLDMinimum significant query terms to switch hybrid FTS from AND to OR logic (default: 4)
SEARCH_DEFAULT_SORT_BYDefault sort order for search results: relevance (only 'relevance' supported in current version)
SEARCH_TRUNCATION_LENGTHMaximum character length for truncated text_content in search results (default: 300, range: 50-1000)
ENABLE_CHUNKINGEnable text chunking for embedding generation (default: true)
CHUNK_SIZETarget chunk size in characters (default: 1500)
CHUNK_OVERLAPOverlap between chunks in characters (default: 150)
CHUNK_AGGREGATIONChunk score aggregation method: max (only 'max' supported in current version)
CHUNK_DEDUP_OVERFETCHMultiplier for over-fetching chunks before deduplication (default: 5)
ENABLE_RERANKINGEnable cross-encoder reranking of search results (default: true)
RERANKING_PROVIDERReranking provider (default: flashrank)
RERANKING_MODELReranking model name (default: ms-marco-MiniLM-L-12-v2)
RERANKING_MAX_LENGTHMaximum input length for reranking in tokens (default: 512)
RERANKING_OVERFETCHMultiplier for over-fetching results before reranking (default: 4)
RERANKING_CACHE_DIRDirectory 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_THREADSONNX Runtime intra-operation parallelism threads for reranking (default: 0 = auto-detect)
RERANKING_CPU_MEM_ARENAEnable ONNX Runtime CPU memory arena for reranking (default: false)
RERANKING_BATCH_SIZEMaximum passages per ONNX Runtime inference batch during reranking (default: 32)
EMBEDDING_PROVIDEREmbedding provider: ollama (default), openai, azure, huggingface, or voyage
OPENAI_API_KEYシークレットOpenAI API key for OpenAI embedding provider
OPENAI_API_BASECustom base URL for OpenAI-compatible APIs
OPENAI_ORGANIZATIONOpenAI organization ID
AZURE_OPENAI_API_KEYシークレットAzure OpenAI API key
AZURE_OPENAI_ENDPOINTAzure OpenAI endpoint URL
AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAMEAzure OpenAI embedding deployment name
AZURE_OPENAI_API_VERSIONAzure OpenAI API version (default: 2024-02-01)
HUGGINGFACEHUB_API_TOKENシークレットHuggingFace Hub API token for HuggingFace embedding provider
VOYAGE_API_KEYシークレットVoyage AI API key for Voyage embedding provider
VOYAGE_TRUNCATIONVoyage AI truncation mode: false (default) returns error when context exceeded, true enables silent truncation
VOYAGE_BATCH_SIZEVoyage AI batch size for embedding requests
LANGSMITH_TRACINGEnable LangSmith tracing
LANGSMITH_API_KEYシークレットLangSmith API key
LANGSMITH_PROJECTLangSmith project name
LANGSMITH_ENDPOINTLangSmith API endpoint URL
METADATA_INDEXED_FIELDSComma-separated list of metadata fields to index (field:type format)
METADATA_INDEX_SYNC_MODEIndex sync mode: strict (fail), auto (sync), warn (log), additive (default, add missing only)
MCP_TRANSPORTTransport mode: stdio for local, http for Docker/remote
FASTMCP_HOSTHTTP bind address (use 0.0.0.0 for Docker)
FASTMCP_PORTHTTP port number
FASTMCP_STATELESS_HTTPEnable 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_TOOLSComma-separated list of tools to disable (e.g., delete_context,update_context)
MCP_AUTH_TOKENシークレット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_INSTRUCTIONSCustom server instructions text. Overrides built-in default. Set to empty string to disable.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypimcp-context-server2.2.2
ocighcr.io/alex-feel/mcp-context-server:2.2.2

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP Context Server

MCP Context Server - LLM エージェント向けの永続的なマルチモーダルコンテキストストレージを提供する MCP ベースのサーバー

PyPI MCP Registry License: Elastic License 2.0 Ask DeepWiki

LLM エージェント向けに永続的なマルチモーダルコンテキストストレージを提供する、高性能な Model Context Protocol(MCP)サーバーです。FastMCP で構築されており、スレッドベースのスコープ設定によって、同じタスクに取り組む複数のエージェント間でコンテキストをシームレスに共有できます。

警告

v2.x からアップグレードしますか? バージョン 3.x.x では、UUIDv7 の主キーを使用する新しいデータベーススキーマが採用されています。既存の v2.x データベースを v3.x.x で使用するには、事前に一度だけデータを移行する必要があります。オプトイン方式の CLI mcp-context-server-migrate はサーバーに同梱されています。

アップグレードする前に移行ガイドをご確認ください。 新規インストールには影響ありません。

主な機能

  • マルチモーダルコンテキストストレージ:テキストと画像の両方を保存・取得できます
  • UUIDv7 コンテキスト識別子:各コンテキストエントリは、32 文字の小文字の 16 進数 UUIDv7 値で識別されます。時系列順でグローバルに一意な ID を提供し、安定した辞書順を維持します
  • スレッドベースのスコープ設定:同じタスクに取り組むエージェントは、スレッド ID を通じてコンテキストを共有します
  • レコードごとのアクセス制御:すべてのエントリには所有者、private または public の可視性、任意のユーザーまたはグループへの許可が設定され、SQLite と PostgreSQL の両方で読み取り、更新、削除のたびに適用されます。IdP が発行した JWT を使用すると、各呼び出し元はアクセス可能なエントリのみを検索、件数取得、変更できます。エントリの所有者は share_context を通じてユーザーまたはグループと共有でき、返される各エントリには visibility と、呼び出し元がそのエントリを所有しているかどうかが示されます。アクセスモデルを参照してください
  • 匿名読み取りアクセス:ID プロバイダーのアカウントを持たない読み取り専用ユーザーには、public エントリを読み取れる共有トークンを 1 つ渡します。このトークンでは書き込みは一切できません。サーバーは、プリンシパル名が ACCESS_CONTROL_ANONYMOUS_PRINCIPAL であるユーザーによるすべての書き込みを拒否し、トークンには有効期限を設定する必要があります。匿名読み取りアクセスを参照してください
  • PostgreSQL 行レベルセキュリティ(任意):ENABLE_POSTGRESQL_RLS=true を設定すると、PostgreSQL でもデータベース内でアクセスモデルが適用され、クエリでアクセスルールを適用する方法に不具合があっても、他のプリンシパルのエントリが公開されることはありません。読み取りには、すべての検索インデックスを引き続き利用できる、所有者所有かつロールでアクセス制限されたビューを使用します。行レベルセキュリティ(PostgreSQL)を参照してください
  • 柔軟なメタデータフィルタリング:JSON でシリアライズ可能な任意のフィールドを使ってカスタムの構造化データを保存し、16 種類の強力な演算子でフィルタリングできます
  • 日付範囲フィルタリング:ISO 8601 形式の作成タイムスタンプを使ってコンテキストエントリをフィルタリングできます
  • タグベースの整理:正規化され、インデックス化されたタグによって、コンテキストを効率的に取得できます
  • 要約の生成:任意で LLM による自動要約を行い、すべての検索ツールの結果で切り詰められた text_content とともに返すことで、エージェントがコンテキストをより効率的に扱えます(Ollama ではデフォルトで有効)
  • 全文検索:語幹処理、ランキング、ブール値クエリ(FTS5/tsvector)、クロスエンコーダーによる再ランキングに対応した言語検索です。デフォルトで自動的に有効になります(ENABLE_FTS=auto)。追加の依存関係は不要です
  • セマンティック検索:意味に基づく取得を行うベクトル類似度検索で、クロスエンコーダーによる再ランキングにも対応しています。埋め込みプロバイダーが利用可能な場合はデフォルトで自動的に有効になります(ENABLE_SEMANTIC_SEARCH=auto)。埋め込み生成はデフォルトで有効です
  • ハイブリッド検索:Reciprocal Rank Fusion(RRF)とクロスエンコーダーによる再ランキングを用いて、全文検索とセマンティック検索を組み合わせます。全文検索またはセマンティック検索のいずれかが利用可能な場合、デフォルトで自動的に有効になります(ENABLE_HYBRID_SEARCH=auto)
  • サーバーサイド grep:保存されたレコードを対象とした、リテラルまたは正規表現による行単位の順位付けなしのパターンマッチング(grep_context)です。全文検索やセマンティック検索を補完する、正確な位置の特定に使えます。ripgrep 形式の出力モードと、上限付きの結果に対応しています。デフォルトで自動的に有効になり(ENABLE_GREP_CONTEXT=auto)、純粋な Python 実装のため、SQLite と PostgreSQL のどちらでも同じように動作します
  • レコードナビゲーション(index_tree):navigate_context は各レコードの Markdown 見出しを使った目次をオンデマンドで作成し、エントリの要約をルートノードとして設定します。ノードごとの LLM 要約も任意で利用でき(デフォルトで有効)、各セクションの情報を補足します。read_context_range と組み合わせると、任意のセクションを抽出できます
  • 部分読み取り:read_context_range は、文字範囲、行範囲、またはアウトラインの node_id を指定して、1 つのレコードの一部を返します。そのため、エージェントは長いレコード全体ではなく、関連する範囲だけを読み取れます
  • ナレッジベースの同期:ハンドブックや運用手順書などのドキュメントコーパスを kb:<corpus> スレッドに格納すると、エージェントは他のコンテキストと同じように検索・ナビゲーションできます。mcp-context-ingest コマンドはドキュメントのディレクトリをアップロードして同期状態を維持し、新しいファイルの保存、変更されたファイルの更新、削除されたファイルの削除を行います。同期内容は読み取り専用の plan_context_sync ツールが計画します(ENABLE_CONTEXT_SYNC=auto)。ナレッジベースガイドを参照してください
  • クロスエンコーダーによる再ランキング:FlashRank クロスエンコーダーモデルを使って検索結果を自動的に調整し、検索精度を高めます(デフォルトで有効)
  • 埋め込み圧縮(デフォルトで有効):v3.0.0 では、標準で埋め込みストレージを約 8 分の 1 に削減します。ビットパック方式で圧縮したベクトルにより、ツールのインターフェースを変更せずにセマンティック検索とハイブリッド検索を利用でき、読み取り経路では pgvector の 2000 次元を超える場合の HNSW 制限を回避します。fp32 形式での保存を維持するには、ENABLE_EMBEDDING_COMPRESSION=false に設定します。埋め込み圧縮ガイドを参照してください
  • 複数のデータベースバックエンド:SQLite(デフォルト、設定不要)または PostgreSQL(高い同時実行性を備えた本番環境向け)を選択できます
  • 高いパフォーマンス:WAL モード(SQLite)/MVCC(PostgreSQL)、戦略的なインデックス設定、非同期処理に対応しています
  • MCP 標準への準拠:Claude Code、LangGraph、および MCP 対応のあらゆるクライアントで動作します
  • 本番環境対応:包括的なテストカバレッジ、型安全性、堅牢なエラー処理を備えています

AI アシスタントへの接続

MCP Context Server を Claude Code に接続する最も簡単な方法は、1 コマンドの Docker ブートストラップです。

手順、前提条件、トラブルシューティング、更新/アンインストール用コマンドについては、AI アシスタントへの接続ガイドをご覧ください。

環境設定

サーバーは環境変数で完全に設定でき、基本設定、トランスポート、認証、埋め込みプロバイダー、要約生成、検索機能、データベースの調整などに対応しています。変数は MCP クライアントの設定、.env ファイル、またはシェルで直接設定できます。

すべての環境変数について、型、デフォルト値、制約、説明を含む完全なリファレンスは、環境変数リファレンスをご覧ください。

要約生成

要約生成では、保存された各コンテキストエントリーについて、LLM ベースの簡潔な要約を自動的に作成します。要約は、切り詰められた text_content とともに、すべての検索ツールの結果の summary フィールドに返されます。情報密度の高い要約により、エージェントはエントリー全体を取得せずに関連性を判断できます。

すべてのプロバイダー(Ollama、OpenAI、Anthropic)、モデルの選択、カスタムプロンプトの設定を含む詳しい手順については、要約生成ガイドをご覧ください。

セマンティック検索

セマンティック検索はデフォルトで自動的に有効になります(ENABLE_SEMANTIC_SEARCH=auto)。埋め込みプロバイダーが利用可能な場合は、semantic_search_context ツールが自動的に登録されます(埋め込み生成はデフォルトで有効です)。利用できない場合は、通知せずにスキップされます。複数の埋め込みプロバイダー(Ollama、OpenAI、Azure、HuggingFace、Voyage)の詳しい使い方と、設定を明示的に制御する方法については、セマンティック検索ガイドをご覧ください。

全文検索

全文検索はデフォルトで自動的に有効になり(ENABLE_FTS=auto)、追加の依存関係は必要ありません。組み込みのデータベース FTS エンジンを使用します(SQLite では FTS5、PostgreSQL では tsvector)。言語処理、ステミング、ランキング、ブール検索については、全文検索ガイドをご覧ください。

ハイブリッド検索

ハイブリッド検索はデフォルトで自動的に有効になります(ENABLE_HYBRID_SEARCH=auto)。全文検索またはセマンティック検索のいずれかが利用可能な場合、hybrid_search_context ツールが自動的に登録されます。Reciprocal Rank Fusion(RRF)を使用した FTS とセマンティック検索の組み合わせについては、ハイブリッド検索ガイドをご覧ください。

メタデータのフィルタリング

16 種類の演算子、ネストされた JSON パス、パフォーマンスの最適化を含む、メタデータのフィルタリングについて詳しくは、メタデータガイドをご覧ください。

データベースバックエンド

サーバーは複数のデータベースバックエンドに対応しており、STORAGE_BACKEND 環境変数で選択できます。SQLite(デフォルト)は設定不要のローカルストレージを提供し、単一ユーザーのデプロイに最適です。PostgreSQL は高いパフォーマンスを備え、複数ユーザーや高トラフィックのデプロイで、書き込みスループットが 10 倍以上になります。

Docker を使用した PostgreSQL のセットアップ、Supabase との統合、接続方法、トラブルシューティングを含む詳しい設定手順については、データベースバックエンドガイドをご覧ください。

API リファレンス

MCP Context Server は、コンテキスト管理用の 21 個の MCP ツールを公開します。

コア操作: store_context、search_context、get_context_by_ids、delete_context、update_context、list_threads、get_statistics

検索ツール: semantic_search_context、fts_search_context、hybrid_search_context

ナビゲーションツール(検索/ナビゲート/抽出): grep_context、navigate_context、read_context_range

同期ツール: plan_context_sync、list_ingest_state

共有ツール: share_context、unshare_context、list_context_grants

バッチ操作: store_context_batch、update_context_batch、delete_context_batch

パラメーター、戻り値、フィルタリングオプション、使用例を含むツールの完全なドキュメントについては、API リファレンスを参照してください。grep、全文検索、セマンティック検索、index_tree、部分読み込みの使い分けについては、Grep、ナビゲーション、部分読み込みを参照してください。ドキュメントコーパスのホスティングと同期については、ナレッジベースガイドを参照してください。

Docker によるデプロイ

HTTP トランスポートとコンテナオーケストレーションを使用した本番デプロイ向けに、SQLite、PostgreSQL、外部 PostgreSQL(Supabase)用の Docker Compose 構成を用意しています。セットアップ手順とクライアント接続の詳細については、Docker デプロイガイドを参照してください。

Kubernetes へのデプロイ

Kubernetes へのデプロイ向けに、さまざまな環境に対応する設定可能な値を備えた Helm チャートを用意しています。インストール手順については、Helm デプロイガイドを、Kubernetes の一般的な概念については、Kubernetes デプロイガイドを参照してください。

認証

認証が必要な HTTP トランスポートのデプロイについては、ベアラートークンと IdP 発行 JWT の設定、ユーザーやグループとのエントリーの共有、オペレーターが発行したトークンによる匿名の読み取りアクセスについて説明した認証ガイドを参照してください。

サポート

ライセンス

MCP Context Server は Elastic License 2.0(ELv2)の下でライセンスされています。

簡単に言うと、個人プロジェクト、規模を問わず企業内での利用、商用業務の一環として、ソフトウェアを自由に、無償で使用、コピー、変更、配布、実行できます。ただし、商用契約なしに行えないことが一つあります。このソフトウェアの機能や機能性の相当部分をユーザーが利用できる、ホスト型またはマネージド型サービスとして第三者に提供することです(たとえば、このソフトウェアを基盤とするクラウドの「エージェント向けメモリ」サービスなど)。

許可される行為と許可されない行為についてのわかりやすい例は商用ライセンスを参照してください。ホスト型またはマネージド型サービスの権利を含む商用ライセンスについては、[email protected]にお問い合わせください。

v2.2.2 までのリリースは MIT License の下で公開されており、引き続き同ライセンスの下で利用できます。Elastic License 2.0 は v3.0.0 以降に適用されます。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。