关于 Claude Context
Claude Context 是一个 MCP 服务,为 Claude Code 等 AI 编码 Agent 增加语义代码搜索功能,使其能够基于整个代码库获取上下文。代码被存入向量数据库,只把相关代码片段放入上下文,以控制 token 成本。
主要功能
- 01语义代码搜索
- 02BM25 与稠密向量的混合检索
- 03基于 Merkle 树的增量索引
- 04基于 AST 的代码分块
- 05可配置文件扩展名、忽略规则与 Embedding 模型
- 06通过 Zilliz Cloud 存储向量数据
适用场景
- 01在大型代码库中按自然语言查找相关函数
- 02为编码 Agent 提供代码上下文,减少 token 用量
- 03在 Claude Code、Cursor、Gemini CLI 等客户端中进行代码检索
MCP 相关
该项目是以 stdio 传输运行的 MCP 服务,向 MCP 客户端提供 index_codebase、search_code、clear_index 和 get_indexing_status 四个工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| path | string | 是 | 要建立索引的代码库目录的绝对路径。 |
| force | boolean | 否 | 即使已建立索引,也强制重新索引 |
| splitter | enum | 否 | 要使用的代码分割器:'ast' 表示支持自动回退的语法感知分割,'langchain' 表示基于字符的分割ast | langchain |
| customExtensions | array | 否 | 可选:除默认值外要包含的其他文件扩展名(例如,['.vue', '.svelte', '.astro'])。扩展名应包含点前缀,否则会自动添加 |
| ignorePatterns | array | 否 | 可选:除默认值外要排除特定文件/目录的其他忽略模式。仅当用户明确要求自定义忽略模式时才包含此参数(例如,['static/**', '*.tmp', 'private/**']) |
详细介绍

🆕 正在为 Claude Code 寻找持久记忆? 试试 memsearch Claude Code plugin——一套以 Markdown 为先的记忆系统,让你的 AI Agent 能在不同会话间保留长期记忆。
将整个代码库作为 Claude 的上下文
Claude Context 是一个 MCP 插件,可为 Claude Code 和其他 AI 编码 Agent 添加语义代码搜索功能,让它们深入了解整个代码库。
🧠 将整个代码库作为上下文:Claude Context 使用语义搜索,从数百万行代码中找到所有相关代码。无需多轮探索,搜索结果会直接进入 Claude 的上下文。
💰 适用于大型代码库,经济高效:无需在每次请求时都将整个目录加载到 Claude 中(这会非常昂贵),Claude Context 会将代码库高效地存储在向量数据库中,只在上下文中使用相关代码,从而控制成本。
🚀 演示
Model Context Protocol(MCP)可让你将 Claude Context 集成到喜爱的 AI 编码助手中,例如 Claude Code。
快速开始
前提条件
在 Zilliz Cloud 上免费获取向量数据库 👈
Claude Context 需要向量数据库。你可以在 Zilliz Cloud 上注册以获取 API 密钥。

