AIコーディング支援は便利ですが、大規模なリポジトリでは「どの関数がどこから呼ばれているか」「サービス間の依存はどうなっているか」を把握するのに、ファイルを順に読ませる方法では時間もトークンもかかります。Codebase-Memory-MCPは、コードベースを知識グラフとして索引化し、MCP(Model Context Protocol)経由でAIエージェントに構造情報を渡すOSSです。

この記事では、Codebase-Memory-MCPの仕組みと導入方法、既存の探索手法との違いを整理します。

この記事でわかること

  • Codebase-Memory-MCPが解決する課題と動作の仕組み
  • 14種のMCPツールで何ができるか
  • インストール手順と対応エージェント
  • grep探索とのトークン効率の違い

https://github.com/DeusData/codebase-memory-mcp

ファイル探索だけでは構造が見えない

Claude CodeやCursorなどのAIコーディングエージェントは、コードを読むためにgrepやファイル読み込みツールを繰り返し呼び出します。リポジトリが大きくなるほど、1回の質問に何十回ものツール呼び出しが発生し、コンテキストウィンドウを圧迫します。

Codebase-Memory-MCPの開発者は、arXivの技術報告(arXiv:2603.27277)で31の実プロジェクトを評価し、ファイル探索型エージェントと比べて回答品質は83%対92%とやや劣る一方、トークン消費は10分の1、ツール呼び出しは2.1分の1に抑えられると報告しています。構造に関する質問(呼び出し元の特定やハブ関数の検出など)では、19言語中で同等以上の精度を示したケースもあります。

知識グラフでコードの文脈を持たせる

Codebase-Memory-MCPは、DeusDataが公開するMITライセンスのMCPサーバーです。2026年2月にGitHubで公開され、2026年6月12日時点の最新版はv0.8.1です。純粋なC言語で書かれた単一の静的バイナリとして配布され、Dockerや外部APIキーは不要です。

仕組みは次のとおりです。tree-sitter(構文解析ライブラリ)でソースコードをAST(抽象構文木)として解析し、関数・クラス・モジュール・呼び出し関係・HTTPルートなどをノードとエッジとしてSQLiteデータベースに格納します。Python、TypeScript、Go、Rustなど9言語にはHybrid LSPと呼ばれる型解決機能が加わり、パッケージをまたぐ呼び出し関係の精度が上がります。対応言語は158種類で、tree-sitterの文法定義をバイナリに同梱しているため追加インストールは不要です。

索引化の速度は、Apple M3 Pro上のベンチマークで、一般的なリポジトリはミリ秒単位、Djangoは約6秒、Linuxカーネル(2,800万行・7.5万ファイル)は3分と報告されています。構造クエリの応答は1ミリ秒未満です。索引結果は~/.cache/codebase-memory-mcp/に永続化され、セッションをまたいでも再利用できます。ファイル変更はバックグラウンドのウォッチャーが検知し、差分のみ再索引します。

14種のMCPツールで構造を問い合わせる

Codebase-Memory-MCP自体にはLLMは内蔵されていません。MCPクライアント側のAIエージェントが自然言語を構造クエリに変換し、14種のツールを呼び出す設計です。APIキーの追加設定が不要になるのは、この分離が理由です。

主なツールの用途は次のとおりです。

  • get_architecture:言語構成、パッケージ、エントリポイント、ルート、ホットスポット関数を一括取得
  • trace_path:指定関数の呼び出しチェーンを上流・下流方向にたどる
  • search_graph:正規表現やラベルでノードを構造的に検索
  • semantic_query:バイナリ同梱のNomic埋め込みモデルによる意味検索
  • detect_changes:未コミットの変更が影響するシンボルとリスク分類を返す
  • find_dead_code:呼び出し元のない関数を検出

クロスサービスのHTTP呼び出しやgRPC・GraphQLのルート定義もグラフ上のノードとして扱われ、マイクロサービス間の依存関係を可視化できます。Cypher風のクエリ(MATCH (f:Function)-[:CALLS]->(g) RETURN g.name)にも対応しています。

対応エージェントと導入手順

installコマンド一つで、Claude Code、Codex CLI、Gemini CLI、Cursor(VS Code)、Zed、Aider、KiloCodeなど11種のコーディングエージェントを自動検出し、MCP設定を書き込みます。macOSとLinuxでは次の一行で導入できます。

curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash

エージェントを再起動し、「Index this project」と指示すれば索引化が始まります。3Dグラフビジュアライザー付きのUI版を使う場合は、--uiオプションを付けてインストールし、http://localhost:9749でブラウザからグラフを確認できます。

チーム開発では、索引済みグラフを.codebase-memory/graph.db.zstとしてリポジトリにコミットする機能もあります。zstd圧縮されたSQLiteスナップショットを共有すれば、新メンバーはフル再索引を避けて差分のみ更新できます。

grep探索との違い

従来のAIコーディング支援では、エージェントがgrepやGlobでファイルを横断し、該当箇所を読み込んで推測します。Codebase-Memory-MCPのベンチマークでは、5回の構造クエリで約3,400トークンで済んだのに対し、ファイル単位の探索では約41.2万トークンが必要だったと報告されています。99%以上のトークン削減です。

一方、ソースコードの細部を読む必要がある修正作業では、ファイル探索型の方が回答品質が高い場面もあります。Codebase-Memory-MCPは「構造を把握するバックエンド」として位置づけ、エージェントの既存ツールと併用するのが実用的です。処理はすべてローカルで完結し、コードが外部サーバーに送信されることはありません。

使い始めるときの注意点

インストール時にエージェントのMCP設定ファイルへ書き込みが行われるため、実行前にソースコードの監査を推奨しています。リリースバイナリはSHA-256チェックサムと70以上のアンチウイルスエンジンによるスキャンが付与されています。WindowsではSmartScreenの警告が出る場合があり、公式のchecksums.txtで整合性を確認してから実行する必要があります。

大規模リポジトリの初回索引は数分かかることがありますが、一度構築したグラフはセッションをまたいで保持されます。codebase-memory-mcp config set auto_index trueを設定すれば、MCPセッション開始時に自動索引も有効にできます。