CodeGraphContext/CodeGraphContext

An MCP server plus a CLI tool that indexes local code into a graph database to provide context to AI assistants.

CodeGraphContext (CGC)

何が何なのか

CodeGraphContext (CGC) は、ローカルのコードベースを グラフデータベース に変換する Python ベースのツールです。シンボル、関数呼び出し、インポート、継承、その他の関係を含みます。このグラフはコマンドラインからクエリ可能で、MCP(Model-Control-Protocol)経由で提供され、AIアシスタント(例:チャットベースのコードヘルパー)がテキスト検索ではなく、正確なシンボルレベルのコンテキストを取得できるようにします。

コア機能

機能 得られるもの
コードインデックス化 tree-sitter(オプションで SCIP インデクサー)でソースファイルを解析し、知識グラフを構築します。
マルチ言語対応 23言語を標準でサポート(Python、JS/TS、Java、C/C++、Go、Rust、Solidity など)。
CLIツールキット cgc index、cgc analyze callers <sym>、cgc watch、cgc list など、ローカルでインタラクティブに分析できるコマンド。
MCPサーバーモード FastAPIベースのサーバー(cgc mcp start)を実行し、AI IDE拡張からの自然言語クエリに応答します。
データベースバックエンド 嵌め込み型の FalkorDB Lite(Unixではデフォルト)、KuzuDB、LadybugDB、または外部の Neo4j/Nornic – cgc config db で選択可能。
ライブ更新 cgc watch でディレクトリを監視し、ファイルの変更に応じてグラフを自動更新。
事前インデックス済みバンドル 人気のあるリポジトリ用の準備済み .cgc バンドルがあり、インデックス化ステップをスキップ可能。
Docker対応 オフィシャルな Docker イメージと compose プロファイルで、言語に依存せずに迅速に実行可能。
可視化(プレミアム) Web UI でコードベースのインタラクティブな力指向グラフをレンダリング。

動作の概要(ハイレベルなワークフロー)

  1. 解析 – Tree-sitter(およびオプションの SCIP)がシンボル、呼び出し、インポートなどを抽出します。
  2. グラフ構築 – 抽出されたデータをノード/エッジに変換し、選択されたグラフDBに保存します。
  3. クエリ – CLI または MCP サーバーが、Cypherに似たクエリをグラフに対して実行します。
  4. 利用 – AIエージェントや開発者が、呼び出しチェーン、クラス階層、未使用コードリストなど、構造化された回答を受け取ります。

一般的な利用シーン

  • ファイルやパッケージ間をまたいで呼び出しチェーンを追跡する。
  • クラス階層やモジュール境界を理解する。
  • 未使用コード、ホットスポット、予期しない依存関係を検出する。
  • AIアシスタントに、人間のメンテナが使うのと同じ構造的コンテキストを提供する。
  • プロジェクトドキュメントやオンボーディング用に視覚的なグラフを生成する。

すぐに始める(クイックスタート)

# パッケージをインストール
pip install codegraphcontext

# 現在のリポジトリをインデックス化
cgc index .

# 簡単なクエリを実行(例:関数の呼び出し元を調べる)
cgc analyze callers my_function

# AI IDE統合用のMCPサーバーを起動

cgc mcp setup   # 一度だけの設定

cgc mcp start   # FastAPIサーバーを起動

Dockerユーザー向け:

docker pull codegraphcontext/codegraphcontext:latest

docker run --rm -v "$(pwd):/workspace" codegraphcontext/codegraphcontext cgc index .

メンテナンス担当者

Shashank Shekhar Singh によって開発・メンテナンスされています(MITライセンス)。プロジェクトはオープンソースで、CIバッジ、Discordコミュニティ、公開ウェブサイトがあります。


上記のすべての情報はリポジトリの README から直接取得しており、外部の仮定は一切加えられていません。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト