🚀 Claude Context
Claude Context 是一款 MCP 插件,它為 Claude Code 及其他 AI 編碼助手增添了語義代碼搜索功能,能讓這些工具從整個代碼庫中獲取深度上下文信息。
🧠 以整個代碼庫為上下文:Claude Context 藉助語義搜索,能夠從數百萬行代碼中找出所有相關代碼,無需進行多輪探索,直接將搜索結果納入 Claude 的上下文。
💰 大型代碼庫的經濟之選:相較於每次請求都將整個目錄加載到 Claude 中(這可能成本高昂),Claude Context 能高效地將代碼庫存儲在向量數據庫中,僅在上下文中使用相關代碼,從而有效控制成本。
🚀 快速開始
前提條件
在 Zilliz Cloud 上獲取免費向量數據庫 👈
Claude Context 需要一個向量數據庫。你可以在 Zilliz Cloud 上註冊,以獲取 API 密鑰。
複製你的個人密鑰,在配置示例中替換 your-zilliz-cloud-api-key。
獲取 OpenAI 嵌入模型的 API 密鑰
你需要一個 OpenAI API 密鑰來使用嵌入模型。你可以在 OpenAI 上註冊獲取。
你的 API 密鑰格式通常以 sk- 開頭。
複製你的密鑰,並在以下配置示例中使用它替換 your-openai-api-key。
為 Claude Code 配置 MCP
系統要求:
- Node.js >= 20.0.0 且 < 24.0.0
Claude Context 與 Node.js 24.0.0 不兼容,如果你的 Node 版本大於或等於 24,需要先進行降級。
配置
使用命令行界面添加 Claude Context MCP 服務器:
claude mcp add claude-context \
-e OPENAI_API_KEY=sk-your-openai-api-key \
-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 文件。
- 添加以下配置:
[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" }
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
點擊鏈接:安裝 MCP
前往:設置 -> Cursor 設置 -> MCP -> 添加新的全局 MCP 服務器
建議將以下配置粘貼到你的 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
前往:設置 -> MCP -> 添加 MCP 服務器
在你的 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 配置,但你可以通過圖形用戶界面添加新服務器:
- 導航到 設置 → MCP 服務器 → 添加服務器。
- 填寫服務器詳細信息:
- 名稱:
claude-context
- 類型:
STDIO
- 命令:
npx
- 參數:
["@zilliz/claude-context-mcp@latest"]
- 環境變量:
OPENAI_API_KEY:your-openai-api-key
MILVUS_ADDRESS:your-zilliz-cloud-public-endpoint
MILVUS_TOKEN:your-zilliz-cloud-api-key
- 保存配置以激活服務器。
Cline
Cline 使用 JSON 配置文件來管理 MCP 服務器。要集成提供的 MCP 服務器配置:
- 打開 Cline,點擊頂部導航欄中的 MCP 服務器 圖標。
- 選擇 已安裝 標籤,然後點擊 高級 MCP 設置。
- 在
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 用戶界面
- 點擊漢堡菜單。
- 選擇 設置。
- 導航到 工具 部分。
- 點擊 + 添加 MCP 按鈕。
- 輸入以下命令:
npx @zilliz/claude-context-mcp@latest
- 將 MCP 命名為:Claude Context。
- 點擊 添加 按鈕。
B. 手動配置
- 按下 Cmd/Ctrl + Shift + P 或在 Augment 面板中點擊漢堡菜單。
- 選擇編輯設置。
- 在高級設置下,點擊在 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,導航到 設置 → MCP 服務器 → 編輯全局配置。
- 在
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 菜單 (...)
- 從下拉菜單中選擇
工具
- 點擊
添加自定義 MCP
- 添加名稱(例如
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"
}
}
- 點擊
安裝 按鈕保存服務器配置。
LangChain/LangGraph
有關 LangChain/LangGraph 集成示例,請參閱 此示例。
其他 MCP 客戶端
該服務器使用標準輸入輸出傳輸,並遵循標準 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% 的令牌減少。這意味著在生產環境中,能夠顯著節省成本和時間。這也意味著,在有限的令牌上下文長度約束下,使用 Claude Context 可獲得更好的檢索和回答結果。
有關詳細的評估方法和結果,請參閱 評估目錄。
🏗️ 架構
🔧 實現細節
- 🔍 混合代碼搜索:提出諸如 "查找處理用戶認證的函數" 之類的問題,藉助先進的混合搜索(BM25 + 密集向量),立即獲取相關且上下文豐富的代碼。
- 🧠 上下文感知:深入探索大型代碼庫,理解代碼庫不同部分之間的關係,即使代碼量達到數百萬行也不在話下。
- ⚡ 增量索引:利用 Merkle 樹高效地僅對更改的文件重新建立索引。
- 🧩 智能代碼分塊:通過抽象語法樹(AST)分析對代碼進行分塊。
- 🗄️ 可擴展性:與 Zilliz Cloud 集成,實現可擴展的向量搜索,無論代碼庫規模多大都能應對。
- 🛠️ 可定製性:配置文件擴展名、忽略模式和嵌入模型。
核心組件
Claude Context 是一個包含三個主要包的單倉庫項目:
@zilliz/claude-context-core:核心索引引擎,集成了嵌入和向量數據庫功能。
- VSCode 擴展:為 Visual Studio Code 提供語義代碼搜索擴展。
@zilliz/claude-context-mcp:用於 AI 代理集成的模型上下文協議服務器。
支持的技術
- 嵌入提供商: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 是將 Claude Context 與 AI 助手結合使用的推薦方式,但你也可以直接使用它,或通過 VSCode 擴展來使用。
使用核心包構建應用程序
@zilliz/claude-context-core 包提供了代碼索引和語義搜索的基本功能。
import { Context, MilvusVectorDatabase, OpenAIEmbedding } from '@zilliz/claude-context-core';
const embedding = new OpenAIEmbedding({
apiKey: process.env.OPENAI_API_KEY || 'your-openai-api-key',
model: 'text-embedding-3-small'
});
const vectorDatabase = new MilvusVectorDatabase({
address: process.env.MILVUS_ADDRESS || 'your-zilliz-cloud-public-endpoint',
token: process.env.MILVUS_TOKEN || 'your-zilliz-cloud-api-key'
});
const context = new Context({
embedding,
vectorDatabase
});
const stats = await context.indexCodebase('./your-project', (progress) => {
console.log(`${progress.phase} - ${progress.percentage}%`);
});
console.log(`Indexed ${stats.indexedFiles} files, ${stats.totalChunks} chunks`);
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 市場安裝
- 手動搜索:
- 在 VSCode 中打開擴展視圖(Ctrl+Shift+X 或 Mac 上的 Cmd+Shift+X)
- 搜索 "Semantic Code Search"
- 點擊安裝

