Ikeraq

DeusData/codebase-memory-mcp

コードを先に関係図にしておき、AIが何十回も読みに行く手間を省く

MIT · 商用可 C ★ 46,857 (今日 +80) 今日 更新
GitHub で見る DeusData/codebase-memory-mcp
GitHub の説明(原文)
High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 162 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

どういうものか

手元のリポジトリを解析して、関数・クラス・呼び出し関係・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は問い合わせるだけ コード (手元のリポジトリ) 解析 (tree-sitterで構文を読む) 知識グラフ (関数・呼び出し・ルート) AIエージェント (MCPで問い合わせる) このツール自体はLLMを持たず、質問の解釈はエージェントが受け持つ
解析は先に済ませておき(ファイルが変われば自動で作り直す)、あとはグラフに問い合わせる。「この関数を呼ぶのはどこか」をファイルを読み回さずに答えられるのが要点で、質問を読み解く役はつないだエージェントが担う。

どんなときに使うか

大きなリポジトリで、AI が読み回してばかりで答えにたどり着かないとき

呼び出し元・呼び出し先や変更の影響範囲を、グラフへの問い合わせで返せる。エージェントがファイルを片端から開いてトークンを使い切る状況を減らしたい場合に向く。

複数のサービスにまたがる呼び出しを、まとめて追いたいとき

HTTP のルートと呼び出し側の対応づけや、同じ置き場に入れた複数のリポジトリどうしのつながりもグラフに載る。サービスをまたいで「どこから叩かれているか」を探す手間が減る。

注意点

インストールすると、エージェントの設定ファイルを書き換える。 README によれば、install は入っているコーディングエージェントを探し、MCP の登録を書き込む。対応しているエージェントには、指示文・スキル・フックまで書き込む。README 自身が「コードを読み、エージェントの設定を書く道具だ」と明記しており、先に中身を確かめたい人向けにソースを案内している。外すときは uninstall で、グラフのデータは確認のうえで消される。

チームでグラフを共有する機能は、コミットの仕方に気をつけたい。 グラフを圧縮した1ファイルをリポジトリに入れておけば、仲間は作り直しを省ける。ただし索引のたびに書き換わるため、毎回コミットすると履歴が膨らむ。README には、1つのファイルだけで約350回のコミットにわたり約6GBに達したチームの例が載っている。使わないなら .gitignore に足せばよい。

グラフに聞けるのは構造であって、答えの賢さはエージェントしだい。 このツールは LLM を持たないので、質問の解釈や結果のまとめはつないだエージェントの力量に左右される。コマンドから直接呼ぶこともできるが、主な使い道は MCP に対応したエージェント経由だ。

開発の様子

8 か月
公開してからの期間。2026-02-25 が最初のコミットです
46 回
リリースの回数です
142 人
開発に参加した人数です
0 日前
最後のコミットです
654 件
未解決の Issue とプルリクエストの合計です(GitHub はこの2つを同じ数に含めます)

ほかの候補

Graphify-Labs/graphify
コードも資料も1枚のつながりにして、読んだのか推測したのかを残す
mksglu/context-mode
AI エージェントに生データを読ませず、会話の枠を長持ちさせる
farion1231/cc-switch
AIコーディングツール9種の接続先を、設定ファイルを開かずに切り替える
X で共有 この記事がよかったら

この記事の更新日は 2026-09-24 です。 内容は公開されている README と GitHub のデータに基づいています。 数値は GitHub から取得したもの、警告は判定の基準にある条件での自動判定です。事実誤認を見つけた場合はお知らせください。