← 返回目录
C

Context+ MCP Server

社区
大规模工程语义智能。
GitHub 源仓库 ↗
★ 2.0k Stars 分类 · 开发工具 非常热门 源版本 1b59b37f3130
48FMRS · D
可靠性
8/20
安全与权限
8/20
维护活跃度
12/20
文档质量
10/20
安装易用性
10/20

Context+ 是一个功能丰富的 MCP 服务器,提供代码结构分析、语义搜索、静态分析、代码编辑和记忆图功能。它的亮点是结合 AST 和 RAG 进行语义理解,以及影子恢复点机制。配置相对复杂,需要 Ollama 或其他嵌入提供商。

查看 FMRS 评分方法 →

Context+ 是一个 MCP 服务器,专为追求 99% 准确率的开发者设计。通过结合 RAG、Tree-sitter AST、谱聚类和 Obsidian 风格链接,Context+ 将庞大的代码库转化为可搜索、分层的特性图。

工具能力

get_context_tree
获取项目的结构化 AST 树,包含文件头部和符号范围(函数/类/方法的行号)。动态剪枝自动缩小输出。
get_file_skeleton
获取函数签名、类方法和类型定义,包含行号范围,无需读取完整函数体。展示 API 表面。
semantic_code_search
按语义而非精确文本搜索。使用文件头和符号的嵌入,返回匹配的符号定义行。
semantic_identifier_search
对函数/类/变量进行标识符级语义检索,返回排序的调用点和行号。
semantic_navigate
使用谱聚类按语义浏览代码库。将语义相关的文件分组为带标签的集群。
get_blast_radius
追踪符号在哪些文件和行被导入或使用。防止孤立引用。
run_static_analysis
运行原生 linter 和编译器,发现未使用变量、死代码和类型错误。支持 TypeScript、Python、Rust、Go。
propose_commit
唯一写代码的方式。在保存前根据严格规则验证,并在写入前创建影子恢复点。
get_feature_hub
Obsidian 风格的特性中心导航器。中心是包含 [[wikilinks]] 的 .md 文件,将特性映射到代码文件。
list_restore_points
列出 propose_commit 创建的所有影子恢复点。每个恢复点在 AI 更改前捕获文件状态。
undo_change
将文件恢复到特定 AI 更改前的状态。使用影子恢复点。不影响 git。
upsert_memory_node
创建或更新记忆节点(概念、文件、符号、笔记),并自动生成嵌入。
create_relation
在节点之间创建类型化边(relates_to, depends_on, implements, references, similar_to, contains)。
search_memory_graph
使用图遍历进行语义搜索——找到直接匹配然后遍历一阶和二阶邻居。
prune_stale_links
移除衰减的边(e^(-λt) 低于阈值)和低访问计数的孤立节点。
add_interlinked_context
批量添加节点,并自动相似性链接(余弦 ≥ 0.72 时自动创建边)。
retrieve_with_traversal
从节点开始向外遍历,返回所有可达邻居,按衰减和深度评分。

安装接入

无需安装,通过 npx 或 bunx 运行。在 IDE 的 MCP 配置中添加以下内容(示例为 Claude Code、Cursor、Windsurf):

{
  "mcpServers": {
    "contextplus": {
      "command": "bunx",
      "args": ["contextplus"],
      "env": {
        "OLLAMA_EMBED_MODEL": "nomic-embed-text",
        "OLLAMA_CHAT_MODEL": "gemma2:27b",
        "OLLAMA_API_KEY": "YOUR_OLLAMA_API_KEY"
      }
    }
  }
}

对于 VS Code,使用 .vscode/mcp.json 并采用 servers 格式。也可以使用 npx -y contextplus init <client> 自动生成配置文件,支持 claude、cursor、vscode、windsurf、opencode。

claude_desktop_config.json
{
  "mcpServers": {
    "contextplus": {
      "command": "bunx",
      "args": [
        "contextplus"
      ],
      "env": {
        "OLLAMA_EMBED_MODEL": "nomic-embed-text",
        "OLLAMA_CHAT_MODEL": "gemma2:27b",
        "OLLAMA_API_KEY": "YOUR_OLLAMA_API_KEY"
      }
    }
  }
}

选型与风险

适合谁

  • 大型代码库的开发者
  • 需要高度准确代码理解的团队
  • 使用 Ollama 或 OpenAI 兼容嵌入的用户
  • 希望利用 AI 辅助代码编辑并保留回滚能力的用户

不适合谁

  • 小型项目可能过于复杂
  • 需要原生 git 集成版本控制的用户(仅提供影子恢复点)
  • 需要 SQL 或文件系统访问等非代码操作的场景

所需权限

  • 读取项目文件(通过 AST 解析和文件遍历)
  • 创建影子恢复点(在 .mcp_data 目录下)
  • 运行 linter 和编译器(run_static_analysis)
  • 写入代码文件(通过 propose_commit)
  • 网络访问(调用 Ollama 或 OpenAI 兼容 API)

风险与副作用

  • propose_commit 可能修改代码文件,尽管有验证规则但仍需谨慎
  • 运行时缓存(.mcp_data)可能占用磁盘空间
  • 嵌入基于本地或云端模型,可能涉及数据隐私
  • 谱聚类结果可能不稳定,标签可能不准确

常见排障

  1. 确保 Ollama 已安装并运行,且模型已拉取(如 nomic-embed-text)
  2. 验证 API 密钥和环境变量是否正确设置(OLLAMA_API_KEY 等)
  3. 检查项目路径是否正确,且未被 .gitignore 排除;使用 --include 或 CONTEXTPLUS_EXTRA_ROOTS 添加额外根
  4. 如果使用 OpenAI 兼容提供商,确保设置 CONTEXTPLUS_OPENAI_API_KEY 和 BASE_URL

使用场景

快速理解大型代码库结构
按语义搜索代码,取代文本匹配
分析变更影响范围
在 AI 编辑前创建恢复点
构建代码特性知识图谱

支持客户端

Claude Desktop部分支持
Claude Code完整支持
Cursor完整支持
VS Code完整支持
Windsurf完整支持
OpenCode完整支持