claude-context

zilliztechMIT活跃维护

给 Claude Code 等编码 Agent 提供代码搜索能力的 MCP 服务,把整个代码库变成可检索的上下文,让 Agent 按需找到相关代码而不是靠猜。

Code search MCP for Claude Code. Make entire codebase the context for any coding agent.

暂无版本12,683star +8 / 7 天939fork同步于 2026-11-10 11:27 UTC

怎么上手

由 README 提炼,执行前请确认
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
硬件要求按 README 说明

README 未说明显存或 GPU 要求,只要求 Node.js >= 20.0.0;向量检索依赖 Milvus 或 Zilliz Cloud 云端服务。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

给 Claude Code 等 AI 编程助手加语义代码搜索的 MCP 插件,让整个代码库成为上下文

给 Claude Code 等编码 Agent 提供代码搜索能力的 MCP 服务,把整个代码库变成可检索的上下文,让 Agent 按需找到相关代码而不是靠猜。

核心能力

  • 用 BM25 加稠密向量的混合检索定位相关代码
  • 基于 AST 切分代码块,切分失败时自动回退
  • 用 Merkle 树做增量索引,只重建改动文件
  • 把代码库存入向量库,按需取用相关片段以控制成本
  • 提供索引、搜索、清空索引、查询索引状态四个 MCP 工具

容易踩的坑

需自备 OpenAI API Key 做 embedding,并准备 Milvus 或 Zilliz Cloud 的地址与 Token,缺一不可;Node.js 必须 20 以上;Codex CLI 配置的顶层键是 mcp_servers 而非 mcpServers,默认 10 秒启动超时可能需要调大。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

0 个版本

