mcp-context-server MCP配置与使用教程
io.github.alex-feel/mcp-context-server · v2.2.2
为 LLM 智能体提供持久多模态上下文存储的 MCP 服务器。
原文描述:An MCP server that provides persistent multimodal context storage for LLM agents.
建议先在本页复制安装配置,再到上游核对文档与权限。
产品介绍
为 LLM 智能体提供持久多模态上下文存储的 MCP 服务器。 mcp-context-server 是一个MCP Server,收录自 官方 MCP Registry。支持 stdio、streamable-http 传输。本页提供产品介绍、配置教程、安装命令与适用场景,支持 Trae、通义灵码、Cursor、Claude Code、VS Code 等。
适用场景
AgentHub Verified 可用性验证技术测试通过
自动化测试流水线已校验安装命令、传输协议与客户端兼容性
按平台快速复制
选择你的平台查看安装方式
- 打开项目根目录下的 .cursor/mcp.json(没有就新建)
- 点击「复制配置」粘贴进去;若已有其他 MCP,只合并 mcpServers 里的本条目
- 将 env 中的 <占位符> 替换为真实密钥(见下方「环境变量」)
- 保存后按 Cmd+Shift+P(Windows:Ctrl+Shift+P)→ 输入 Reload Window 并执行
预填环境变量与密钥(可选)
{
"mcpServers": {
"mcp-context-server": {
"command": "uvx",
"args": [
"mcp-context-server"
]
}
}
}配置教程
- 打开 mcp-context-server 详情页,确认这是你需要的 MCP Server(来源 官方 MCP Registry)。
- 按客户端选择 Trae、通义灵码、Cursor、Claude Code 或 VS Code,复制 JSON 配置或 CLI 命令。
- 将配置合并进 mcpServers,并把环境变量占位符替换为真实密钥。
- 重载窗口后,在 Agent 对话中调用该 MCP 提供的工具。
安装命令
以下安装命令与配置步骤已写入页面 HTML,搜索引擎与未启用 JavaScript 的浏览器均可直接读取。
Claude Code(本地)
- 确保已安装 Claude Code CLI
- 复制下方命令,将 <占位符> 替换为真实环境变量值后,在终端执行
- 若下方列出了环境变量,请对照填写
claude mcp add mcp-context-server -- uvx mcp-context-serverCursor — .cursor/mcp.json(本地)
- 打开项目根目录下的 .cursor/mcp.json(没有就新建)
- 点击「复制配置」粘贴进去;若已有其他 MCP,只合并 mcpServers 里的本条目
- 将 env 中的 <占位符> 替换为真实密钥(见下方「环境变量」)
- 保存后按 Cmd+Shift+P(Windows:Ctrl+Shift+P)→ 输入 Reload Window 并执行
{
"mcpServers": {
"mcp-context-server": {
"command": "uvx",
"args": [
"mcp-context-server"
]
}
}
}VS Code — .vscode/mcp.json(本地)
- 确保 VS Code 已安装 GitHub Copilot 扩展并支持 MCP
- 打开项目根目录下的 .vscode/mcp.json(没有就新建)
- 点击「复制配置」粘贴;若已有其他 MCP,只合并 mcpServers 里的本条目
- 将 env 中的 <占位符> 替换为真实密钥(见下方「环境变量」)
- 保存后重新加载 VS Code 窗口
{
"mcpServers": {
"mcp-context-server": {
"command": "uvx",
"args": [
"mcp-context-server"
]
}
}
}Claude Desktop — claude_desktop_config.json(本地)
- 打开 Claude Desktop 的 claude_desktop_config.json(路径见远程指引)
- 点击「复制配置」合并到 mcpServers
- 将 env 中的 <占位符> 替换为真实密钥
- 完全退出并重启 Claude Desktop
{
"mcpServers": {
"mcp-context-server": {
"command": "uvx",
"args": [
"mcp-context-server"
]
}
}
}Trae — .trae/mcp.json(本地)
- 打开 Trae → 设置 → MCP,或编辑 .trae/mcp.json / 全局 mcp.json
- 点击「复制配置」粘贴并合并 mcpServers
- 将 env 中的 <占位符> 替换为真实密钥
- 保存后重载 Trae 窗口
{
"mcpServers": {
"mcp-context-server": {
"command": "uvx",
"args": [
"mcp-context-server"
]
}
}
}Cherry Studio — MCP 设置(本地)
- 打开 Cherry Studio → 设置 → MCP 服务器 → 添加(STDIO)
- 也可直接导入下方 JSON:点击「复制配置」合并到 mcpServers
- 将 env 中的 <占位符> 替换为真实密钥,并确保本机已安装 Node.js / uv(npx、uvx)
- 启用服务并查看工具列表是否加载成功
{
"mcpServers": {
"mcp-context-server": {
"command": "uvx",
"args": [
"mcp-context-server"
]
}
}
}通义灵码 — MCP 配置(本地)
- 通义灵码:个人设置 → MCP 服务 → 「+」→ 手工添加(STDIO)或配置文件添加
- 点击「复制配置」合并 mcpServers;命令/参数/环境变量与 JSON 一致
- 将 env 中的 <占位符> 替换为真实密钥;本机需 Node.js 18+(npx)或已安装 uv(uvx)
- 确认服务状态为已连接后再在智能体对话中调用
{
"mcpServers": {
"mcp-context-server": {
"command": "uvx",
"args": [
"mcp-context-server"
]
}
}
}Windsurf — mcp_config.json(本地)
- 编辑 ~/.codeium/windsurf/mcp_config.json
- 点击「复制配置」合并 mcpServers(本地 stdio 与 Cursor 格式相同)
- 将 env 中的 <占位符> 替换为真实密钥后保存并刷新 Cascade
{
"mcpServers": {
"mcp-context-server": {
"command": "uvx",
"args": [
"mcp-context-server"
]
}
}
}Cline — MCP Servers(本地)
- Cline 面板 → 设置 → MCP Servers
- 点击「复制配置」粘贴并合并
- 将 env 中的 <占位符> 替换为真实密钥后保存
{
"mcpServers": {
"mcp-context-server": {
"command": "uvx",
"args": [
"mcp-context-server"
]
}
}
}WorkBuddy — .workbuddy/mcp.json(本地)
- 编辑 ~/.workbuddy/mcp.json(用户级)或项目目录 .workbuddy/mcp.json
- 也可在界面:插件 → MCP 服务器 → 配置 MCP,粘贴下方 JSON
- 将 env 中的 <占位符> 替换为真实密钥;Windows 下 command/脚本路径建议用绝对路径
- 保存并重启 WorkBuddy,确认连接器状态为绿色
{
"mcpServers": {
"mcp-context-server": {
"command": "uvx",
"args": [
"mcp-context-server"
]
}
}
}常见报错排查与运行避坑 (Troubleshooting)FAQ
针对 mcp-context-server 在 Cursor、Claude Code 中的常见连接错误与解决办法
在 Cursor / Claude Code 中配置 mcp-context-server 提示 connection closed 或 exit code 1?
通常由本地运行时环境缺失或命令路径未被 IDE 继承引起。排查步骤: 1. 确认已安装 Node.js 18+(支持 npx)或 Python 3.10+(支持 uvx); 2. 尝试在终端运行 which npx 或 which uvx,把配置文件中的 "command" 字段改为完整绝对路径; 3. 修改 mcp.json 后,必须完全重载或重启客户端窗口。
# 终端测试命令是否存在: which npx node -v
提示 spawn npx ENOENT 或 command not found?
这是因为编辑器后台进程未加载完整的终端环境变量(PATH)。解决方案:在全局安装该包(如 npm install -g 包名),或在配置文件中将 command 设置为系统的实际路径(如 Windows 下的 C:\Program Files\nodejs\npx.cmd,Mac 下的 /usr/local/bin/npx)。
提示 Missing required environment variable 或 API 认证失败?
mcp-context-server 依赖环境变量(如 LOG_LEVEL、STORAGE_BACKEND、MAX_IMAGE_SIZE_MB、MAX_TOTAL_SIZE_MB、DB_PATH、POOL_MAX_READERS、POOL_MAX_WRITERS、POOL_CONNECTION_TIMEOUT_S、POOL_IDLE_TIMEOUT_S、POOL_HEALTH_CHECK_INTERVAL_S、RETRY_MAX_RETRIES、RETRY_BASE_DELAY_S、RETRY_MAX_DELAY_S、RETRY_JITTER、RETRY_BACKOFF_FACTOR、SQLITE_FOREIGN_KEYS、SQLITE_JOURNAL_MODE、SQLITE_SYNCHRONOUS、SQLITE_TEMP_STORE、SQLITE_MMAP_SIZE、SQLITE_CACHE_SIZE、SQLITE_PAGE_SIZE、SQLITE_WAL_AUTOCHECKPOINT、SQLITE_BUSY_TIMEOUT_MS、SQLITE_WAL_CHECKPOINT、SHUTDOWN_TIMEOUT_S、SHUTDOWN_TIMEOUT_TEST_S、QUEUE_TIMEOUT_S、QUEUE_TIMEOUT_TEST_S、CIRCUIT_BREAKER_FAILURE_THRESHOLD、CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S、CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS、POSTGRESQL_CONNECTION_STRING、POSTGRESQL_HOST、POSTGRESQL_PORT、POSTGRESQL_USER、POSTGRESQL_PASSWORD、POSTGRESQL_DATABASE、POSTGRESQL_POOL_MIN、POSTGRESQL_POOL_MAX、POSTGRESQL_POOL_TIMEOUT_S、POSTGRESQL_COMMAND_TIMEOUT_S、POSTGRESQL_MIGRATION_TIMEOUT_S、POSTGRESQL_MAX_INACTIVE_LIFETIME_S、POSTGRESQL_MAX_QUERIES、POSTGRESQL_TCP_KEEPALIVES_IDLE_S、POSTGRESQL_TCP_KEEPALIVES_INTERVAL_S、POSTGRESQL_TCP_KEEPALIVES_COUNT、POSTGRESQL_STATEMENT_CACHE_SIZE、POSTGRESQL_MAX_CACHED_STATEMENT_LIFETIME_S、POSTGRESQL_MAX_CACHEABLE_STATEMENT_SIZE、POSTGRESQL_SSL_MODE、POSTGRESQL_SCHEMA、ENABLE_SEMANTIC_SEARCH、ENABLE_EMBEDDING_GENERATION、OLLAMA_HOST、OLLAMA_AUTO_PULL、OLLAMA_PULL_TIMEOUT_S、EMBEDDING_OLLAMA_TRUNCATE、EMBEDDING_OLLAMA_NUM_CTX、EMBEDDING_MODEL、EMBEDDING_DIM、EMBEDDING_TIMEOUT_S、EMBEDDING_RETRY_MAX_ATTEMPTS、EMBEDDING_RETRY_BASE_DELAY_S、EMBEDDING_MAX_CONCURRENT、ENABLE_SUMMARY_GENERATION、SUMMARY_PROVIDER、SUMMARY_MODEL、SUMMARY_MAX_TOKENS、SUMMARY_TIMEOUT_S、SUMMARY_RETRY_MAX_ATTEMPTS、SUMMARY_RETRY_BASE_DELAY_S、SUMMARY_MAX_CONCURRENT、SUMMARY_PROMPT、SUMMARY_MIN_CONTENT_LENGTH、SUMMARY_OLLAMA_NUM_CTX、SUMMARY_OLLAMA_TRUNCATE、SUMMARY_OPENAI_REASONING_EFFORT、SUMMARY_ANTHROPIC_EFFORT、ANTHROPIC_API_KEY、ENABLE_FTS、FTS_LANGUAGE、FTS_RERANK_WINDOW_SIZE、FTS_RERANK_GAP_MERGE、ENABLE_HYBRID_SEARCH、HYBRID_RRF_K、HYBRID_RRF_OVERFETCH、HYBRID_FTS_OR_THRESHOLD、SEARCH_DEFAULT_SORT_BY、SEARCH_TRUNCATION_LENGTH、ENABLE_CHUNKING、CHUNK_SIZE、CHUNK_OVERLAP、CHUNK_AGGREGATION、CHUNK_DEDUP_OVERFETCH、ENABLE_RERANKING、RERANKING_PROVIDER、RERANKING_MODEL、RERANKING_MAX_LENGTH、RERANKING_OVERFETCH、RERANKING_CACHE_DIR、RERANKING_CHARS_PER_TOKEN、RERANKING_INTRA_OP_THREADS、RERANKING_CPU_MEM_ARENA、RERANKING_BATCH_SIZE、EMBEDDING_PROVIDER、OPENAI_API_KEY、OPENAI_API_BASE、OPENAI_ORGANIZATION、AZURE_OPENAI_API_KEY、AZURE_OPENAI_ENDPOINT、AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME、AZURE_OPENAI_API_VERSION、HUGGINGFACEHUB_API_TOKEN、VOYAGE_API_KEY、VOYAGE_TRUNCATION、VOYAGE_BATCH_SIZE、LANGSMITH_TRACING、LANGSMITH_API_KEY、LANGSMITH_PROJECT、LANGSMITH_ENDPOINT、METADATA_INDEXED_FIELDS、METADATA_INDEX_SYNC_MODE、MCP_TRANSPORT、FASTMCP_HOST、FASTMCP_PORT、FASTMCP_STATELESS_HTTP、DISABLED_TOOLS、MCP_AUTH_TOKEN、MCP_AUTH_CLIENT_ID、MCP_AUTH_PROVIDER、MCP_SERVER_INSTRUCTIONS、LOG_LEVEL、STORAGE_BACKEND、MAX_IMAGE_SIZE_MB、MAX_TOTAL_SIZE_MB、DB_PATH、POOL_MAX_READERS、POOL_MAX_WRITERS、POOL_CONNECTION_TIMEOUT_S、POOL_IDLE_TIMEOUT_S、POOL_HEALTH_CHECK_INTERVAL_S、RETRY_MAX_RETRIES、RETRY_BASE_DELAY_S、RETRY_MAX_DELAY_S、RETRY_JITTER、RETRY_BACKOFF_FACTOR、SQLITE_FOREIGN_KEYS、SQLITE_JOURNAL_MODE、SQLITE_SYNCHRONOUS、SQLITE_TEMP_STORE、SQLITE_MMAP_SIZE、SQLITE_CACHE_SIZE、SQLITE_PAGE_SIZE、SQLITE_WAL_AUTOCHECKPOINT、SQLITE_BUSY_TIMEOUT_MS、SQLITE_WAL_CHECKPOINT、SHUTDOWN_TIMEOUT_S、SHUTDOWN_TIMEOUT_TEST_S、QUEUE_TIMEOUT_S、QUEUE_TIMEOUT_TEST_S、CIRCUIT_BREAKER_FAILURE_THRESHOLD、CIRCUIT_BREAKER_RECOVERY_TIMEOUT_S、CIRCUIT_BREAKER_HALF_OPEN_MAX_CALLS、POSTGRESQL_CONNECTION_STRING、POSTGRESQL_HOST、POSTGRESQL_PORT、POSTGRESQL_USER、POSTGRESQL_PASSWORD、POSTGRESQL_DATABASE、POSTGRESQL_POOL_MIN、POSTGRESQL_POOL_MAX、POSTGRESQL_POOL_TIMEOUT_S、POSTGRESQL_COMMAND_TIMEOUT_S、POSTGRESQL_MIGRATION_TIMEOUT_S、POSTGRESQL_MAX_INACTIVE_LIFETIME_S、POSTGRESQL_MAX_QUERIES、POSTGRESQL_TCP_KEEPALIVES_IDLE_S、POSTGRESQL_TCP_KEEPALIVES_INTERVAL_S、POSTGRESQL_TCP_KEEPALIVES_COUNT、POSTGRESQL_STATEMENT_CACHE_SIZE、POSTGRESQL_MAX_CACHED_STATEMENT_LIFETIME_S、POSTGRESQL_MAX_CACHEABLE_STATEMENT_SIZE、POSTGRESQL_SSL_MODE、POSTGRESQL_SCHEMA、ENABLE_SEMANTIC_SEARCH、ENABLE_EMBEDDING_GENERATION、OLLAMA_HOST、OLLAMA_AUTO_PULL、OLLAMA_PULL_TIMEOUT_S、EMBEDDING_OLLAMA_TRUNCATE、EMBEDDING_OLLAMA_NUM_CTX、EMBEDDING_MODEL、EMBEDDING_DIM、EMBEDDING_TIMEOUT_S、EMBEDDING_RETRY_MAX_ATTEMPTS、EMBEDDING_RETRY_BASE_DELAY_S、EMBEDDING_MAX_CONCURRENT、ENABLE_SUMMARY_GENERATION、SUMMARY_PROVIDER、SUMMARY_MODEL、SUMMARY_MAX_TOKENS、SUMMARY_TIMEOUT_S、SUMMARY_RETRY_MAX_ATTEMPTS、SUMMARY_RETRY_BASE_DELAY_S、SUMMARY_MAX_CONCURRENT、SUMMARY_PROMPT、SUMMARY_MIN_CONTENT_LENGTH、SUMMARY_OLLAMA_NUM_CTX、SUMMARY_OLLAMA_TRUNCATE、SUMMARY_OPENAI_REASONING_EFFORT、SUMMARY_ANTHROPIC_EFFORT、ANTHROPIC_API_KEY、ENABLE_FTS、FTS_LANGUAGE、FTS_RERANK_WINDOW_SIZE、FTS_RERANK_GAP_MERGE、ENABLE_HYBRID_SEARCH、HYBRID_RRF_K、HYBRID_RRF_OVERFETCH、HYBRID_FTS_OR_THRESHOLD、SEARCH_DEFAULT_SORT_BY、SEARCH_TRUNCATION_LENGTH、ENABLE_CHUNKING、CHUNK_SIZE、CHUNK_OVERLAP、CHUNK_AGGREGATION、CHUNK_DEDUP_OVERFETCH、ENABLE_RERANKING、RERANKING_PROVIDER、RERANKING_MODEL、RERANKING_MAX_LENGTH、RERANKING_OVERFETCH、RERANKING_CACHE_DIR、RERANKING_CHARS_PER_TOKEN、RERANKING_INTRA_OP_THREADS、RERANKING_CPU_MEM_ARENA、RERANKING_BATCH_SIZE、EMBEDDING_PROVIDER、OPENAI_API_KEY、OPENAI_API_BASE、OPENAI_ORGANIZATION、AZURE_OPENAI_API_KEY、AZURE_OPENAI_ENDPOINT、AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME、AZURE_OPENAI_API_VERSION、HUGGINGFACEHUB_API_TOKEN、VOYAGE_API_KEY、VOYAGE_TRUNCATION、VOYAGE_BATCH_SIZE、LANGSMITH_TRACING、LANGSMITH_API_KEY、LANGSMITH_PROJECT、LANGSMITH_ENDPOINT、METADATA_INDEXED_FIELDS、METADATA_INDEX_SYNC_MODE、MCP_TRANSPORT、FASTMCP_HOST、FASTMCP_PORT、FASTMCP_STATELESS_HTTP、DISABLED_TOOLS、MCP_AUTH_TOKEN、MCP_AUTH_CLIENT_ID、MCP_AUTH_PROVIDER、MCP_SERVER_INSTRUCTIONS)。请在客户端配置文件的 "env" 对象中填入有效密钥,注意不要包含多余空格或未闭合的双引号。
// .cursor/mcp.json 或 claude_desktop_config.json
{
"env": {
"API_KEY": "your_actual_key_here"
}
}免安装模拟调用 (Playground)
仿真环境mcp-context-server 核心接口调用仿真 · 无需配置本地环境,直接预览调用参数与返回格式
{
"target": "mcp-context-server",
"action": "execute",
"options": {
"mode": "standard",
"timeoutMs": 5000
}
}点击上方「模拟运行」按钮
查看该工具在 Agent 内部的返回数据格式
选型与决策建议(为什么选它?)
帮助你快速判断该资源是否契合当前项目,避免盲目折腾
- PR 自动审查
- 生成 changelog
- 跨仓库 Issue 检索
- 替代人工安全审计
- 在无授权仓库上操作
mcp-context-server + 对应场景 Prompt → 组成标准 Agent 自动化任务
MCP 实战教程:从安装到看见效果
按完整实例走一遍(含期望效果与对比验收)。装完本页资源后,用教程里的提示词核对是否真正生效。
相关资源
Playwright
io.mcp-cn.playwright/mcp
基于Playwright的自动化测试和网页操作MCP工具
微信读书
io.mcp-cn.mcp-server-weread
微信读书的MCP服务器,支持微信读书的读取和写入
Kubernetes
io.mcp-cn.mcp-server-kubernetes
Kubernetes的MCP服务器,支持Kubernetes的读取和写入
MarkItDown MCP Server
io.mcp-cn.markitdown-mcp-npx
MarkItDown MCP服务器,提供无Docker依赖的NPX包装器,支持直接运行Microsoft的markitdown-mcp服务器,包括自动Python环境设置和依赖管理
Figma
io.mcp-cn.figma-developer-mcp
连接Figma的MCP服务器,支持设计文件管理和操作
GitHub
io.mcp-cn.modelcontextprotocol/server-github
连接GitHub的MCP服务器,支持仓库管理、问题跟踪、代码搜索等功能
常搭配使用
腾讯云 COS 对象存储
v1.2.3
io.clawhub.shawnminh/tencent-cos-skill
腾讯云对象存储(COS)和数据万象(CI)集成技能。覆盖文件存储管理、AI处理和知识库三大核心场景。 存储场景:上传文件到云端、下载云端文件、批量管理存储桶文件、获取文件签名链接分享、查看文件元信息、查询数据万象及子服务开通状态。 图片处理场景:图片质量评估打分、AI超分辨率放大、AI智能裁剪、二维码/条形码识别、添加文字水印、获取图片EXIF信息、缩放、裁剪、旋转、格式转换。 文档处理场景:Word/Excel/PPT等办公文档转PDF、文档预览。 媒体处理场景:视频智能封面提取、视频转码、视频截帧、获取媒体信息。 内容审核场景:图片/视频/音频/文本/文档内容审核,检测违规内容。 智能语音
AI 人格操作系统 AI Persona OS
v2.1.0
io.clawhub.jeffjhunter/ai-persona-os
面向 OpenClaw 5.x 智能体的完整操作系统。
中文公文写作
v2.0.51
io.clawhub.gongyu0918-debug/chinese-official-writing
用于中文公文、事务性材料和新闻稿件的起草、改写、压缩、润色、审校、文种核对、去口语化、降 AI 味及 Word 格式处理,适用于机关、企事业单位、学校和新闻机构。涵盖申请、请示、报告、通知、通告、意见、决定、决议、议案、公报、命令、函、复函、批复、说明、方案、纪要、公告、公示、通报、制度、规定、办法、细则、操作规程、工作要点、总结、调研、讲话、致辞、主持词、述职、可研、审查材料、技术需求、新闻消息、编者按、新闻评论,以及采购、整改、反馈和 AI 算力等场景。
得到大脑(原 Get 笔记)
v2.4.0
io.clawhub.iswalle/getnote
通过官方 getnote CLI 连接得到大脑,完成浏览器授权、连接诊断、CLI 升级,以及保存、查询、搜索、整理和管理用户的真实笔记。用户明确要求登录、诊断或升级,或要保存链接/图片、查找和查看笔记、整理知识库/文件夹、订阅博主、管理标签时使用;不会自行安装或更新 Skill。
继续逛 AgentHub
大多数人安装前还会对比同类工具或看场景方案——下面这些能帮你少走弯路。
收录徽章:把 AgentHub 挂到你的官网
复制下面任意一段代码到项目主页、官网或 GitHub README。徽章是 SVG 热链,无需上传文件,链接指向本页,访客可由此直接找到安装方式。
<a href="https://myagenthub.cn/p/io.github.alex-feel/mcp-context-server" title="AgentHub 已收录:mcp-context-server" target="_blank" rel="noopener">
<img src="https://myagenthub.cn/badge/io.github.alex-feel/mcp-context-server" alt="AgentHub 已收录:mcp-context-server" height="20" style="border:0"/>
</a>[](https://myagenthub.cn/p/io.github.alex-feel/mcp-context-server)徽章由 /badge/<资源ID> 动态生成,名称与收录状态变化后自动更新;请保留链接指向,它是收录来源的判定依据。
统一 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",
"trae",
"cherry-studio",
"lingma",
"windsurf",
"cline",
"workbuddy"
],
"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"
}
}