DeusData/codebase-memory-mcp
コードを先に関係図にしておき、AIが何十回も読みに行く手間を省く
どういうものか
手元のリポジトリを解析して、関数・クラス・呼び出し関係・HTTP のルートなどをつないだ「知識グラフ」を作り、AI コーディングエージェントに MCP 経由で引かせるサーバーだ。エージェントが grep とファイル読み込みを何十回も繰り返す代わりに、「この関数を呼んでいるのはどこか」を1回の問い合わせで答えられるようにする。C で書かれた単体の実行ファイルとして配られ、言語の実行環境や API キー、外部のサービスは要らない。処理はすべて手元で行われ、コードは外に出ないと README は書いている。
解析には tree-sitter を使い、150 を超える言語の文法を実行ファイルに組み込んでいる。Python・TypeScript・Go・Java・Rust など一部の言語では、型を手がかりに呼び出し先をより正確に解決する仕組みも重ねている。できたグラフは SQLite に保存され、ファイルの変更を見張って自動で作り直す。MCP のツールは 17 個で、呼び出し経路のたどり込み、Cypher に似た書き方での問い合わせ、呼ばれていない関数の検出、git の差分がどの関数に響くかの洗い出しなどがある。グラフをブラウザで立体的に眺める画面も同梱されている。
このツール自体は LLM を持っていない。質問を解釈してどのツールを呼ぶかを決めるのは、つないだエージェント側だ。README はその理由を、別の API キーや費用、設定するモデルを増やさないためだと説明している。README の計測では、構造についての問い合わせ5回で、ファイルを1つずつ grep して調べる方法が約41万トークン、このツールが約3,400トークンだった(同じ数字を再現するには元の入力と生データが要る、とも書かれている)。
どんなときに使うか
大きなリポジトリで、AI が読み回してばかりで答えにたどり着かないとき
呼び出し元・呼び出し先や変更の影響範囲を、グラフへの問い合わせで返せる。エージェントがファイルを片端から開いてトークンを使い切る状況を減らしたい場合に向く。
複数のサービスにまたがる呼び出しを、まとめて追いたいとき
HTTP のルートと呼び出し側の対応づけや、同じ置き場に入れた複数のリポジトリどうしのつながりもグラフに載る。サービスをまたいで「どこから叩かれているか」を探す手間が減る。
注意点
インストールすると、エージェントの設定ファイルを書き換える。 README によれば、install は入っているコーディングエージェントを探し、MCP の登録を書き込む。対応しているエージェントには、指示文・スキル・フックまで書き込む。README 自身が「コードを読み、エージェントの設定を書く道具だ」と明記しており、先に中身を確かめたい人向けにソースを案内している。外すときは uninstall で、グラフのデータは確認のうえで消される。
チームでグラフを共有する機能は、コミットの仕方に気をつけたい。 グラフを圧縮した1ファイルをリポジトリに入れておけば、仲間は作り直しを省ける。ただし索引のたびに書き換わるため、毎回コミットすると履歴が膨らむ。README には、1つのファイルだけで約350回のコミットにわたり約6GBに達したチームの例が載っている。使わないなら .gitignore に足せばよい。
グラフに聞けるのは構造であって、答えの賢さはエージェントしだい。 このツールは LLM を持たないので、質問の解釈や結果のまとめはつないだエージェントの力量に左右される。コマンドから直接呼ぶこともできるが、主な使い道は MCP に対応したエージェント経由だ。