开发与工程 semantic-code-searchmcp-servervector-databasecode-indexinghybrid-search

Claude Context — 基于语义搜索的代码库上下文插件

通过语义搜索将整个代码库变为 AI 编码助手的上下文,实现高效代码检索。

FollowAgents 评估 · FARS-2.1
不推荐
49/ 100 五分制 2.5 / 5
1 2 3 4 5 6
1信任安全7 / 29 · 1.2/5

证据显示:MCP服务器通过环境变量接收API密钥,未发现硬编码凭据;但未提供用户确认机制,数据流透明度有限(仅说明发送到向量数据库和嵌入服务),敏感数据处理未详细说明,依赖安全未提供审计,外部影响(如索引整个代码库)未明确提示,回滚机制缺失,来源归属仅通过README和package.json的author字段部分体现。扣分原因:缺少用户确认、数据流细节、敏感数据保护措施、依赖审计、外部影响提示、回滚机制。

2可靠稳定8 / 14 · 2.9/5

证据显示:README和package.json描述一致,构建脚本和CI配置存在,依赖声明明确,但失败消息未在文档中详细说明。扣分原因:失败消息文档不足。

3适用触发12 / 18 · 3.3/5

证据显示:README提供了多种MCP客户端的配置示例,支持多种嵌入提供商和向量数据库,文件包含/排除规则可定制,环境要求明确。扣分原因:能力边界(如支持的代码语言)在README中列出但未深入说明,触发精度(如索引命令)未详细说明。

4规范维护10 / 18 · 2.8/5

证据显示:README结构清晰,安装说明详细,命名一致,提供了示例和FAQ,MIT许可证明确,但版本变更日志未提供,维护责任仅通过GitHub仓库和作者信息部分体现。扣分原因:缺少版本变更日志,维护责任不明确。

5有效结果9 / 13 · 3.5/5

证据显示:README声称约40%的token减少,提供了使用示例,但未提供成本效益的详细分析。扣分原因:成本效益分析不足。

6证据核验3 / 8 · 1.9/5

证据显示:README中的声明(如token减少)未提供详细数据或方法,评估目录存在但未在提供的文件中展示,事实与推断未明确区分。扣分原因:声明缺乏可追溯性,交叉验证不足。

证据充分度: 评估于 2026年8月17日 审查版本 6fc318b4e3ce
源码中未见的安全控制:执行前用户确认、回滚或恢复路径
使用前请注意
  • 该工具需要将代码库内容发送到外部向量数据库和嵌入服务,可能涉及敏感代码泄露风险,请确保使用可信的服务提供商并配置适当的访问控制。
  • 未提供用户确认机制,工具可能自动索引整个代码库,建议在敏感环境中谨慎使用。
  • 依赖安全未审计,建议定期检查依赖漏洞。
评估证据 [1][2][3][4][5]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Claude Context 是一个 MCP 插件,利用语义搜索为 Claude Code 等 AI 编码助手提供整个代码库的深度上下文。它通过向量数据库索引代码库,仅将相关代码片段注入上下文,从而在保持检索质量的同时大幅降低成本。该项目是一个 monorepo,包含核心索引引擎(@zilliz/claude-context-core)、MCP 服务器(@zilliz/claude-context-mcp)以及一个 VS Code 扩展。它支持混合搜索(BM25 + 稠密向量)、增量索引(基于 Merkle 树)和基于抽象语法树(AST)的智能代码切分。部署需要 OpenAI 嵌入 API 和 Zilliz Cloud 或 Milvus 向量数据库,通过标准 stdio 传输遵循 MCP 协议。

