Claude Contextは、コーディングエージェント向けにコードベース全体を検索可能な文脈に変える MCPサーバーです。Claude CodeやCursorなどのAIエージェントが、ファイルを逐一読み込む代わりに意味検索でコードの該当箇所だけを取得できるようにします。核となるロジックはpackages/coreにあり、MCPサーバー実装はpackages/mcp、VS CodeとChrome拡張も同梱されています。
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も使えます。
- STEP 01
claude mcp addコマンドでOPENAI_API_KEY・MILVUS_ADDRESS・MILVUS_TOKENを環境変数として渡し、npx @zilliz/claude-context-mcp@latestをMCPサーバーとして登録します。
- STEP 02
Claude Code側からindex_codebaseに相当するツールを呼ぶと、対象ディレクトリのファイル走査とMerkle同期が始まり、進捗として索引済みファイル数とチャンク数が返ってきます。
- STEP 03
初回索引が終わった後にsearch_code的なツールで自然文クエリを投げると、類似度スコール付きでファイルパス・行範囲・コード断片が返ってきます。
- STEP 04
packages/mcp/scripts/sync-lock-e2e.mjsやpath-resolution-e2e.mjsのようなE2Eスクリプトが用意されているため、パス解決や同期ロックの挙動を手元で再現検証できます。
- STEP 05
examples/basic-usage/index.tsを実行すると、Milvus接続からindexCodebase、semanticSearchまでの一連の流れをコンソールログで確認できます。
- STEP 06
VS Code拡張やChrome拡張を使う場合は、それぞれpackages/vscode-extensionとpackages/chrome-extensionのwebview・options画面からMilvusとOpenAIのキーを設定する手順が必要です。
Zilliz CloudなどのMilvusインスタンスに、コードベースのチャンクとその埋め込みベクトルが保存されたコレクションが1つ出来上がります。以降はClaude Codeなどのエージェントが、そのコレクションに対して自然文クエリで意味検索し、関連コード箇所をコンテキストとして受け取れるようになります。examples/basic-usageを動かせば、索引統計とサンプルクエリの検索結果がターミナルにそのまま出力されます。
OpenAIまたはVoyageAI・Geminiの埋め込みAPIキーと、Zilliz CloudまたはセルフホストMilvusのアドレス・トークンが事前に必須で、無料でローカル完結はできません。
Node.js 20以上が前提で、gRPC版のMilvusVectorDatabaseを使う場合は環境によってはRESTful版への切り替えが必要になる可能性があります。
evaluationディレクトリのベンチマークやケーススタディはPython側の別ワークスペース(uv管理)で動くため、TypeScript側とは別途セットアップが要ります。
HYBRID_MODEやSPLITTER_TYPEなど環境変数の組み合わせで挙動が変わるため、README記載の.env.exampleを~/.context/.envに置く手順を踏まないと設定が反映されない場合があります。
大規模なコードベースをAIコーディングエージェントに読み込ませたいチームで、Zilliz CloudやMilvusをすでに使える、またはセットアップを許容できる場合に向いています。packages/core配下にはabort処理・埋め込み失敗時のエラーハンドリング・Merkle同期のテストが揃っており、evaluationディレクトリには実際のdjangoやxarrayのIssueを使ったケーススタディも含まれているため、README上の主張が実装とテストで裏付けられている点は確認できます。ただし埋め込みAPIキーとベクトルDBという外部依存が前提のツールである点は、導入前に必ず把握しておくべきです。