复制你的 Personal Key,用它替换配置示例中的 your-zilliz-cloud-api-key。
获取用于嵌入模型的 OpenAI API Key
你需要用于嵌入模型的 OpenAI API 密钥。可以在 OpenAI 注册获取。
你的 API 密钥格式如下:始终以 sk- 开头。
复制密钥,并在下方配置示例中将其用作 your-openai-api-key。
为 Claude Code 配置 MCP
系统要求:
- Node.js >= 20.0.0
配置
使用命令行界面添加 Claude Context MCP 服务:
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
有关 MCP 服务管理的更多详情,请参阅 Claude Code MCP 文档。
其他 MCP 客户端配置
OpenAI Codex CLI
Codex CLI 使用 TOML 配置文件:
-
创建或编辑
~/.codex/config.toml文件。 -
添加以下配置:
# IMPORTANT: the top-level key is `mcp_servers` rather than `mcpServers`.
[mcp_servers.claude-context]
command = "npx"
args = ["@zilliz/claude-context-mcp@latest"]
env = { "OPENAI_API_KEY" = "your-openai-api-key", "MILVUS_TOKEN" = "your-zilliz-cloud-api-key" }
# Optional: override the default 10s startup timeout
startup_timeout_ms = 20000
- 保存文件并重启 Codex CLI,以应用更改。
Gemini CLI
Gemini CLI 需要通过 JSON 文件手动配置:
- 创建或编辑
~/.gemini/settings.json文件。 - 添加以下配置:
{
"mcpServers": {
"claude-context": {
"command": "npx",
"args": ["@zilliz/claude-context-mcp@latest"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key",
"MILVUS_TOKEN": "your-zilliz-cloud-api-key"
}
}
}
}
- 保存文件并重启 Gemini CLI,以应用更改。
Qwen Code
创建或编辑 ~/.qwen/settings.json 文件,并添加以下配置:
{
"mcpServers": {
"claude-context": {
"command": "npx",
"args": ["@zilliz/claude-context-mcp@latest"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key",
"MILVUS_ADDRESS": "your-zilliz-cloud-public-endpoint",
"MILVUS_TOKEN": "your-zilliz-cloud-api-key"
}
}
}
}
Cursor
前往:Settings -> Cursor Settings -> MCP -> Add new global MCP server
建议将以下配置粘贴到 Cursor 的 ~/.cursor/mcp.json 文件中。你也可以在项目文件夹中创建 .cursor/mcp.json,为特定项目安装。更多信息请参阅 Cursor MCP 文档。
{
"mcpServers": {
"claude-context": {
"command": "npx",
"args": ["-y", "@zilliz/claude-context-mcp@latest"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key",
"MILVUS_ADDRESS": "your-zilliz-cloud-public-endpoint",
"MILVUS_TOKEN": "your-zilliz-cloud-api-key"
}
}
}
}
Void
前往:Settings -> MCP -> Add MCP Server
将以下配置添加到 Void 的 MCP 设置中:
{
"mcpServers": {
"code-context": {
"command": "npx",
"args": ["-y", "@zilliz/claude-context-mcp@latest"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key",
"MILVUS_ADDRESS": "your-zilliz-cloud-public-endpoint",
"MILVUS_TOKEN": "your-zilliz-cloud-api-key"
}
}
}
}
Claude Desktop
将以下内容添加到 Claude Desktop 配置中:
{
"mcpServers": {
"claude-context": {
"command": "npx",
"args": ["@zilliz/claude-context-mcp@latest"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key",
"MILVUS_ADDRESS": "your-zilliz-cloud-public-endpoint",
"MILVUS_TOKEN": "your-zilliz-cloud-api-key"
}
}
}
}
Windsurf
Windsurf 支持通过 JSON 文件配置 MCP。将以下配置添加到 Windsurf 的 MCP 设置中:
{
"mcpServers": {
"claude-context": {
"command": "npx",
"args": ["-y", "@zilliz/claude-context-mcp@latest"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key",
"MILVUS_ADDRESS": "your-zilliz-cloud-public-endpoint",
"MILVUS_TOKEN": "your-zilliz-cloud-api-key"
}
}
}
}
VS Code
Claude Context MCP 服务可通过兼容 MCP 的扩展在 VS Code 中使用。将以下配置添加到 VS Code 的 MCP 设置中:
{
"mcpServers": {
"claude-context": {
"command": "npx",
"args": ["-y", "@zilliz/claude-context-mcp@latest"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key",
"MILVUS_ADDRESS": "your-zilliz-cloud-public-endpoint",
"MILVUS_TOKEN": "your-zilliz-cloud-api-key"
}
}
}
}
Cherry Studio
Cherry Studio 支持通过设置界面以可视化方式配置 MCP 服务。虽然它不直接支持手动配置 JSON,但你可以通过图形界面添加新服务:
- 前往 Settings → MCP Servers → Add Server。
- 填写服务详细信息:
- Name:
claude-context - Type:
STDIO - Command:
npx - Arguments:
["-y", "@zilliz/claude-context-mcp@latest"] - Environment Variables:
OPENAI_API_KEY:your-openai-api-keyMILVUS_ADDRESS:your-zilliz-cloud-public-endpointMILVUS_TOKEN:your-zilliz-cloud-api-key
- Name:
- 保存配置以启用服务。
Cline
Cline 使用 JSON 配置文件管理 MCP 服务。要集成提供的 MCP 服务配置:
-
打开 Cline,点击顶部导航栏中的 MCP Servers 图标。
-
选择 Installed 标签页,然后点击 Advanced MCP Settings。
-
在
cline_mcp_settings.json文件中添加以下配置:
{
"mcpServers": {
"claude-context": {
"command": "npx",
"args": ["@zilliz/claude-context-mcp@latest"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key",
"MILVUS_ADDRESS": "your-zilliz-cloud-public-endpoint",
"MILVUS_TOKEN": "your-zilliz-cloud-api-key"
}
}
}
}
- 保存文件。
Augment
在 Augment Code 中配置 Claude Context MCP 时,可以使用图形界面或手动配置。
A. 使用 Augment Code 界面
-
点击汉堡菜单。
-
选择 Settings。
-
前往 Tools 部分。
-
点击 + Add MCP 按钮。
-
输入以下命令:
npx @zilliz/claude-context-mcp@latest -
将 MCP 命名为:Claude Context。
-
点击 Add 按钮。
- 按下 Cmd/Ctrl Shift P,或前往 Augment 面板中的汉堡菜单
- 选择 Edit Settings
- 在 Advanced 下,点击 Edit in settings.json
- 将服务配置添加到
augment.advanced对象中的mcpServers数组
"augment.advanced": {
"mcpServers": [
{
"name": "claude-context",
"command": "npx",
"args": ["-y", "@zilliz/claude-context-mcp@latest"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key",
"MILVUS_ADDRESS": "your-zilliz-cloud-public-endpoint",
"MILVUS_TOKEN": "your-zilliz-cloud-api-key"
}
}
]
}
Roo Code
Roo Code 使用 JSON 配置文件配置 MCP 服务:
-
打开 Roo Code,并前往 Settings → MCP Servers → Edit Global Config。
-
在
mcp_settings.json文件中,添加以下配置:
{
"mcpServers": {
"claude-context": {
"command": "npx",
"args": ["@zilliz/claude-context-mcp@latest"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key",
"MILVUS_ADDRESS": "your-zilliz-cloud-public-endpoint",
"MILVUS_TOKEN": "your-zilliz-cloud-api-key"
}
}
}
}
- 保存文件以激活服务。
Zencoder
Zencoder 的 JetBrains 和 VS Code 插件版本均支持 MCP 工具和服务。
- 前往 Zencoder 菜单 (...)
- 在下拉菜单中选择
Tools - 点击
Add Custom MCP - 添加名称(即
Claude Context)和下方的服务配置,并确保点击Install按钮
{
"command": "npx",
"args": ["@zilliz/claude-context-mcp@latest"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key",
"MILVUS_ADDRESS": "your-zilliz-cloud-public-endpoint",
"MILVUS_TOKEN": "your-zilliz-cloud-api-key"
}
}
- 点击
Install按钮保存服务。
LangChain/LangGraph
LangChain/LangGraph 集成示例请参见此示例。
Other MCP Clients
该服务使用 stdio 传输并遵循标准 MCP 协议。运行以下命令即可将其集成到任何兼容 MCP 的客户端:
npx @zilliz/claude-context-mcp@latest
在代码库中使用
-
打开 Claude Code
cd your-project-directory claude -
为代码库建立索引:
Index this codebase -
检查索引状态:
Check the indexing status -
开始搜索:
Find functions that handle user authentication
🎉 就是这么简单! 现在,你可以在 Claude Code 中进行语义代码搜索了。
环境变量配置
如需了解更详细的 MCP 环境变量配置,请参阅我们的环境变量指南。
使用不同的嵌入模型
如需配置自定义嵌入模型(例如 OpenAI 的 text-embedding-3-large、VoyageAI 的 voyage-code-3),请参阅 MCP 配置示例,其中提供了各个服务提供商的详细设置说明。
文件包含与排除规则
如需详细了解文件包含与排除规则,以及如何自定义这些规则,请参阅我们的文件包含与排除规则。
可用工具
1. index_codebase
为代码库目录建立索引,以便进行混合搜索(BM25 + 稠密向量)。
2. search_code
使用自然语言查询,在已建立索引的代码库中进行混合搜索(BM25 + 稠密向量)。
3. clear_index
清除特定代码库的搜索索引。
4. get_indexing_status
获取代码库当前的索引状态。显示正在建立索引的代码库的进度百分比,以及已建立索引的代码库的完成状态。
📊 评估
我们的受控评估表明,在检索质量相当的情况下,Claude Context MCP 可减少约 40% 的 token 用量。这能在生产环境中显著节省成本和时间。这也意味着,在 token 上下文长度有限的情况下,使用 Claude Context 能获得更好的检索和回答结果。