暂无 release 数据(可能没有发版,或尚未同步)。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    🆕 Looking for persistent memory for Claude Code? Check out memsearch Claude Code plugin — a markdown-first memory system that gives your AI agent long-term memory across sessions.

    Your entire codebase as Claude's context

    License Node.js Documentation VS Code Marketplace npm - core npm - mcp Twitter DeepWiki

    Claude Context is an MCP plugin that adds semantic code search to Claude Code and other AI coding agents, giving them deep context from your entire codebase.

    🧠 Your Entire Codebase as Context: Claude Context uses semantic search to find all relevant code from millions of lines. No multi-round discovery needed. It brings results straight into the Claude's context.

    💰 Cost-Effective for Large Codebases: Instead of loading entire directories into Claude for every request, which can be very expensive, Claude Context efficiently stores your codebase in a vector database and only uses related code in context to keep your costs manageable.


    🚀 Demo

    img

    Model Context Protocol (MCP) allows you to integrate Claude Context with your favorite AI coding assistants, e.g. Claude Code.

    Quick Start

    Prerequisites

    Claude Context needs a vector database. You can sign up on Zilliz Cloud to get an API key.

    Copy your Personal Key to replace your-zilliz-cloud-api-key in the configuration examples.

    You need an OpenAI API key for the embedding model. You can get one by signing up at OpenAI.

    Your API key will look like this: it always starts with sk-.
    Copy your key and use it in the configuration examples below as your-openai-api-key.

    Configure MCP for Claude Code

    System Requirements:

    • Node.js >= 20.0.0
    Configuration

    Use the command line interface to add the Claude Context MCP server:

    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
    

    See the Claude Code MCP documentation for more details about MCP server management.

    Other MCP Client Configurations

    Codex CLI uses TOML configuration files:

    1. Create or edit the ~/.codex/config.toml file.

    2. Add the following configuration:

    # 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. Save the file and restart Codex CLI to apply the changes.

    Gemini CLI requires manual configuration through a JSON file:

    1. Create or edit the ~/.gemini/settings.json file.
    2. Add the following configuration:
    {
      "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. Save the file and restart Gemini CLI to apply the changes.

    Create or edit the ~/.qwen/settings.json file and add the following configuration:

    {
      "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"
          }
        }
      }
    }
    

    Go to: Settings -> Cursor Settings -> MCP -> Add new global MCP server

    Pasting the following configuration into your Cursor ~/.cursor/mcp.json file is the recommended approach. You may also install in a specific project by creating .cursor/mcp.json in your project folder. See Cursor MCP docs for more info.

    {
      "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"
          }
        }
      }
    }
    

    Go to: Settings -> MCP -> Add MCP Server

    Add the following configuration to your Void MCP settings:

    {
      "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"
          }
        }
      }
    }
    

    Add to your Claude Desktop configuration:

    {
      "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 supports MCP configuration through a JSON file. Add the following configuration to your Windsurf MCP settings:

    {
      "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"
          }
        }
      }
    }
    

    The Claude Context MCP server can be used with VS Code through MCP-compatible extensions. Add the following configuration to your VS Code MCP settings:

    {
      "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 allows for visual MCP server configuration through its settings interface. While it doesn't directly support manual JSON configuration, you can add a new server via the GUI:

    1. Navigate to Settings → MCP Servers → Add Server.
    2. Fill in the server details:
      • 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. Save the configuration to activate the server.

    Cline uses a JSON configuration file to manage MCP servers. To integrate the provided MCP server configuration:

    1. Open Cline and click on the MCP Servers icon in the top navigation bar.

    2. Select the Installed tab, then click Advanced MCP Settings.

    3. In the cline_mcp_settings.json file, add the following configuration:

    {
      "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. Save the file.

    To configure Claude Context MCP in Augment Code, you can use either the graphical interface or manual configuration.

    A. Using the Augment Code UI
    1. Click the hamburger menu.

    2. Select Settings.

    3. Navigate to the Tools section.

    4. Click the + Add MCP button.

    5. Enter the following command:

      npx @zilliz/claude-context-mcp@latest
      
    6. Name the MCP: Claude Context.

    7. Click the Add button.


    B. Manual Configuration
    1. Press Cmd/Ctrl Shift P or go to the hamburger menu in the Augment panel
    2. Select Edit Settings
    3. Under Advanced, click Edit in settings.json
    4. Add the server configuration to the mcpServers array in the augment.advanced object
    "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 utilizes a JSON configuration file for MCP servers:

    1. Open Roo Code and navigate to Settings → MCP Servers → Edit Global Config.

    2. In the mcp_settings.json file, add the following configuration:

    {
      "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. Save the file to activate the server.

    Zencoder offers support for MCP tools and servers in both its JetBrains and VS Code plugin versions.

    1. Go to the Zencoder menu (...)
    2. From the dropdown menu, select Tools
    3. Click on the Add Custom MCP
    4. Add the name (i.e. Claude Context and server configuration from below, and make sure to hit the Install button
    {
        "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. Save the server by hitting the Install button.

    For LangChain/LangGraph integration examples, see this example.

    The server uses stdio transport and follows the standard MCP protocol. It can be integrated with any MCP-compatible client by running:

    npx @zilliz/claude-context-mcp@latest
    

    Usage in Your Codebase

    1. Open Claude Code

      cd your-project-directory
      claude
      
    2. Index your codebase:

      Index this codebase
      
    3. Check indexing status:

      Check the indexing status
      
    4. Start searching:

      Find functions that handle user authentication
      

    🎉 That's it! You now have semantic code search in Claude Code.


    Environment Variables Configuration

    For more detailed MCP environment variable configuration, see our Environment Variables Guide.

    Using Different Embedding Models

    To configure custom embedding models (e.g., text-embedding-3-large for OpenAI, voyage-code-3 for VoyageAI), see the MCP Configuration Examples for detailed setup instructions for each provider.

    File Inclusion & Exclusion Rules

    For detailed explanation of file inclusion and exclusion rules, and how to customize them, see our File Inclusion & Exclusion Rules.

    Available Tools

    1. index_codebase

    Index a codebase directory for hybrid search (BM25 + dense vector).

    2. search_code

    Search the indexed codebase using natural language queries with hybrid search (BM25 + dense vector).

    3. clear_index

    Clear the search index for a specific codebase.

    4. get_indexing_status

    Get the current indexing status of a codebase. Shows progress percentage for actively indexing codebases and completion status for indexed codebases.


    📊 Evaluation

    Our controlled evaluation demonstrates that Claude Context MCP achieves ~40% token reduction under the condition of equivalent retrieval quality. This translates to significant cost and time savings in production environments. This also means that, under the constraint of limited token context length, using Claude Context yields better retrieval and answer results.

    MCP Efficiency Analysis

    For detailed evaluation methodology and results, see the evaluation directory.


    🏗️ Architecture

    🔧 Implementation Details

    • 🔍 Hybrid Code Search: Ask questions like "find functions that handle user authentication" and get relevant, context-rich code instantly using advanced hybrid search (BM25 + dense vector).
    • 🧠 Context-Aware: Discover large codebase, understand how different parts of your codebase relate, even across millions of lines of code.
    • ⚡ Incremental Indexing: Efficiently re-index only changed files using Merkle trees.
    • 🧩 Intelligent Code Chunking: Analyze code in Abstract Syntax Trees (AST) for chunking.
    • 🗄️ Scalable: Integrates with Zilliz Cloud for scalable vector search, no matter how large your codebase is.
    • 🛠️ Customizable: Configure file extensions, ignore patterns, and embedding models.

    Core Components

    Claude Context is a monorepo containing three main packages:

    • @zilliz/claude-context-core: Core indexing engine with embedding and vector database integration
    • VSCode Extension: Semantic Code Search extension for Visual Studio Code
    • @zilliz/claude-context-mcp: Model Context Protocol server for AI agent integration

    Supported Technologies

    • Embedding Providers: OpenAI, VoyageAI, Ollama, Gemini
    • Vector Databases: Milvus or Zilliz Cloud(fully managed vector database as a service)
    • Code Splitters: AST-based splitter (with automatic fallback), LangChain character-based splitter
    • Languages: TypeScript, JavaScript, Python, Java, C++, C#, Go, Rust, PHP, Ruby, Swift, Kotlin, Scala, Markdown
    • Development Tools: VSCode, Model Context Protocol

    📦 Other Ways to Use Claude Context

    While MCP is the recommended way to use Claude Context with AI assistants, you can also use it directly or through the VSCode extension.

    Build Applications with Core Package

    The @zilliz/claude-context-core package provides the fundamental functionality for code indexing and semantic search.

    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 Extension

    Integrates Claude Context directly into your IDE. Provides an intuitive interface for semantic code search and navigation.

    1. Direct Link: Install from VS Code Marketplace
    2. Manual Search:
      • Open Extensions view in VSCode (Ctrl+Shift+X or Cmd+Shift+X on Mac)
      • Search for "Semantic Code Search"
      • Click Install

    img

    🛠️ Development

    Setup Development Environment

    Prerequisites
    • Node.js 20.x, 22.x, or 24.x
    • pnpm (recommended package manager)
    Cross-Platform Setup
    # 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-Specific Setup

    On Windows, ensure you have:

    • Git for Windows with proper line ending configuration
    • Node.js installed via the official installer or package manager
    • pnpm installed globally: 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
    

    Building

    # Build all packages (cross-platform)
    pnpm build
    
    # Build specific package
    pnpm build:core
    pnpm build:vscode
    pnpm build:mcp
    
    # Performance benchmarking
    pnpm benchmark
    
    Windows Build Notes
    • All build scripts are cross-platform compatible using rimraf
    • Build caching is enabled for faster subsequent builds
    • Use PowerShell or Command Prompt - both work equally well

    Running Examples

    # Development with file watching
    cd examples/basic-usage
    pnpm dev
    

    📖 Examples

    Check the /examples directory for complete usage examples:

    • Basic Usage: Simple indexing and search example

    ❓ FAQ

    Common Questions:

    ❓ For detailed answers and more troubleshooting tips, see our FAQ Guide.

    🔧 Encountering issues? Visit our Troubleshooting Guide for step-by-step solutions.

    📚 Need more help? Check out our complete documentation for detailed guides and troubleshooting tips.


    🤝 Contributing

    We welcome contributions! Please see our Contributing Guide for details on how to get started.

    Package-specific contributing guides:


    🗺️ Roadmap

    • AST-based code analysis for improved understanding
    • Support for additional embedding providers
    • Agent-based interactive search mode
    • Enhanced code chunking strategies
    • Search result ranking optimization
    • Robust Chrome Extension

    📄 License

    This project is licensed under the MIT License - see the LICENSE file for details.


    🔗 Links