使用说明
你的整个代码库都是Claude的上下文
克劳德上下文 是一个MCP插件,它为Claude code和其他AI编码代理添加了语义代码搜索,为它们提供了整个代码库的深层上下文。
🧠 您的整个代码库作为上下文:Claude Context使用语义搜索从数百万行中查找所有相关代码。不需要多轮发现。它将结果直接带入克劳德的背景中。
💰 大型代码库的成本效益:与每次请求都将整个目录加载到Claude中(这可能非常昂贵)不同,Claude Context有效地将您的代码库本地存储在向量数据库中,并且只在上下文中使用相关代码来控制成本。
🏠 LanceDB的本地优先:默认情况下,Claude Context使用LanceDB进行本地嵌入式矢量存储,不需要外部服务。快速设置,数据保留在您的机器上。
🚀 演示
模型上下文协议(MCP)允许您将Claude Context与您最喜欢的AI编码助手集成,例如Claude Code。
🚀 快速开始
30秒内完成设置 -只有一个命令!
步骤1:获取OpenAI API密钥
从获取免费的API密钥 开放人工智能 (开始于 sk-)
步骤2:添加到克劳德代码
claude mcp add claude-context -e OPENAI_API_KEY=your-openai-api-key -- npx @dexus1985/claude-context-mcp@latest
就是这样! 🎉 Claude Context将:
- ✅ 自动安装,无需设置
- ✅ 使用LanceDB在本地存储所有内容(不需要云服务)
- ✅ 使用任何大小的代码库
- ✅ 启用混合矢量+文本搜索以获得更好的结果
第三步:开始使用
- 在项目目录中打开Claude Code
- 让Claude“索引这个代码库”
- 然后问“查找身份验证逻辑”或“显示数据库连接代码”等问题
📁 多项目支持
Claude Context通过为每个代码库创建独立的集合来自动处理多个项目:
- 每个项目都会根据项目的绝对路径获得自己的集合
- 项目彼此完全隔离
- 通过在不同目录中打开Claude Code在项目之间切换
- 所有数据都存储在本地
~/.claude-context/lancedb/
系统要求:
- Node.js>=20.0.0(Claude Context在本地工作-不需要外部服务!)
请参阅 克劳德代码MCP文档 了解更多详情。
其他MCP客户端配置
任何MCP客户端的简单设置-只需添加您的OpenAI API密钥!
Gemini CLI
创建或编辑 ~/.gemini/settings.json 文件:
{
"mcpServers": {
"claude-context": {
"command": "npx",
"args": ["@dexus1985/claude-context-mcp@latest"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key"
}
}
}
}
Qwen Code
创建或编辑 ~/.qwen/settings.json 文件:
{
"mcpServers": {
"claude-context": {
"command": "npx",
"args": ["@dexus1985/claude-context-mcp@latest"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key"
}
}
}
}
Cursor
首选 Settings -> Cursor Settings -> MCP -> Add new global MCP server
将此添加到光标 ~/.cursor/mcp.json 文件:
{
"mcpServers": {
"claude-context": {
"command": "npx",
"args": ["-y", "@dexus1985/claude-context-mcp@latest"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key"
}
}
}
}
Void
首选 Settings -> MCP -> Add MCP Server
将以下配置添加到Void MCP设置中:
{
"mcpServers": {
"code-context": {
"command": "npx",
"args": ["-y", "@dexus1985/claude-context-mcp@latest"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key",
}
}
}
}
Claude Desktop
添加到您的Claude Desktop配置中:
{
"mcpServers": {
"claude-context": {
"command": "npx",
"args": ["@dexus1985/claude-context-mcp@latest"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key",
}
}
}
}
Windsurf
Windsurf支持通过JSON文件进行MCP配置。将以下配置添加到Windsurf MCP设置中:
{
"mcpServers": {
"claude-context": {
"command": "npx",
"args": ["-y", "@dexus1985/claude-context-mcp@latest"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key",
}
}
}
}
VS Code
Claude Context MCP服务器直接与Claude Code和其他MCP兼容客户端集成:
{
"mcpServers": {
"claude-context": {
"command": "npx",
"args": ["-y", "@dexus1985/claude-context-mcp@latest"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key",
}
}
}
}
Cherry Studio
Cherry Studio允许通过其设置界面进行可视化MCP服务器配置。虽然它不直接支持手动JSON配置,但您可以通过GUI添加新服务器:
- 导航至 设置→ MCP服务器→ 添加服务器.
- 填写服务器详细信息:
- 名字:
claude-context - 类型:
STDIO - 命令:
npx - 参数:
["@dexus1985/claude-context-mcp@latest"] - 环境变量:
OPENAI_API_KEY:your-openai-api-keyMILVUS_ADDRESS:milvus-cloud-public-endpointMILVUS_TOKEN:milvus-cloud-api-key
- 名字:
- 保存配置以激活服务器。
Cline
Cline使用JSON配置文件来管理MCP服务器。要集成提供的MCP服务器配置:
-
打开Cline并单击 MCP服务器 顶部导航栏中的图标。
-
选择 已安装 选项卡,然后单击 高级MCP设置.
-
在
cline_mcp_settings.json文件,添加以下配置:
{
"mcpServers": {
"claude-context": {
"command": "npx",
"args": ["@dexus1985/claude-context-mcp@latest"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key",
}
}
}
}
- 保存文件。
Augment
要在增强代码中配置Claude Context MCP,您可以使用图形界面或手动配置。
A.使用增强代码UI
-
点击汉堡菜单。
-
选择 设置.
-
导航到 工具 部分。
-
点击 +添加MCP 按钮。
-
输入以下命令:
npx @dexus1985/claude-context-mcp@latest -
命名MCP: 克劳德上下文.
-
点击 添加 按钮。
B.手动配置
- 按Cmd/Ctrl Shift P或转到增强面板中的汉堡包菜单
- 选择编辑设置
- 在“高级”下,单击settings.json中的“编辑”
- 将服务器配置添加到
mcpServers数组中augment.advanced对象
"augment.advanced": {
"mcpServers": [
{
"name": "claude-context",
"command": "npx",
"args": ["-y", "@dexus1985/claude-context-mcp@latest"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key",
}
}
]
}
Roo Code
Roo Code为MCP服务器使用JSON配置文件:
-
打开Roo Code并导航到 设置→ MCP服务器→ 编辑全局配置.
-
在
mcp_settings.json文件,添加以下配置:
{
"mcpServers": {
"claude-context": {
"command": "npx",
"args": ["@dexus1985/claude-context-mcp@latest"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key",
}
}
}
}
- 保存文件以激活服务器。
Other MCP Clients
服务器使用stdio传输并遵循标准MCP协议。通过运行以下命令,它可以与任何兼容MCP的客户端集成:
npx @dexus1985/claude-context-mcp@latest
有关MCP环境变量配置的更多详细信息,请参阅我们的 环境变量指南.
📚 需要更多帮助? 查看我们的 完整的文件 获取详细指南和故障排除提示。
🏗️ 建筑
🔧 主要特点
- 🔍 混合搜索:结合向量相似性和全文搜索的高级混合搜索,使用RRF(往复式排名融合)获得更好的结果
- 🤖 基于代理的交互式搜索:人工智能驱动的搜索优化,参与多轮对话,以了解您的意图并提供精确相关的结果
- 📊 智能结果排名:基于语义相关性、代码上下文和查询模式优化搜索结果的智能排名算法
- 🏠 100%本地:所有内容都使用LanceDB在本地运行-您的代码永远不会离开您的机器
- ⚡ 快速和增量:仅处理已更改文件的智能索引
- 🧩 AST供电:使用抽象语法树进行智能代码分块,以获得更好的上下文
- 🗄️ 无限可能:在本地处理任何大小的代码库
- 🛠️ 零配置:开箱即用-只需添加您的OpenAI API密钥
核心组件
Claude Context是一个包含三个主要包的monorepo:
@dexus1985/claude-context-core:具有嵌入和矢量数据库集成的核心索引引擎@dexus1985/claude-context-mcp:用于AI代理集成的模型上下文协议服务器
支持的技术
- 矢量数据库: LanceDB (本地、嵌入式、零配置)
- 嵌入: 开放人工智能 text-embedding-3-small(其他供应商可用:VoyageAI、Ollama、Gemini)
- 代码分析:基于AST的智能组块,支持LangChain回退
- 语言:TypeScript、JavaScript、Python、Java、C++、C#、Go、Rust、PHP、Ruby、Swift、Kotlin、Scala、Markdown
- AI客户端:Claude Code、Cursor、Windsurf、Gemini CLI和所有兼容MCP的客户端
🔧 Advanced: Optional Cloud Vector Database
对于企业团队或高级用例,您可以通过设置环境变量来配置Milvus/Zilliz Cloud:
claude mcp add claude-context -e OPENAI_API_KEY=your-key -e VECTOR_DB_TYPE=milvus -e MILVUS_TOKEN=your-token -- npx @dexus1985/claude-context-mcp@latest
📦 使用克劳德语境的其他方法
MCP服务器是将Claude Context与Claude Code等AI助手一起使用的主要方式。
使用核心包构建应用程序
这 @dexus1985/claude-context-core 该包为代码索引和语义搜索提供了基本功能。
import { Context, LanceDBVectorDatabase, OpenAIEmbedding } from '@dexus1985/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 (LanceDB - local, no setup required)
const vectorDatabase = new LanceDBVectorDatabase({
uri: './.claude-context/lancedb' // Local storage path
});
// 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)}...`);
});
🛠️ 发展
设置开发环境
# Clone repository
git clone https://github.com/danielbowne/claude-context.git
cd claude-context
# Install dependencies
pnpm install
# Build all packages
pnpm build
# Start development mode
pnpm dev
建筑
# Build all packages
pnpm build
# Build specific package
pnpm build:core
pnpm build:vscode
pnpm build:mcp
运行示例
# Development with file watching
cd examples/basic-usage
pnpm dev
支持的文件扩展名
默认情况下,Claude Context支持:
- 编程语言:
.ts,.tsx,.js,.jsx,.py,.java,.cpp,.c,.h,.hpp,.cs,.go,.rs,.php,.rb,.swift,.kt,.scala,.m,.mm - 文档:
.md,.markdown,.ipynb
忽略模式
常见目录和文件会自动忽略:
- 构建输出:
node_modules/**,dist/**,build/**,out/**,target/**,coverage/**,.nyc_output/** - 版本控制:
.git/**,.svn/**,.hg/** - IDE/编辑器文件:
.vscode/**,.idea/**,*.swp,*.swo - 缓存目录:
.cache/**,__pycache__/**,.pytest_cache/** - 日志和临时:
logs/**,tmp/**,temp/**,*.log - 环境文件:
.env,.env.*,*.local - 压缩/捆绑文件:
*.min.js,*.min.css,*.bundle.js,*.bundle.css,*.chunk.js,*.map
看 常见问题解答指南 有关支持的文件扩展名和忽略模式的详细和自定义配置。
📖 例子
检查 /examples 完整使用示例目录:
- 基本用法:简单的索引和搜索示例
❓ 常见问题解答
常见问题:
有关详细答案和更多故障排除提示,请参阅我们的 常见问题解答指南.
🤝 贡献
我们欢迎捐款!请查看我们的 贡献指南 了解如何开始的详细信息。
特定于软件包的贡献指南:
🗺️ 路线图
- [x] 基于AST的代码分析,以提高理解
- [x] 支持其他嵌入提供程序
- [x] 基于代理的交互式搜索模式
- [x] 增强的代码分块策略
- [x] 搜索结果排名优化
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🔗 链接
🙏 谢谢
特别感谢 张 和那个 Zilliz团队 用于创建原始的Claude Context项目。此分支建立在LanceDB提供本地第一矢量数据库体验的良好基础之上。