🛠️ 開發
設置開發環境
前提條件
- Node.js 20.x 或 22.x
- pnpm(推薦的包管理器)
跨平臺設置
git clone https://github.com/zilliztech/claude-context.git
cd claude-context
pnpm install
pnpm build
pnpm dev
Windows 特定設置
在 Windows 上,請確保你具備以下條件:
- 適用於 Windows 的 Git,並進行了正確的換行符配置
- 通過官方安裝程序或包管理器安裝的 Node.js
- 全局安裝的 pnpm:
npm install -g pnpm
git clone https://github.com/zilliztech/claude-context.git
cd claude-context
git config core.autocrlf false
pnpm install
pnpm build
pnpm dev
構建
pnpm build
pnpm build:core
pnpm build:vscode
pnpm build:mcp
pnpm benchmark
Windows 構建注意事項
- 所有構建腳本都使用 rimraf 實現了跨平臺兼容
- 啟用了構建緩存,以加快後續構建速度
- 可以使用 PowerShell 或命令提示符,兩者效果相同
運行示例
cd examples/basic-usage
pnpm dev
📖 示例
查看 /examples 目錄,獲取完整的使用示例:
❓ 常見問題解答
常見問題:
- Claude Context 如何決定嵌入哪些文件?
- 我可以使用完全本地部署的設置嗎?
- 它支持多個項目/代碼庫嗎?
- Claude Context 與其他編碼工具相比如何?
❓ 如需詳細答案和更多故障排除提示,請參閱我們的 常見問題解答指南。
🔧 遇到問題了嗎? 訪問我們的 故障排除指南,獲取分步解決方案。
📚 需要更多幫助? 查看我們的 完整文檔,獲取詳細指南和故障排除提示。
🤝 貢獻
我們歡迎貢獻!請參閱我們的 貢獻指南,瞭解如何開始貢獻。
特定包的貢獻指南:
- 核心包貢獻
- MCP 服務器貢獻
- VSCode 擴展貢獻
🗺️ 路線圖
- [x] 基於 AST 的代碼分析,以提高理解能力
- [x] 支持更多嵌入提供商
- [ ] 基於代理的交互式搜索模式
- [x] 增強代碼分塊策略
- [ ] 搜索結果排名優化
- [ ] 強大的 Chrome 擴展
📄 許可證
本項目採用 MIT 許可證 - 有關詳細信息,請參閱 LICENSE 文件。
🔗 鏈接