CodeGraphを理解しておくべき理由は、AIコーディングにおける現実的な失敗モードを解決するためです。エージェントはgrep、glob、ファイル読み込みを繰り返すことで、同じコード構造を何度も再発見するのにターンを浪費してしまいます。
Get the latest on AI, LLMs & developer tools
New MCP servers, model updates, and guides like this one — delivered weekly.
編集後記
本記事の執筆時点では、エンドツーエンドのローカルインストールは完了していません。直接的な npx スモークテストでは、実行可能な状態を確認できませんでした。 codegraph binary in this environment. Setup examples below are sourced from the README, installer target code, and npm page; performance claims are sourced from CodeGraph's published benchmark methodology, not from our own benchmark run.
1. CodeGraphを一言で言うと
CodeGraphは、MITライセンスのローカルファーストなコードインテリジェンスツールです。リポジトリを解析してファイル、シンボル、呼び出し、インポート、ルート、参照を含むSQLiteナレッジグラフを作成し、MCPを通じてAIコーディングエージェントにそのグラフを提供します。
A コードナレッジグラフ とは、コードのエンティティと関係性を格納したデータベースのことです。 MCP(Model Context Protocol)は、多くのエージェントが外部ツールを呼び出すために使用するツールプロトコルです。
| 通常のタスク | CodeGraphビュー |
|---|---|
| 関数を検索 | インデックス化されたシンボルに対するFTS5検索 |
| フローの理解 | 呼び出しと動的ディスパッチエッジのトレース |
| リファクタリングの計画 | 呼び出し元、呼び出し先、インポート、および影響範囲の確認 |
| 機能についてエージェントに質問する | グラフ検索とソースコードのスニペットからタスクコンテキストを構築 |
2. 存在理由
The repo's README frames the problem around Claude Code exploration agents that repeatedly call grep, glob, Bash, and Read before answering architecture questions. That is expensive because file discovery is repeated per session and per task. CodeGraph moves discovery up front: parse once, store relationships locally, then let the agent query the graph.
The official docs site makes the same point in a smaller form: CodeGraph turns a codebase into a queryable local graph for AI coding agents, using tree-sitter parsing, MCP, and impact analysis. The npm package page repeats the README benchmark table and setup commands, which matters because the npm package is the main installation surface for many developers.
Status quo:
agent question
-> grep/glob/read loop
-> partial mental map
-> answer
-> next task repeats discovery
CodeGraph model:
codegraph init/index
-> .codegraph/codegraph.db
-> agent calls codegraph_context / trace / impact
-> answer from graph-backed source context3. メンタルモデル:5つの構成要素
CodeGraphは単一の検索コマンドとしてではなく、パイプラインとして評価する方が容易です。
+---------------------+ +----------------------+ +----------------------+
| scanner | ---> | extractor | ---> | resolver |
| git + filesystem | | tree-sitter + helpers | | imports, calls, |
| ignore rules | | language files | | frameworks, bridges |
+---------------------+ +----------------------+ +----------+-----------+
|
v
+----------------------+ +----------------------+
| MCP tools | <--- | SQLite graph |
| context, trace, | | nodes, edges, files, |
| callers, impact | | FTS5 search |
+----------------------+ +----------------------+| コンポーネント | ソースアンカー | 機能 |
|---|---|---|
| スキャナー | src/extraction/index.ts | gitの可視性、デフォルトの除外設定、ファイルサイズ制限、言語検出を使用してプロジェクトファイルを収集します。 |
| エクストラクター | src/extraction/languages/* | tree-sitterおよびフレームワーク固有のエクストラクターを使用して、ソースをノードと未解決の参照に解析します。 |
| リゾルバー | src/resolution/* | 参照を、呼び出し、インポート、継承、実装、ルート、ブリッジエッジなどのグラフエッジに変換します。 |
| データベース | src/db/schema.sql | ノード、エッジ、ファイル、未解決の参照、メタデータ、およびFTS5インデックスを格納します。 |
| MCPサーバー | src/mcp/tools.ts | 公開します codegraph_context、 codegraph_trace、 codegraph_impact、および関連ツール。 |
4. 最小限のエンドツーエンドの例
プロジェクトのREADMEには現在、短いインストール手順と、より詳細なクイックスタート手順が記載されています。 codegraph init -i はプロジェクトインデックスを構築しますが、エージェントがCodeGraphを呼び出すには、その前にMCPサーバーのエントリが必要です。
# 1. Install or run the interactive installer.
npx @colbymchenry/codegraph
# 2. Restart the agent after the installer writes its MCP config.
# 3. Build the project-local graph.
cd your-project
codegraph init -i
# 4. Check the index from the CLI.
codegraph status
# 5. Ask the agent a structural question.
# Example prompt:
"Use CodeGraph first. How does the auth request reach the database?"Claude Codeを手動でセットアップする場合、READMEには以下の場所にJSON形式のMCPエントリが示されています。 mcpServers.codegraph。 ~/.codex/config.toml。
# Codex CLI manual shape, from the installer target.
[mcp_servers.codegraph]
command = "codegraph"
args = ["serve", "--mcp"]まとめ
セットアップは「エージェントの接続」と「リポジトリの初期化」の2段階で行うと考えてください。どちらか一方が欠けていると、エージェントはネイティブ検索にフォールバックし、CodeGraphが機能していないように見えてしまいます。
5. 詳細解説:各レイヤーの仕組み
5.1 スキャナー:インデックス対象
スキャナーは可能な限りgitで管理されているファイルを使用し、gitプロジェクトではない場合や親レイアウトが無視されている場合は、ファイルシステムを走査して補完します。 node_modules、 dist、 target、 .venv、 Pods、および .next。
// Schema-level artifact: each indexed file becomes a row.
files(path, content_hash, language, size, modified_at, indexed_at, node_count, errors)
// Scanner-level artifact: ignored dependency/build directories are excluded
// before the graph becomes agent context.個人的な見解:CodeGraphは、インデックスの範囲が単純で予測可能な場合に最も強力に機能します。
5.2 エクストラクター:シンボル優先、テキストは二の次
抽出処理は、構文木を生成するインクリメンタルパーサーであるtree-sitterを中心に構築されています。 src/extraction/languages/ それらの木を関数、メソッド、クラス、インターフェース、ルート、コンポーネント、変数、定数、モジュールといったノードに変換します。
nodes(
id,
kind,
name,
qualified_name,
file_path,
language,
start_line,
end_line,
docstring,
signature
)個人的な見解:これが、CodeGraphが単なるベクトル検索のラッパーではない理由です。
5.3 リゾルバー:最も困難な部分
Static extraction finds references, but references are not useful until they resolve. CodeGraph's resolver handles import paths, name matching, framework routes, callback synthesis, dynamic-dispatch bridges, Swift to Objective-C bridging, React Native bridges, Expo modules, and framework-specific route shapes. Recent release notes show that much of the project's velocity is in this layer.
edges(
source,
target,
kind, -- calls, imports, contains, references, extends, implements...
metadata,
line,
col,
provenance
)個人的な見解:リゾルバーの品質が、CodeGraphがリファクタリングにおいて安全に使用できるかを左右します。 0 callers 結果は、ツールがない場合よりも悪影響を及ぼす可能性があります。なぜなら、エージェントに対して「ライブコードがデッドコードである」という誤った情報を伝えてしまうからです。
5.4 SQLiteとFTS5:ローカルグラフ、ローカル検索
スキーマは、ノード、エッジ、ファイル、未解決の参照、およびプロジェクトのメタデータを、以下の場所にあるローカルのSQLiteデータベースに保存します。 .codegraph/codegraph.db。
CREATE VIRTUAL TABLE nodes_fts USING fts5(
id,
name,
qualified_name,
docstring,
signature,
content='nodes'
);個人的な見解:この種のツールにとって、ローカルのSQLiteは適切なストレージの選択です。
5.5 MCPツール:エージェントの制御
CodeGraphは、search、context、callers、callees、impact、node、explore、status、files、traceというコンパクトなMCPツールセットを提供します。 src/mcp/server-instructions.ts、各エージェントの指示ファイルに複製されるのではなく、MCPのinitializeレスポンスを通じて読み込まれます。
| ツール | 用途 |
|---|---|
codegraph_context | エージェントがエントリーポイントと主要なコードを必要とする、アーキテクチャ、バグ、または機能に関する質問。 |
codegraph_trace | あるシンボルから別のシンボルへのフローに関する質問。 |
codegraph_impact | リファクタリングによる影響範囲(blast-radius)の確認。 |
codegraph_explore | 関連する複数のシンボルのソースをファイルごとにグループ化。 |
codegraph_files | ファイルシステムをスキャンせずにインデックス化されたファイルツリー。 |
個人的な見解:MCPのガイダンスは製品の一部である。
6. 私たちが間違っていたこと
最初、私はCodeGraphを単なるトークン圧縮プロジェクトとして扱っていた。
また、セットアップの手順は「インストールしてインデックス化するだけ」だと想定していた。
Bad assumption:
"init -i means my agent has CodeGraph"
Correct model:
"install wires MCP; init/index builds the repo graph"7. 実践的なワークフローパターン
| 間違い | 正解 | 根本原因 |
|---|---|---|
| エージェントにすべての認証関連ファイルをgrepするように指示する。 | ~を要求する codegraph_context 認証タスクにおいて、一度 codegraph_explore。 | 文字列検索は、グラフがすでに保持しているマップを再構築するようなものだ。 |
信頼する 0 callers SvelteやReactのバレルファイル(barrel-heavy)が多いリポジトリで、盲目的に。 | Check known open issues around re-export barrels and package subpaths. | Unresolved re-export chains can hide live callers. |
| すべてのトークンオプティマイザーを並列でインストールします。 | CodeGraphの有無で、実際のタスクを1つ測定してください。 | コンテキストツールを重ねすぎると、コスト削減よりも先にデバッグの難易度が上がってしまう可能性があります。 |
| ホームディレクトリ規模の巨大なルートに対しては、watchモードを有効にしたままにしてください。 | プロジェクトのスコープを定め、リソースのガードレールが成熟するまではno-watchまたは手動同期を検討してください。 | 大規模なツリーでは、ウォッチャーやファイルディスクリプタの負荷が深刻な問題となります。 |
8. よくある間違いと失敗のパターン
GitHubのオープンなIssueは、ユーザーが実際の失敗を報告しているため、間違いを知るための最良の情報源です。これこそが導入において重要となります。
| 失敗のパターン | ユーザーが遭遇した事象 | 実践的な対応策 |
|---|---|---|
| セットアップ順序の混乱 | 「Get Started」に従ったが、リポジトリのインデックスは作成されたものの、エージェントが連携されていなかった。 | エージェントがツールを呼び出す前に、インストーラーを実行するか、MCP設定を追加してください。 |
| MCP検出のギャップ | 一部のクライアントが resources/list または prompts/list を要求し、method-not-foundエラーが発生した。 | 空の検出レスポンスを期待するクライアント向けに、それを追加するPRを監視してください。 |
| 大規模データベースのタイムアウト | 非常に大規模なデータベースに対してMCP呼び出しがタイムアウトするという報告がユーザーから寄せられています。 | まずはスコープを絞ったプロジェクトインデックスから開始し、検証を行ってください。 codegraph_status フローツールに依存する前に確認が必要です。 |
| macOSのリソース負荷 | オープンな課題として、ファイルディスクリプタの蓄積やシステム全体に及ぶ ENFILE 症状が報告されています。 | ルート設定をより厳密にし、 --no-watch ガードレールが実装されるまでは慎重に検討してください。 |
| 言語エッジケースの取りこぼし | オープンな課題として、TypeScriptの文字列リテラルによるサービス名や、Svelte/TSのバレル再エクスポートに関する問題が挙げられています。 | グラフの結果は、唯一の正当性の証明としてではなく、高品質なコンテキストとして活用してください。 |
| Windowsのシェルが点滅する現象 | デーモンやgitのサブプロセス実行中に、コマンドウィンドウが一時的に表示されるという報告がユーザーから寄せられています。 | 問題が解決しない場合は、常に最新の状態を保ち、古いデーモンプロセスを終了させてください。 |
9. パフォーマンス、スケーリング、およびコストに関する注記
CodeGraphのREADMEでは、Claudeのヘッドレス実行において、CodeGraphの有無を比較した複数のオープンソースコードベースでのベンチマーク結果が報告されています。重要なのはその手法です。同一のアーキテクチャに関する質問、同一のリポジトリを使用し、一方にはCodeGraph MCPを有効化、もう一方には空のMCP設定を適用して、複数回の実行の中央値を算出しています。リポジトリによると、このベンチマークは2026年5月下旬のビルドにおいて、アダプティブ codegraph_explore サイジングを用いて再検証されたとのことです。
正直なところ、その解釈はヘッドラインが示すよりも限定的です。CodeGraphは、エージェントが本来であれば探索に多くのツール呼び出しを費やすようなケースで真価を発揮します。小規模なリポジトリや、ネイティブ検索が安価な単純なルックアップでは、その優位性は低下します。トークンオプティマイザーに関するRedditのスレッドでも同様の実践的な指摘がなされています。つまり、ツールが謳う節約トークン数だけでなく、ワークフロー全体を測定すべきだということです。
Use this local A/B shape:
Task: "How does request X reach handler Y?"
Run A: agent with CodeGraph MCP enabled
Run B: same agent, same repo, CodeGraph disabled
Measure:
- time to first useful answer
- file reads
- grep/bash/search calls
- accepted edits
- follow-up corrections
- total cost, if your client exposes it10. CodeGraphの対象ユーザー
| 以下のような場合に利用を推奨します。 | 以下に該当する場合はスキップしてください: |
|---|---|
| エージェントに対して、日常的にファイル横断的なアーキテクチャに関する質問をしている場合。 | リポジトリが小さく、ネイティブ検索ですぐに答えが見つかる場合。 |
| TypeScript、Python、Go、Rust、Java、Swift、C#、PHP、Ruby、Svelte、Vue、またはそれらに準ずるサポート対象のスタックで開発している場合。 | 使用している主要な言語やフレームワークがカバーされておらず、正確な静的解析が必要な場合。 |
| ローカルのみのコードコンテキストを重視し、ソースコードをホスト型のインデクサーにアップロードしたくない場合。 | ホスト型インデックスやチーム分析機能を備えた、マネージドSaaS型のコードアシスタントを求めている場合。 |
| エージェントのループ内で、呼び出し元(callers)、呼び出し先(callees)、ルート、影響範囲、トレースを確認したい場合。 | リポジトリの単発的なパッキングや、コマンド出力の単純な圧縮のみが必要な場合。 |
11. コミュニティの反応
一般的な反応は、有益な形で賛否が分かれています。
@Teknium 私もコーディングプロジェクトでこれを使用していますが、今のところ読み込みは高速化されたものの、トークン使用量の削減については確認できていません。
— Joe (@UOSJoe)2026年5月31日
r/ClaudeCodeでのRedditの議論では、CodeGraphはリポジトリパッカー、コマンド出力圧縮ツール、メモリツール、MCPコードエクスプローラーといった、他のトークンおよびコンテキスト最適化ツールと並べて評価されました。
大規模なTypeScriptモノレポに関するr/ClaudeAIの別のスレッドでは、コンテキストに収まりきらないコードベースをどのように扱うかという議論がなされました。
12. 結論:CodeGraphを使う価値はあるか?
私たちの見解
エージェントが同じリポジトリから繰り返し構造的なコンテキストを必要とする場合は、CodeGraphを使用してください。現在の課題が単純な検索、小規模なリポジトリ、またはサポートされていない言語のセマンティクスにある場合は、スキップしてください。
The best version of CodeGraph is boring: initialize the repo, let the agent call codegraph_context まず、以下を使用してください: trace フローに関する質問には、以下を使用してください。 impact 編集前に使用してください。
13. 全体像
CodeGraphは、プロンプトへの詰め込みからツールを活用したコンテキストへの移行という、より大きな潮流の中に位置しています。
この中間層が価値を持つのは、AIコーディングエージェントが単なるスニペット以上の情報を必要としているからです。
Context stack:
AGENTS.md / CLAUDE.md -> rules and project intent
docs / package READMEs -> human-authored architecture notes
CodeGraph -> local symbol and relationship graph
compiler / tests / linter -> correctness checks
The graph helps the agent navigate. It does not replace the rest.14. よくある質問 (FAQ)
Q: CodeGraphとは何ですか?
CodeGraphは、リポジトリ内のファイル、シンボル、およびそれらの関係性をSQLiteのナレッジグラフとしてインデックス化し、MCPツールを通じてAIコーディングエージェントにそのグラフを提供するローカルコードインテリジェンスツールです。
Q: CodeGraphはgrepやripgrepの代わりになりますか?
いいえ。構造的な質問に対する繰り返しの探索ループを置き換えるものです。単純なテキスト検索にはgrepを使用してください。シンボル、呼び出し元、呼び出し先、影響範囲、またはタスク指向のコードコンテキストが必要な場合にCodeGraphを使用してください。
Q: CodeGraphはどのAIエージェントをサポートしていますか?
READMEおよびインストーラーのターゲットドキュメントでは、Claude Code、Cursor、Codex CLI、opencode、Hermes Agent、Gemini CLI、Antigravity IDE、およびKiroが挙げられています。正確な設定ファイルはエージェントごとに異なります。
Q: CodeGraphはクラウドベースですか?
いいえ。このリポジトリはCodeGraphをローカルファーストとして位置づけています。ソースコードはローカルで解析され、ローカルの `.codegraph/codegraph.db` SQLiteデータベースに保存され、ローカルのMCPサーバーを通じてエージェントに提供されます。
Q: 現在の最大のリスクは何ですか?
アクティブなイシュートラッカーによると、ウォッチモードでのリソース負荷、大規模インデックスのタイムアウト、セットアップ順序の混乱、一部のクライアントにおけるMCPハンドシェイクの不備、および言語固有のパターンにおけるエッジの取りこぼしが報告されています。
Q: すべてのプロジェクトにCodeGraphをインストールすべきですか?
いいえ。エージェントがファイル間やアーキテクチャに関する質問に繰り返し回答する必要がある場合に効果を発揮します。小規模なリポジトリや、一度限りの検索、単純なテキスト検索であれば、ネイティブの検索機能で十分な場合があります。
15. 用語集
| 用語 | 定義 |
|---|---|
| AST | 抽象構文木(Abstract syntax tree); ソースコードを解析した構造。 |
| コードナレッジグラフ | コードエンティティとその関係性のデータベース。 |
| エッジ | 2つのグラフノード間の関係。 |
| FTS5 | SQLiteの全文検索エンジン。 |
| MCP | Model Context Protocol; エージェントのためのツールプロトコル。 |
| ノード | シンボル、ファイル、ルート、コンポーネント、または類似のコードエンティティ。 |
| Resolver | 抽出された参照を実際の定義にリンクさせるコード。 |
| Tree-sitter | ソース構文木に使用されるパーサーフレームワーク。 |
| WAL | 同時アクセスを実現するためのSQLiteのwrite-ahead logモード。 |
| Watcher | インデックスを最新の状態に保つためのファイル変更リスナー。 |
16. すべてのソースとリンク
主要ソース
- colbymchenry/codegraph GitHubリポジトリ
- CodeGraph公式ドキュメントサイト
- npm package page for @colbymchenry/codegraph
- リサーチ時に確認した現在のリリースページ
- CHANGELOG.md
読み込まれたソースファイル
- src/index.ts - main
CodeGraphclass. - src/db/schema.sql - nodes, edges, files, FTS5スキーマ。
- src/extraction/index.ts - スキャナー、デフォルトの除外設定、インデックス作成のオーケストレーション。
- src/mcp/tools.ts - MCPツールの定義。
- src/mcp/server-instructions.ts - エージェントの制御ガイダンス。
- src/sync/watcher.ts - ファイルウォッチャーおよび保留中ファイルのスタールネス(陳腐化)モデル。
- src/installer/targets/codex.ts - Codex CLIの設定構造。
- src/installer/targets/claude.ts - Claude Codeの設定構造。
GitHub Issues および Pull Requests
- Issue #644 - macOSにおけるファイルディスクリプタのリーク / ENFILEに関する報告。
- Issue #631 - READMEのセットアップ順序に関する混乱。
- Issue #629 - Svelte/TypeScriptにおけるバレル再エクスポートの未解決問題。
- Issue #628 - ウォッチモードにおけるリソースのガードレール。
- Issue #621 - MCP resources/list および prompts/list における欠落。
- Issue #613 - 大規模データベースでの MCP タイムアウト。
- Issue #634 - TypeScript の文字列リテラルによるサービス名がインデックス化されない問題。
- PR #632 - セットアップドキュメントおよび MCP ディスカバリーの修正。
- PR #643 - 提案された
.codegraphignoreoverride サポート。 - PR #603 - 組み込み SDK API の復元。
コミュニティソース
- r/ClaudeCode におけるトークンオプティマイザーの議論
- r/ClaudeAI における大規模コードベースのコンテキストに関する議論
- 慎重な一次読解速度に関するコメントが投稿された X のポスト
- CodeGraph を急成長中の AI リポジトリとして挙げた X のポスト
内部リンク
- Claude コンテキストガイド: Milvus を介したセマンティックコード検索 MCP
- ArcKitガイド:Wardley Mapping + Multi-AI Architecture Toolkit
- OpenAI Agents Python SDK:LangGraphおよびCrewAIとの詳細比較
- AntiGravity MCP:コンテキストスイッチの解消
17. ソース属性テーブル
| ソース | タイプ | 活用した主要なインサイト |
|---|---|---|
| GitHub README | プライマリ | インストールフロー、ベンチマーク、サポート対象エージェント、言語、ローカルファーストのポジショニング。 |
| 公式ドキュメントサイト | プライマリ | 簡潔な製品定義:ローカルコードグラフ、tree-sitter、MCP、影響分析。 |
| ソースコードクローン | プライマリ | スキャナー、エクストラクター、リゾルバーのアーキテクチャ、SQLiteスキーマ、MCPツール、インストーラーターゲット。 |
| GitHub issues | コミュニティ / クリティカル | リソース負荷、セットアップの混乱、タイムアウト、エッジの欠落、クライアント互換性のギャップ。 |
| GitHub PRs | プライマリ / コミュニティ | セットアップドキュメント、ディスカバリーレスポンス、SDK API、ignoreオーバーライドに関する修正を適用。 |
| Redditスレッド | コミュニティ | 開発者がCodeGraphと他のコンテキストツールを比較し、ワークフローレベルでの測定を推奨。 |
| Xの投稿 | コミュニティ | 成長に対する世間の期待と、読み取り速度とトークン節約のトレードオフに関するユーザーからの慎重な指摘。 |
Get the Ultimate Antigravity Cheat Sheet
Join 5,000+ developers and get our exclusive PDF guide to mastering Gemini 3 shortcuts and agent workflows.
Related Guides
Humanizer Skill Guide
blader/humanizer: 29 AI-writing patterns, voice calibration, and a two-pass audit, all in one Claude Code skill.
Guides & FeaturesMastering Agent Skills
The open standard for portable AI agent expertise.
Guides & FeaturesAntigravity Workflows Guide
Create automation recipes with Turbo Mode and AgentKit 2.0.
Guides & FeaturesHow to Change Antigravity Themes
Customize themes, dark mode, icons, and color schemes.
Guides & FeaturesHow to Change Language
Switch Antigravity to Spanish, German, Japanese, and more.
Guides & FeaturesAntigravity Security Guide
Known vulnerabilities, safe settings, and hardening steps.
