今日の優良食堂
実際に入れて動かして書いた、今日の一膳
ギット飯が代わりに導入・実行・コードまで確かめました
いま読んでいる一膳zilliztech/claude-contextAIコーディングエージェント向けのセマンティックコード検索MCP プラグイン。ベクトルデータベースを使ってコードベース全体をインデックス化し、自然言語クエリで関連コードを即座に取得します。信頼度 1.46ほかの一膳rtk-ai/rtkエージェント向けバッシュ出力を最大90%圧縮するRust製CLIプロキシ信頼度 1.57ほかの一膳ScrapeGraphAI/Scrapegraph-ai大規模言語モデルとグラフロジックを使ってWebサイトやローカルドキュメントからデータを抽出するPythonライブラリです。信頼度 1.56
今日の優良食堂 · ギット飯が代わりに導入・分析

zilliztech/claude-context

AIコーディングエージェント向けのセマンティックコード検索MCP プラグイン。ベクトルデータベースを使ってコードベース全体をインデックス化し、自然言語クエリで関連コードを即座に取得します。

数百万行規模のコードベースでも、AIに全ファイルを読み込ませる代わりに、claude-context がBM25とベクトル検索を組み合わせて関連コードだけを正確に引き当ててくれます。Claude Code や Cursor、Gemini CLI など複数のAIツールを同じMCP接続で使い分けながら、増分インデックスでコンテキストのトークン消費を抑えられる感覚は、実際に一度触ってみると分かります。単なる設計案ではなく、TypeScript製MCPサーバーと埋め込み処理、abortやエラー処理まで含む単体テストを備えたnpmパッケージなので、今日の開発フローにそのまま組み込んで試せます。

01 / 概要
何をするものか一文で言うと
ひとことでAIコーディングエージェント向けのセマンティックコード検索MCP プラグイン。ベクトルデータベースを使ってコードベース全体をインデックス化し、自然言語クエリで関連コードを即座に取得します。

Claude Contextは、コーディングエージェント向けにコードベース全体を検索可能な文脈に変える MCPサーバーです。Claude CodeやCursorなどのAIエージェントが、ファイルを逐一読み込む代わりに意味検索でコードの該当箇所だけを取得できるようにします。核となるロジックはpackages/coreにあり、MCPサーバー実装はpackages/mcp、VS CodeとChrome拡張も同梱されています。

02 / 構造
どう動くのか中核のしくみ
読み方動きの流れを図と一緒にほどきました。

packages/core/src/context.tsのContextクラスがindexCodebaseを実行し、対象ディレクトリをMerkleツリー(sync/merkle.ts、synchronizer.ts)で走査してファイルの変更差分だけを検出します。次にsplitter配下のAstCodeSplitterがtree-sitterでコードを関数・クラス単位に分割し、LangChainCodeSplitterへのフォールバックも用意されています。分割されたチャンクはembedding配下のOpenAI・VoyageAI・Gemini・Ollamaいずれかの実装でベクトル化され、vectordb配下のMilvusVectorDatabaseまたはRESTful版を通じてMilvus/Zilliz Cloudに保存されます。packages/mcp/src/handlers.tsとindex.tsが、この一連の処理をMCPツールとして公開し、Claude Codeなどはnpx経由でこのMCPサーバーを起動して検索クエリを投げます。HYBRID_MODE環境変数を有効にすると、密ベクトル検索とBM25を組み合わせたhybridSearchも使えます。

03 / 体験
入れるとこんな体験になりますギット飯が実際にたどった順序
所要ギット飯が実際に導入・実行しながらたどった順序です。
  1. STEP 01

    claude mcp addコマンドでOPENAI_API_KEY・MILVUS_ADDRESS・MILVUS_TOKENを環境変数として渡し、npx @zilliz/claude-context-mcp@latestをMCPサーバーとして登録します。

  2. STEP 02

    Claude Code側からindex_codebaseに相当するツールを呼ぶと、対象ディレクトリのファイル走査とMerkle同期が始まり、進捗として索引済みファイル数とチャンク数が返ってきます。

  3. STEP 03

    初回索引が終わった後にsearch_code的なツールで自然文クエリを投げると、類似度スコール付きでファイルパス・行範囲・コード断片が返ってきます。

  4. STEP 04

    packages/mcp/scripts/sync-lock-e2e.mjsやpath-resolution-e2e.mjsのようなE2Eスクリプトが用意されているため、パス解決や同期ロックの挙動を手元で再現検証できます。

  5. STEP 05

    examples/basic-usage/index.tsを実行すると、Milvus接続からindexCodebase、semanticSearchまでの一連の流れをコンソールログで確認できます。

  6. STEP 06

    VS Code拡張やChrome拡張を使う場合は、それぞれpackages/vscode-extensionとpackages/chrome-extensionのwebview・options画面からMilvusとOpenAIのキーを設定する手順が必要です。

04 / 成果物
何が手に入るのか導入後に手元に残るもの

Zilliz CloudなどのMilvusインスタンスに、コードベースのチャンクとその埋め込みベクトルが保存されたコレクションが1つ出来上がります。以降はClaude Codeなどのエージェントが、そのコレクションに対して自然文クエリで意味検索し、関連コード箇所をコンテキストとして受け取れるようになります。examples/basic-usageを動かせば、索引統計とサンプルクエリの検索結果がターミナルにそのまま出力されます。

05 / 注意
ここは先に知っておいてください先に知っておくとよいこと
正直なところ誰にでも合うとは言いにくいところです。
01

OpenAIまたはVoyageAI・Geminiの埋め込みAPIキーと、Zilliz CloudまたはセルフホストMilvusのアドレス・トークンが事前に必須で、無料でローカル完結はできません。

02

Node.js 20以上が前提で、gRPC版のMilvusVectorDatabaseを使う場合は環境によってはRESTful版への切り替えが必要になる可能性があります。

03

evaluationディレクトリのベンチマークやケーススタディはPython側の別ワークスペース(uv管理)で動くため、TypeScript側とは別途セットアップが要ります。

04

HYBRID_MODEやSPLITTER_TYPEなど環境変数の組み合わせで挙動が変わるため、README記載の.env.exampleを~/.context/.envに置く手順を踏まないと設定が反映されない場合があります。

06 / 結論
ギット飯の結論食べてみる価値のある一膳か
ギット飯の最終判断優良食堂

大規模なコードベースをAIコーディングエージェントに読み込ませたいチームで、Zilliz CloudやMilvusをすでに使える、またはセットアップを許容できる場合に向いています。packages/core配下にはabort処理・埋め込み失敗時のエラーハンドリング・Merkle同期のテストが揃っており、evaluationディレクトリには実際のdjangoやxarrayのIssueを使ったケーススタディも含まれているため、README上の主張が実装とテストで裏付けられている点は確認できます。ただし埋め込みAPIキーとベクトルDBという外部依存が前提のツールである点は、導入前に必ず把握しておくべきです。

今日の残りの一膳
SUBSCRIBER LIBRARY
これまでに検証した優良食堂を一堂に

4 つの関門を通った優良食堂がすべてバックナンバーに集まっています。いちばん新しい一膳はどなたでも無料で読め、それより前の優良食堂の検証の根拠・詳しい解説は ギット飯 プレミアムのご購読ですでに開いています。

優良食堂バックナンバー →
リポジトリ詳細🧪 ひと言で味見する