Skip to main content
Glama

Context+

面向大规模工程的语义智能。

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

在你浏览的同时,欢迎查看我的另一个项目 Airena。组建一支 AI 智能体团队,与其他编排器进行正面交锋。排行榜第一名可获得 1600 美元奖金!

https://github.com/user-attachments/assets/a97a451f-c9b4-468d-b036-15b65fc13e79

工具

发现

工具

描述

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。

内存与 RAG

工具

描述

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

从一个节点开始向外遍历 — 返回所有可达的邻居,并按衰减和深度进行评分。

配套服务器: pmll-memory-mcp (npx pmll-memory-mcp) 是由 @drQedwards 开发的独立 MCP 服务器,它适配了 Context+ 的长期内存图,并增加了短期 KV 上下文内存、Q-promise 去重以及顶层的解决方案引擎。详情请参阅 drQedwards/PPM

设置

快速开始 (npx / bunx)

无需安装。将 Context+ 添加到你的 IDE MCP 配置中。

对于 Claude Code、Cursor 和 Windsurf,请使用 mcpServers

{
  "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),请使用 serversinputs

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

如果你更喜欢 npx,请使用:

  • "command": "npx"

  • "args": ["-y", "contextplus"]

或者直接在当前目录生成 MCP 配置文件:

npx -y contextplus init claude
bunx contextplus init cursor
npx -y contextplus init opencode

支持的编码代理名称:claude, cursor, vscode, windsurf, opencode

配置文件位置:

IDE

配置文件

Claude Code

.mcp.json

Cursor

.cursor/mcp.json

VS Code

.vscode/mcp.json

Windsurf

.windsurf/mcp.json

OpenCode

opencode.json

CLI 子命令

  • init [target] - 生成 MCP 配置(目标:claude, cursor, vscode, windsurf, opencode)。

  • skeleton [path]tree [path] - (新) 直接在终端中查看项目的结构树,包含文件头和符号定义。

  • [path] - 为指定路径启动 MCP 服务器 (stdio)(默认为当前目录)。

从源码构建

npm install
npm run build

嵌入提供程序

Context+ 支持两种由 CONTEXTPLUS_EMBED_PROVIDER 控制的嵌入后端:

提供程序

需要

最适合

Ollama (默认)

ollama

本地 Ollama 服务器

免费、离线、私有

兼容 OpenAI

openai

API 密钥

Gemini (免费层级), OpenAI, Groq, vLLM

Ollama (默认)

无需额外配置。只需运行带有嵌入模型的 Ollama:

ollama pull nomic-embed-text
ollama serve

Google Gemini (免费层级)

完整的 Claude Code .mcp.json 示例:

{
  "mcpServers": {
    "contextplus": {
      "command": "npx",
      "args": ["-y", "contextplus"],
      "env": {
        "CONTEXTPLUS_EMBED_PROVIDER": "openai",
        "CONTEXTPLUS_OPENAI_API_KEY": "YOUR_GEMINI_API_KEY",
        "CONTEXTPLUS_OPENAI_BASE_URL": "https://generativelanguage.googleapis.com/v1beta/openai",
        "CONTEXTPLUS_OPENAI_EMBED_MODEL": "text-embedding-004"
      }
    }
  }
}

Google AI Studio 获取免费 API 密钥。

OpenAI

{
  "mcpServers": {
    "contextplus": {
      "command": "npx",
      "args": ["-y", "contextplus"],
      "env": {
        "CONTEXTPLUS_EMBED_PROVIDER": "openai",
        "OPENAI_API_KEY": "sk-...",
        "OPENAI_EMBED_MODEL": "text-embedding-3-small"
      }
    }
  }
}

其他兼容 OpenAI 的 API (Groq, vLLM, LiteLLM)

任何实现 OpenAI Embeddings API 的端点均可工作:

{
  "mcpServers": {
    "contextplus": {
      "command": "npx",
      "args": ["-y", "contextplus"],
      "env": {
        "CONTEXTPLUS_EMBED_PROVIDER": "openai",
        "CONTEXTPLUS_OPENAI_API_KEY": "YOUR_KEY",
        "CONTEXTPLUS_OPENAI_BASE_URL": "https://your-proxy.example.com/v1",
        "CONTEXTPLUS_OPENAI_EMBED_MODEL": "your-model-name"
      }
    }
  }
}

注意: semantic_navigate 工具也使用聊天模型进行簇标记。使用 openai 提供程序时,请设置 CONTEXTPLUS_OPENAI_CHAT_MODEL(默认:gpt-4o-mini)。

对于 VS Code、Cursor 或 OpenCode,请在 IDE 的 MCP 配置格式中使用相同的 env 块(参见上方的 配置文件位置 表格)。

架构

基于 TypeScript 构建的三层架构,通过 Model Context Protocol SDK 在 stdio 上运行:

核心 (src/core/) - 多语言 AST 解析(tree-sitter,43 种扩展)、感知 gitignore 的遍历、带磁盘缓存的 Ollama 向量嵌入、维基链接中心图、带衰减评分的内存属性图。

工具 (src/tools/) - 17 个 MCP 工具,提供结构化、语义化、操作化和内存图功能。

Git (src/git/) - 影子还原点系统,用于在不触碰 git 历史的情况下进行撤销。

运行时缓存 (.mcp_data/) - 在服务器启动时创建;存储可重用的文件、标识符和调用点嵌入,以避免重复的 GPU/CPU 嵌入工作。实时跟踪器会增量刷新已更改的文件/函数。

配置

变量

类型

默认

描述

CONTEXTPLUS_EMBED_PROVIDER

string

ollama

嵌入后端:ollamaopenai

OLLAMA_EMBED_MODEL

string

nomic-embed-text

Ollama 嵌入模型

OLLAMA_API_KEY

string

-

Ollama Cloud API 密钥

OLLAMA_CHAT_MODEL

string

llama3.2

用于簇标记的 Ollama 聊天模型

CONTEXTPLUS_OPENAI_API_KEY

string

-

兼容 OpenAI 提供程序的 API 密钥 (别名: OPENAI_API_KEY)

CONTEXTPLUS_OPENAI_BASE_URL

string

https://api.openai.com/v1

兼容 OpenAI 的端点 URL (别名: OPENAI_BASE_URL)

CONTEXTPLUS_OPENAI_EMBED_MODEL

string

text-embedding-3-small

兼容 OpenAI 的嵌入模型 (别名: OPENAI_EMBED_MODEL)

CONTEXTPLUS_OPENAI_CHAT_MODEL

string

gpt-4o-mini

用于标记的兼容 OpenAI 的聊天模型 (别名: OPENAI_CHAT_MODEL)

CONTEXTPLUS_EMBED_BATCH_SIZE

string (解析为数字)

8

每个 GPU 调用的嵌入批处理大小,限制在 5-10

CONTEXTPLUS_EMBED_CHUNK_CHARS

string (解析为数字)

2000

合并前的每块字符数,限制在 256-8000

CONTEXTPLUS_MAX_EMBED_FILE_SIZE

string (解析为数字)

51200

跳过大于此字节数的非代码文本文件

CONTEXTPLUS_EMBED_NUM_GPU

string (解析为数字)

-

可选的 Ollama 嵌入运行时 num_gpu 覆盖

CONTEXTPLUS_EMBED_MAIN_GPU

string (解析为数字)

-

可选的 Ollama 嵌入运行时 main_gpu 覆盖

CONTEXTPLUS_EMBED_NUM_THREAD

string (解析为数字)

-

可选的 Ollama 嵌入运行时 num_thread 覆盖

CONTEXTPLUS_EMBED_NUM_BATCH

string (解析为数字)

-

可选的 Ollama 嵌入运行时 num_batch 覆盖

CONTEXTPLUS_EMBED_NUM_CTX

string (解析为数字)

-

可选的 Ollama 嵌入运行时 num_ctx 覆盖

CONTEXTPLUS_EMBED_LOW_VRAM

string (解析为布尔值)

-

可选的 Ollama 嵌入运行时 low_vram 覆盖

CONTEXTPLUS_EMBED_TRACKER

string (解析为布尔值)

true

启用文件更改时的实时嵌入刷新

CONTEXTPLUS_EMBED_TRACKER_MAX_FILES

string (解析为数字)

8

每个跟踪器周期处理的最大更改文件数,限制在 5-10

CONTEXTPLUS_EMBED_TRACKER_DEBOUNCE_MS

string (解析为数字)

700

跟踪器刷新前的防抖窗口

测试

npm test
npm run test:demo
npm run test:all
Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - A tier

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ForLoopCodes/contextplus'

If you have feedback or need assistance with the MCP directory API, please join our Discord server