如需了解详细的评估方法和结果,请参阅 evaluation 目录。
🏗️ 架构

🔧 实现细节
- 🔍 混合代码搜索:提出诸如 “查找处理用户身份验证的函数” 之类的问题,利用先进的混合搜索(BM25 + 密集向量)即时获取相关且上下文丰富的代码。
- 🧠 上下文感知:探索大型代码库,了解代码库不同部分之间的关联,即使代码量达数百万行也不例外。
- ⚡ 增量索引:使用 Merkle 树,仅对已更改的文件重新编制索引。
- 🧩 智能代码分块:通过抽象语法树(AST)分析代码并进行分块。
- 🗄️ 可扩展:集成 Zilliz Cloud,实现可扩展的向量搜索,无论代码库规模有多大。
- 🛠️ 可自定义:配置文件扩展名、忽略规则和嵌入模型。
核心组件
Claude Context 是一个包含三个主要软件包的 monorepo:
@zilliz/claude-context-core:核心索引引擎,集成嵌入功能和向量数据库- VSCode Extension:适用于 Visual Studio Code 的语义代码搜索扩展
@zilliz/claude-context-mcp:用于集成 AI Agent 的模型上下文协议服务
支持的技术
- 嵌入提供商:OpenAI、VoyageAI、Ollama、Gemini
- 向量数据库:Milvus 或 Zilliz Cloud(完全托管的向量数据库即服务)
- 代码分割器:基于 AST 的分割器(支持自动回退)、基于 LangChain 字符的分割器
- 语言:TypeScript、JavaScript、Python、Java、C++、C#、Go、Rust、PHP、Ruby、Swift、Kotlin、Scala、Markdown
- 开发工具:VSCode、模型上下文协议
📦 使用 Claude Context 的其他方式
虽然 MCP 是通过 AI 助手使用 Claude Context 的推荐方式,但你也可以直接使用它,或通过 VSCode 扩展使用。
使用核心软件包构建应用
@zilliz/claude-context-core 软件包提供代码索引和语义搜索的基础功能。
import { Context, MilvusVectorDatabase, OpenAIEmbedding } from '@zilliz/claude-context-core';
// Initialize embedding provider
const embedding = new OpenAIEmbedding({
apiKey: process.env.OPENAI_API_KEY || 'your-openai-api-key',
model: 'text-embedding-3-small'
});
// Initialize vector database
const vectorDatabase = new MilvusVectorDatabase({
address: process.env.MILVUS_ADDRESS || 'your-zilliz-cloud-public-endpoint',
token: process.env.MILVUS_TOKEN || 'your-zilliz-cloud-api-key'
});
// Create context instance
const context = new Context({
embedding,
vectorDatabase
});
// Index your codebase with progress tracking
const stats = await context.indexCodebase('./your-project', (progress) => {
console.log(`${progress.phase} - ${progress.percentage}%`);
});
console.log(`Indexed ${stats.indexedFiles} files, ${stats.totalChunks} chunks`);
// Perform semantic search
const results = await context.semanticSearch('./your-project', 'vector database operations', 5);
results.forEach(result => {
console.log(`File: ${result.relativePath}:${result.startLine}-${result.endLine}`);
console.log(`Score: ${(result.score * 100).toFixed(2)}%`);
console.log(`Content: ${result.content.substring(0, 100)}...`);
});
VSCode 扩展
将 Claude Context 直接集成到 IDE 中。提供直观的界面,用于语义代码搜索和导航。
- 直接链接:从 VS Code Marketplace 安装
- 手动搜索:
- 在 VSCode 中打开扩展视图(Ctrl+Shift+X,或 Mac 上的 Cmd+Shift+X)
- 搜索 "Semantic Code Search"
- 点击 Install
🛠️ 开发
设置开发环境
先决条件
- Node.js 20.x、22.x 或 24.x
- pnpm(推荐的软件包管理器)
跨平台设置
# Clone repository
git clone https://github.com/zilliztech/claude-context.git
cd claude-context
# Install dependencies
pnpm install
# Build all packages
pnpm build
# Start development mode
pnpm dev
Windows 专属设置
在 Windows 上,请确保已准备好:
- Git for Windows,并正确配置行尾符
- 通过官方安装程序或软件包管理器安装的 Node.js
- 全局安装的 pnpm:
npm install -g pnpm
# Windows PowerShell/Command Prompt
git clone https://github.com/zilliztech/claude-context.git
cd claude-context
# Configure git line endings (recommended)
git config core.autocrlf false
# Install dependencies
pnpm install
# Build all packages (uses cross-platform scripts)
pnpm build
# Start development mode
pnpm dev
构建
# Build all packages (cross-platform)
pnpm build
# Build specific package
pnpm build:core
pnpm build:vscode
pnpm build:mcp
# Performance benchmarking
pnpm benchmark
Windows 构建说明
- 所有构建脚本均使用 rimraf,兼容跨平台运行
- 已启用构建缓存,以加快后续构建
- 可使用 PowerShell 或命令提示符,两者效果相同
运行示例
# Development with file watching
cd examples/basic-usage
pnpm dev
📖 示例
查看 /examples 目录,了解完整的用法示例:
- 基本用法:简单的索引和搜索示例
❓ 常见问题
常见问题:
❓ 如需详细解答和更多故障排查技巧,请参阅我们的 常见问题指南。
🔧 遇到问题? 请参阅我们的故障排查指南,获取分步解决方案。
📚 需要更多帮助? 请查看我们的完整文档,了解详细指南和故障排查技巧。
🤝 贡献
欢迎贡献!请参阅我们的贡献指南,了解如何开始。
各软件包的贡献指南:
🗺️ 路线图
- 基于 AST 的代码分析,提升理解能力
- 支持更多嵌入提供商
- 基于 Agent 的交互式搜索模式
- 改进代码分块策略
- 搜索结果排序优化
- 稳健的 Chrome 扩展
📄 许可证
本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。
🔗 链接
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。