mcpField
C
Claude Context

Claude Context

本地服务
github.com/zilliztechAI 与智能体12.7k15 周前更新

关于 Claude Context

Claude Context 是一个 MCP 服务,为 Claude Code 等 AI 编码 Agent 增加语义代码搜索功能,使其能够基于整个代码库获取上下文。代码被存入向量数据库,只把相关代码片段放入上下文,以控制 token 成本。

主要功能

  1. 01语义代码搜索
  2. 02BM25 与稠密向量的混合检索
  3. 03基于 Merkle 树的增量索引
  4. 04基于 AST 的代码分块
  5. 05可配置文件扩展名、忽略规则与 Embedding 模型
  6. 06通过 Zilliz Cloud 存储向量数据

适用场景

  1. 01在大型代码库中按自然语言查找相关函数
  2. 02为编码 Agent 提供代码上下文,减少 token 用量
  3. 03在 Claude Code、Cursor、Gemini CLI 等客户端中进行代码检索

MCP 相关

该项目是以 stdio 传输运行的 MCP 服务,向 MCP 客户端提供 index_codebase、search_code、clear_index 和 get_indexing_status 四个工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"claude-context": {
"command": "npx",
"args": [
"-y",
"@zilliz/claude-context-mcp"
],
"env": {
"OPENAI_API_KEY": "<OPENAI_API_KEY>",
"MILVUS_TOKEN": "<MILVUS_TOKEN>"
}
}
}
}
启动命令npx -y @zilliz/claude-context-mcp
需要配置的环境变量
OPENAI_API_KEY密钥
MILVUS_TOKEN密钥

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@zilliz/claude-context-mcp

工具

4

收录的工具列表 · 更新于 3 周前

参数类型必填说明
pathstring是要建立索引的代码库目录的绝对路径。
forceboolean否即使已建立索引,也强制重新索引
splitterenum否要使用的代码分割器:'ast' 表示支持自动回退的语法感知分割,'langchain' 表示基于字符的分割ast | langchain
customExtensionsarray否可选:除默认值外要包含的其他文件扩展名(例如,['.vue', '.svelte', '.astro'])。扩展名应包含点前缀,否则会自动添加
ignorePatternsarray否可选:除默认值外要排除特定文件/目录的其他忽略模式。仅当用户明确要求自定义忽略模式时才包含此参数(例如,['static/**', '*.tmp', 'private/**'])

详细介绍

README 配图

🆕 正在为 Claude Code 寻找持久记忆? 试试 memsearch Claude Code plugin——一套以 Markdown 为先的记忆系统,让你的 AI Agent 能在不同会话间保留长期记忆。

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

License Node.js Documentation VS Code Marketplace npm - core npm - mcp Twitter DeepWiki Discord zilliztech/claude-context | Trendshift

Claude Context 是一个 MCP 插件,可为 Claude Code 和其他 AI 编码 Agent 添加语义代码搜索功能,让它们深入了解整个代码库。

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

💰 适用于大型代码库,经济高效:无需在每次请求时都将整个目录加载到 Claude 中(这会非常昂贵),Claude Context 会将代码库高效地存储在向量数据库中,只在上下文中使用相关代码,从而控制成本。


🚀 演示

img

Model Context Protocol(MCP)可让你将 Claude Context 集成到喜爱的 AI 编码助手中,例如 Claude Code。

快速开始

前提条件
在 Zilliz Cloud 上免费获取向量数据库 👈

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

README 配图

复制你的 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 配置文件:

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

  2. 添加以下配置:

# 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
  1. 保存文件并重启 Codex CLI,以应用更改。
Gemini CLI

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

  1. 创建或编辑 ~/.gemini/settings.json 文件。
  2. 添加以下配置:
{
  "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"
      }
    }
  }
}
  1. 保存文件并重启 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,但你可以通过图形界面添加新服务:

  1. 前往 Settings → MCP Servers → Add Server。
  2. 填写服务详细信息:
    • Name:claude-context
    • Type:STDIO
    • Command:npx
    • Arguments:["-y", "@zilliz/claude-context-mcp@latest"]
    • Environment Variables:
      • OPENAI_API_KEY:your-openai-api-key
      • MILVUS_ADDRESS:your-zilliz-cloud-public-endpoint
      • MILVUS_TOKEN:your-zilliz-cloud-api-key
  3. 保存配置以启用服务。
Cline

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

  1. 打开 Cline,点击顶部导航栏中的 MCP Servers 图标。

  2. 选择 Installed 标签页,然后点击 Advanced MCP Settings。

  3. 在 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"
      }
    }
  }
}
  1. 保存文件。
Augment

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

A. 使用 Augment Code 界面
  1. 点击汉堡菜单。

  2. 选择 Settings。

  3. 前往 Tools 部分。

  4. 点击 + Add MCP 按钮。

  5. 输入以下命令:

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

  7. 点击 Add 按钮。


#### **B. 手动配置**
  1. 按下 Cmd/Ctrl Shift P,或前往 Augment 面板中的汉堡菜单
  2. 选择 Edit Settings
  3. 在 Advanced 下,点击 Edit in 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": "your-openai-api-key",
        "MILVUS_ADDRESS": "your-zilliz-cloud-public-endpoint",
        "MILVUS_TOKEN": "your-zilliz-cloud-api-key"
      }
    }
  ]
}
Roo Code

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

  1. 打开 Roo Code,并前往 Settings → MCP Servers → Edit Global Config。

  2. 在 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"
      }
    }
  }
}
  1. 保存文件以激活服务。
Zencoder

Zencoder 的 JetBrains 和 VS Code 插件版本均支持 MCP 工具和服务。

  1. 前往 Zencoder 菜单 (...)
  2. 在下拉菜单中选择 Tools
  3. 点击 Add Custom MCP
  4. 添加名称(即 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"
    }
}

  1. 点击 Install 按钮保存服务。
LangChain/LangGraph

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

Other MCP Clients

该服务使用 stdio 传输并遵循标准 MCP 协议。运行以下命令即可将其集成到任何兼容 MCP 的客户端:

npx @zilliz/claude-context-mcp@latest

在代码库中使用
  1. 打开 Claude Code

    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% 的 token 用量。这能在生产环境中显著节省成本和时间。这也意味着,在 token 上下文长度有限的情况下,使用 Claude Context 能获得更好的检索和回答结果。

MCP 效率分析

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


🏗️ 架构

README 配图

🔧 实现细节
  • 🔍 混合代码搜索:提出诸如 “查找处理用户身份验证的函数” 之类的问题,利用先进的混合搜索(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 中。提供直观的界面,用于语义代码搜索和导航。

  1. 直接链接:从 VS Code Marketplace 安装
  2. 手动搜索:
    • 在 VSCode 中打开扩展视图(Ctrl+Shift+X,或 Mac 上的 Cmd+Shift+X)
    • 搜索 "Semantic Code Search"
    • 点击 Install

img

🛠️ 开发

设置开发环境
先决条件
  • 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 文件。


🔗 链接

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。