命令行工具 活跃维护

claude-context

zilliztech/claude-context

为 Claude Code 搜索代码 MCP。将整个代码库作为任何编码代理的上下文。

12600
Stars 标星
943
Forks 分支
57
Watchers 关注
147
Open Issues
TypeScript
主要语言
MIT
开源协议
7.6 MB
仓库大小
2 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:zilliztech/claude-context
git clone https://github.com/zilliztech/claude-context.git
git clone git@github.com:zilliztech/claude-context.git
README.md master

机器翻译正文由机器翻译自项目原始文档(英文),排版经程序统一处理,可能存在偏差,请以原项目仓库为准。

🆕 在找适用于 Claude Code 的持久记忆吗? 查看 memsearch Claude Code 插件 — 一个以 Markdown 为核心的记忆系统,让您的 AI 代理在多个会话中拥有长期记忆。

将您的整个代码库作为 Claude 的上下文

    <a href="https://discord.gg/mKc3R95yE5"></a> <a href="https://trendshift.io/repositories/15064"></a>

Claude Context 是一个 MCP 插件,为 Claude Code 和其他 AI 编程代理添加语义代码搜索,提供来自整个代码库的深度上下文。

🧠 将整个代码库作为上下文:Claude Context 使用语义搜索从数百万行代码中找到所有相关代码。无需多轮发现。它直接将结果带入 Claude 的上下文。

💰 大代码库的成本效益:与每次请求将整个目录加载到 Claude 中可能非常昂贵相比,Claude Context 高效地将您的代码库存储在向量数据库中,并仅在上下文中使用相关代码,以保持成本可控。


🚀 演示

模型上下文协议(MCP)允许您将 Claude 上下文与您喜欢的 AI 编码助手集成,例如 Claude Code。

快速开始

先决条件

在 Zilliz Cloud 上获取免费的向量数据库 👈

Claude Context 需要一个向量数据库。您可以在 Zilliz Cloud 上注册以获取 API 密钥。

复制您的个人密钥以替换 配置示例中的 your-zilliz-cloud-api-key 。

获取用于嵌入模型的 OpenAI API 密钥

您需要一个用于嵌入模型的 OpenAI API 密钥。您可以通过在 OpenAI 注册来获取。

您的 API 密钥将如下所示:它总是以 sk- 开头。 将您的密钥复制并在下面的配置示例中用作 your-openai-api-key 。

Configure MCP for Claude Code

系统要求:

  • 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 命令行界面

Codex CLI 使用 TOML 配置文件:

  1. 创建或编辑 ~/.codex/config.toml 文件。

  2. 添加以下配置:

# 重要提示:顶级键是  `mcp_servers` ,而不是  `mcpServers` 。
[mcp_servers.claude-上下文]
command = "npx"
args = ["@zilliz/claude-context-mcp@latest"]
env = { "OPENAI_API_KEY" = "你的-openai-api-密钥", "MILVUS_TOKEN" = "你的-zilliz-云-api-密钥" }
# 可选:覆盖默认的 10 秒启动超时
startup_timeout_ms = 20000
  1. 保存文件并重启 Codex CLI 以应用更改。
双子 CLI

Gemini CLI 需要通过 JSON 文件手动配置:

  1. 创建或编辑 ~/.gemini/settings.json 文件。
  2. 添加以下配置:
{
  "mcpServers": {"
    "claude-context": {}
      "command": "npx",
      "args": ["@zilliz/claude-context-mcp@latest"],
      "env": {"}
        "OPENAI_API_KEY": "你的-openai-api-密钥",
        "MILVUS_TOKEN": "你的-zilliz-云-api-密钥"}
      }
    }
  }
}
  1. 保存文件并重启 Gemini CLI 以应用更改。
Qwen 代码

创建或编辑 ~/.qwen/settings.json 文件并添加以下配置:

{
  "mcpServers": {"
    "claude-context": {}
      "command": "npx",
      "args": ["@zilliz/claude-context-mcp@latest"],
      "env": {"}
        "OPENAI_API_KEY": "你的-openai-api-密钥",
        "MILVUS_ADDRESS": "你的-zilliz-cloud-公共端点",
        "MILVUS_TOKEN": "你的-zilliz-cloud-api-密钥"}
      }
    }
  }
}
光标

转到: 设置 - > 光标设置 - > 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": "你的-openai-api-密钥",
        "MILVUS_ADDRESS": "你的-zilliz-cloud-公共端点",
        "MILVUS_TOKEN": "你的-zilliz-cloud-api-密钥"}
      }
    }
  }
}
空

转到: 设置 - > MCP - > 添加 MCP 服务器

将以下配置添加到您的 Void MCP 设置中:

{
  "mcpServers": {"
    "code-context": {"
      "command": "npx",
      "args": ["-y", "@zilliz/claude-context-mcp@latest"],
      "env": {"}
        "OPENAI_API_KEY": "你的-openai-api-密钥",
        "MILVUS_ADDRESS": "你的-zilliz-云-公共端点",
        "MILVUS_TOKEN": "你的-zilliz-云-api-密钥"}
      }
    }
  }
}
Claude 桌面版
将

添加到您的 Claude 桌面配置中:

{
  "mcpServers": {"
    "claude-context": {}
      "command": "npx",
      "args": ["@zilliz/claude-context-mcp@latest"],
      "env": {"}
        "OPENAI_API_KEY": "你的-openai-api-密钥",
        "MILVUS_ADDRESS": "你的-zilliz-cloud-公共端点",
        "MILVUS_TOKEN": "你的-zilliz-cloud-api-密钥"}
      }
    }
  }
}
风帆冲浪

Windsurf 通过 JSON 文件支持 MCP 配置。将以下配置添加到您的 Windsurf MCP 设置中:

{
  "mcpServers": {"
    "claude-context": {}
      "command": "npx",
      "args": ["-y", "@zilliz/claude-context-mcp@latest"],
      "env": {"}
        "OPENAI_API_KEY": "你的-openai-api-密钥",
        "MILVUS_ADDRESS": "你的-zilliz-cloud-公共端点",
        "MILVUS_TOKEN": "你的-zilliz-cloud-api-密钥"}
      }
    }
  }
}
VS 代码

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": "你的-openai-api-密钥",
        "MILVUS_ADDRESS": "你的-zilliz-cloud-公共端点",
        "MILVUS_TOKEN": "你的-zilliz-cloud-api-密钥"}
      }
    }
  }
}
樱桃工作室

Cherry Studio 通过其设置界面允许可视化的 MCP 服务器配置。虽然它不直接支持手动 JSON 配置,但您可以通过 GUI 添加一个新服务器:

  1. 导航到 设置 → MCP 服务器 → 添加服务器 。
  2. 填写服务器详细信息:
    • 名称 : claude-context
    • 类型: STDIO
    • 命令: npx
    • 参数 : ["-y", "@zilliz/claude-context-mcp@latest"]
    • 环境变量:
      • OPENAI_API_KEY:你的-openai-api-key
      • MILVUS_ADDRESS : 你的-zilliz-cloud-公共端点
      • MILVUS_TOKEN : 你的-zilliz-cloud-api-key
  3. 保存配置以激活服务器。
克莱恩

Cline 使用 JSON 配置文件来管理 MCP 服务器。要集成所提供的 MCP 服务器配置:

  1. 打开 Cline,然后点击顶部导航栏中的 MCP 服务器 图标。

  2. 选择已安装选项卡,然后点击高级MCP设置。

  3. 在 cline_mcp_settings.json 文件中,添加以下配置:

{
  "mcpServers": {"
    "claude-context": {}
      "command": "npx",
      "args": ["@zilliz/claude-context-mcp@latest"],
      "env": {"
        "OPENAI_API_KEY": "你的-openai-api-密钥",
        "MILVUS_ADDRESS": "your-zilliz-cloud-public-endpoint",
        "MILVUS_TOKEN": "你的-zilliz-云-api-密钥"
      }
    }
  }
}
  1. 保存文件。
增强

要在 Augment Code 中配置 Claude Context MCP,您可以使用图形界面或手动配置。

A. 使用增强代码用户界面

  1. 点击汉堡菜单。

  2. 选择 设置。

  3. 导航到工具部分。

  4. 点击 添加 MCP 按钮。

  5. 输入以下命令:

    npx @zilliz/claude-context-mcp@latest
  6. 给 MCP 命名:Claude Context。

  7. 点击 添加 按钮。


B. 手动配置

  1. 按 Cmd/Ctrl Shift P 或者在增强面板中点击汉堡菜单
  2. 选择编辑设置
  3. 在高级选项下,点击 settings.json 中的编辑
  4. 将服务器配置添加到 augment.advanced 对象中的 mcpServers 数组
"augment.advanced": {"
  "mcpServers": ["
    { 
      "name": "claude-context",
      "command": "npx",
      "args": ["-y", "@zilliz/claude-context-mcp@latest"],
      "env": {"
        "OPENAI_API_KEY": "你的-openai-api-密钥",
        "MILVUS_ADDRESS": "your-zilliz-cloud-public-endpoint",
        "MILVUS_TOKEN": "你的-zilliz-云-api-密钥"
      }
    }
  ]
}
Roo 代码

Roo Code 使用 JSON 配置文件用于 MCP 服务器:

  1. 打开 Roo Code 并导航到 设置 → MCP 服务器 → 编辑全局配置。

  2. 在 mcp_settings.json 文件中,添加以下配置:

{
  "mcpServers": {"
    "claude-context": {}
      "command": "npx",
      "args": ["@zilliz/claude-context-mcp@latest"],
      "env": {"
        "OPENAI_API_KEY": "你的-openai-api-密钥",
        "MILVUS_ADDRESS": "your-zilliz-cloud-public-endpoint",
        "MILVUS_TOKEN": "你的-zilliz-云-api-密钥"
      }
    }
  }
}
  1. 保存文件以激活服务器。
Zencoder

Zencoder 在其 JetBrains 和 VS Code 插件版本中都提供对 MCP 工具和服务器的支持。

  1. 转到 Zencoder 菜单 (...)
  2. 从下拉菜单中,选择 工具
  3. 点击 添加自定义 MCP
  4. 添加名称(即 Claude Context)和下面的服务器配置,并确保点击 安装 按钮
{
    "command": "npx",
    "args": ["@zilliz/claude-context-mcp@latest"],
    "env": {"
      "OPENAI_API_KEY": "你的-openai-api-密钥",
      "MILVUS_ADDRESS": "your-zilliz-cloud-public-endpoint",
      "MILVUS_TOKEN": "你的-zilliz-云-api-密钥"
    }
}
  1. 通过点击 安装 按钮保存服务器。
LangChain/LangGraph

有关 LangChain/LangGraph 集成示例,请参见 此示例。

其他MCP客户

服务器使用 stdio 传输,并遵循标准的 MCP 协议。它可以通过运行以下命令与任何兼容 MCP 的客户端集成:

npx @zilliz/claude-context-mcp@latest

在您的代码库中的使用

  1. 打开Claude代码

    cd your-project-directory
    claude
  2. 为您的代码库建立索引:

    Index this codebase
  3. 检查索引状态:

    Check the indexing status
  4. 开始搜索:

    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 能获得更好的检索和答案结果。

有关详细的评估方法和结果,请参见 evaluation 目录。


🏗️ 架构

🔧 实现详情

  • 🔍 混合代码搜索:提出类似“查找处理用户身份验证的函数”的问题,并使用先进的混合搜索(BM25 + 密集向量)即时获取相关且上下文丰富的代码。
  • 🧠 上下文感知:发现大型代码库,理解代码库中不同部分之间的关系,即使跨越数百万行代码。
  • ⚡ 增量索引:使用默克尔树高效地只重新索引已更改的文件。
  • 🧩 智能代码分块:在抽象语法树(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 上下文的其他方式

虽然 MCP 是使用 Claude Context 与 AI 助手的推荐方式,但你也可以直接使用它或通过 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 中。提供用于语义代码搜索和导航的直观界面。

  1. 直接链接:从 VS Code 市场安装
  2. 手动搜索:
    • 在 VSCode 中打开扩展视图(Windows 上按 Ctrl Shift X,Mac 上按 Cmd Shift X)
    • 搜索“语义代码搜索”
    • 点击安装

🛠️ 开发

搭建开发环境

先决条件

  • 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 上,确保您有:

  • 适用于 Windows 的 Git,配置了正确的行结束符
  • 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 的代码分析以提升理解
  • 支持更多嵌入提供商
  • 基于代理的交互式搜索模式
  • 增强的代码分块策略
  • 搜索结果排名优化
  • 强大的 Chrome 扩展程序

📄 许可证

本项目采用 MIT 许可证许可 - 详情请参阅 LICENSE 文件。


🔗 链接

本站来源与版权声明
  • 本文标题:claude-context - 为 Claude Code 搜索代码 MCP
  • 本文链接:https://www.cn121.com/cli/zilliztech-claude-context.html
  • 原项目:zilliztech/claude-context 版权归原作者 zilliztech 及贡献者所有
  • 收录信息:本站于 2026-10-11 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
  • 开源协议:收录时本项目采用 MIT(查看 LICENSE 原文),本站译文为其衍生内容;使用、修改、分发请以该仓库 LICENSE 原文为准。
  • 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 zilliztech/claude-context。
  • 翻译说明:本页正文为人工智能生成内容——由机器翻译对原项目 README 初译、经程序校验排版,可能存在错漏,请以原项目文档为准。
  • 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
  • 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。