Claude Context 在初始化时接受代码库目录,将文件拆分为块,通过 OpenAI(或配置的)嵌入模型生成嵌入向量,并将嵌入存储到 Milvus/Zilliz Cloud 中。它提供 MCP 工具:index_codebase(索引代码库)、search_code(自然语言混合搜索)、clear_index(清除索引)、get_indexing_status(查看进度)。搜索时,它使用 BM25 和稠密向量检索相关的代码片段,并提供文件路径、行号和内容。架构包括 ContextMilvusVectorDatabaseOpenAIEmbedding 等核心类;MCP 服务器通过 npx @zilliz/claude-context-mcp 运行,支持多个 MCP 客户端,如 Claude Code、Codex CLI、Gemini CLI、Cursor 等。

  1. 开发者在 Claude Code 中处理大型或陌生的代码库,需要快速定位实现特定功能的代码,避免手动搜索。
  2. 编码代理工程师希望在不将整个代码库加载到上下文的情况下,减少标记消耗和成本,提升响应速度和效率。
  3. 技术团队需要将代码库语义上下文集成到多种 AI 工具(如 Cursor、Gemini CLI)中,希望采用标准 MCP 协议并支持混合搜索。
  4. 维护大型项目的开发者需要高效索引和增量更新(仅重新索引修改的文件),以保持上下文最新并控制成本。
  5. VSCode 用户希望在不离开 IDE 的情况下,使用自然语言搜索代码,获得相关片段和行号。

这个 Agent 有哪些优点和局限?

优点
  • 混合搜索(BM25 + 稠密向量)提供相关且上下文丰富的代码片段。
  • 增量索引使用 Merkle 树,仅重新索引更改的文件,减少开销。
  • 基于 AST 的代码切分提高代码理解,并支持多种编程语言。
  • MCP 协议支持广泛的 AI 编码工具,包括 Claude Code、Codex、Cursor 等。
  • 评估显示在等效检索质量下可实现约 40% 的令牌减少,节省成本。
局限
  • 需要外部向量数据库(Zilliz Cloud 或 Milvus)和 OpenAI API 密钥,并非完全本地化。
  • 设置需要多个配置步骤和 API 密钥管理,可能增加集成负担。
  • 对 Zilliz Cloud 的依赖可能引起供应商锁定担忧,尽管 Milvus 提供了替代方案。
  • MCP 服务器仅支持 Node.js 环境,限制了非 Node.js 项目中的使用。

如何安装或部署这个 Agent?

前置条件: Node.js >= 20;获取 OpenAI API 密钥;获取 Zilliz Cloud 实例(公共端点和 API 密钥)。

对于 Claude Code,运行:

claude mcp add claude-context \
  -e OPENAI_API_KEY=sk-your-openai-api-key \
  -e MILVUS_ADDRESS=your-zilliz-cloud-public-endpoint \
  -e MILVUS_TOKEN=your-zilliz-cloud-api-key \
  -- npx @zilliz/claude-context-mcp@latest

其他客户端配置见 README 对应部分。

如何使用这个 Agent?

  1. 在项目目录中启动 Claude Code(claude)。
  2. 使用自然语言指令:“Index this codebase” 进行索引。
  3. 使用“Check the indexing status”查看进度。
  4. 直接提问,例如:“Find functions that handle user authentication”。

也可以使用核心包在 TypeScript 应用程序中集成:

import { Context, MilvusVectorDatabase, OpenAIEmbedding } from '@zilliz/claude-context-core';
const embedding = new OpenAIEmbedding({ apiKey: 'your-openai-api-key', model: 'text-embedding-3-small' });
const vectorDatabase = new MilvusVectorDatabase({ address: 'your-zilliz-cloud-public-endpoint', token: 'your-zilliz-cloud-api-key' });
const context = new Context({ embedding, vectorDatabase });
const stats = await context.indexCodebase('./your-project', (progress) => {});
const results = await context.semanticSearch('./your-project', 'vector database operations', 5);

这个 Agent 与同类方案有什么区别?

与 Serena、Context7 或 DeepWiki 等其他工具比较,Claude Context 专注于将代码库作为上下文,并采用混合搜索和增量索引。具体差异在 FAQ 中提及。

常见问题

我可以部署完全本地的向量数据库和嵌入模型吗?
是的,Claude Context 支持本地部署,可使用 Milvus 作为向量数据库,并通过 Ollama 等提供本地嵌入模型,但需自行配置。
可以同时索引多个项目吗?
是的,Claude Context 支持索引多个项目或代码库,只需为每个项目调用索引工具。
索引所有文件吗?如何控制?
支持配置文件扩展、忽略模式,并基于 AST 智能切分;具体规则参见文档。
如果我不想用 Zilliz Cloud,可以用它吗?
可以,您可以使用 Milvus(开源)作为替代,只需调整 MILVUS_ADDRESS 和 MILVUS_TOKEN 指向您的 Milvus 实例。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents