mcpField
C
code-graph

code-graph

ローカル
code-graph.cyberchronos00.workers.dev開発ツール41 週間前に更新

code-graph について

code-graphは、開発者とAIエージェント向けのローカル依存グラフツールで、CLIとMCPサーバーを提供します。LLMを使わない決定的な解析でルート、呼び出し、テーブル、設定の影響を追跡し、各関係にファイルと行番号の根拠を示します。

主な機能

  1. 01呼び出し元、ルート、テーブル依存の追跡
  2. 02関係ごとのファイル・行番号の提示
  3. 03変更影響と関連テストの分析
  4. 04リポジトリ間の呼び出しとルートの接続
  5. 05攻撃対象領域とセキュリティ所見の出力
  6. 06グラフ表示と計画チェック

活用シーン

  1. 01変更前に影響を受けるルートや呼び出し元を特定
  2. 02コード変更が到達するテストを確認
  3. 03書き込みを行う認証なしルートを確認
  4. 04リポジトリ間のHTTP呼び出しとサーバールートを調査

MCP 対応

code-graphはcg-mcp MCPサーバーを提供し、エージェントがコード検索ではなく依存グラフを照会できます。1つのサーバーで複数のグラフを扱えます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cyberchronos00-cg-code-graph": {
"command": "uvx",
"args": [
"cg-code-graph"
]
}
}
}
起動コマンドuvx cg-code-graph

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypicg-code-graph0.23.13

ツール

13

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
pathsbooleanいいえ
targetsarrayはい
group_bystringいいえ
platformanyいいえ
connectionanyいいえ
include_gatedbooleanいいえ
max_per_groupintegerいいえ
min_confidencestringいいえ

詳細

code-graph

変更を加える前に、その変更が影響するすべてを把握できます。ルート、呼び出し、テーブル、設定を含むローカルかつ決定論的な依存関係グラフで、各経路の根拠となる file:line も確認できます。

あなたと AI エージェント(CLI + MCP)のためのツールです。グラフに LLM は使用しません。

PyPI Downloads Python 3.11+ License: MIT Docs

ドキュメント · クイックスタート · CLI · MCP · 変更履歴

cg のビジュアル表示:warehouse 接続周辺のグラフ、選択したノードとその根拠パスおよびソース、続いて preorders 計画の変更予定オーバーレイ

クイックスタート

pipx install cg-code-graph          # or: uv tool install cg-code-graph
cg index . --db out/graph.db        # prints starter queries for your repo
cg install --host cursor    # or claude, codex, vscode, …: registers the MCP server and a "use cg first" agent rule
cg reaches table:orders --db out/graph.db   # any table, connection or config key

同梱のサンプルで試す、フロントエンドをバックエンドにリンクする、または MCP 経由でエージェントを接続できます:クイックスタートガイド。その他のインストール方法(install.sh、Windows、exact-mode ツールチェーン)はこちらをご覧ください:インストール。

同梱の Django サンプルで cg reaches table:store_books を実行します:

dependents: 18 nodes  (code: 6, entry points: 9, other: 3)
== RUNTIME (reached from http_route / ... / queue_job / listener): 5 functions/methods
    catalog.api.create_book  depth=1 conf=resolved  http_route(1)
        path: function:catalog.api.create_book
          -WRITES_TABLE[resolved @ catalog/api.py:27]-> table:store_books
    catalog.signals.review_saved  depth=3 conf=resolved  listener(1)
        path: function:catalog.signals.review_saved
          -DISPATCHES[exact @ catalog/signals.py:12]-> job:catalog.tasks.recompute_rating
          -HANDLED_BY[exact @ catalog/tasks.py:13]-> function:catalog.tasks.recompute_rating
          -READS_TABLE[resolved @ catalog/tasks.py:14]-> table:store_books

ターミナルのデモ:cg が同梱の Laravel と Nuxt のサンプルアプリにインデックスを作成してリンクし、reaches、path、impact、plan check を実行します

対応言語

言語フレームワークと情報呼び出しドキュメント
PythonDjango(+ DRF、django-ninja)、FastAPI / Starlette、Flask、Celery正確(標準ライブラリの ast)Python
TypeScript JavaScriptNuxt / Vue、NestJS、Next.js、Astro、Express、Fastify、Koa、Hono、Elysia、React Router / Remix正確(TypeScript コンパイラー API)TS フレームワーク
PHPLaravel(ルート、ルート属性、ミドルウェア、キュー、ブロードキャスト、送信 HTTP)正確(nikic/php-parser。PHP 8.2 以降が必要)PHP
DartFlutter正確(Dart アナライザー。Dart SDK が必要)プラットフォーム
KotlinAndroid、Kotlin Multiplatform、Springヒューリスティック。scip-java を使うと正確(オプトイン)Kotlin
JavaSpring(ルート、ガード、Bean、テーブル、クライアント)ヒューリスティック。scip-java を使うと正確(オプトイン)Java
SwiftiOS / SwiftPMヒューリスティック。Swift インデックスストアを使うと正確(オプトイン)Swift
Rust C C++クレート / モジュール、エントリーポイント、FFI、#[cfg] / #if ゲートヒューリスティック。rust-analyzer / scip-clang を使うと正確Rust、C、C++

Go など:cg index --scip FILE で SCIP インデックスをインポートします。cg doctor を実行すると、お使いの環境で言語ごとに正確かヒューリスティックかを確認できます。

得られること

  • reaches、impact、path:テーブル、設定キー、メソッドに到達するすべての呼び出し元、ルート、ジョブ、ページ。
  • cg affected --base main:変更の影響が及ぶテストとエントリーポイント(--quiet はテストランナーに渡せます)。
  • リポジトリ間:cg link はクライアントの HTTP 呼び出し(フロントエンドと Laravel / Guzzle バックエンド)をサーバールートに対応付け、リクエストキー(Laravel FormRequest、Elysia スキーマ、Nuxt / TypeScript のボディ)をチェックします。
  • ルートガード:cg routes --writes --unguarded は、認証ガードなしで書き込みを行うルートを一覧表示します。Laravel では、アクション内のチェックは --strict を指定しない限りインラインガードとして扱われます。
  • セキュリティビュー:cg surface は、受信 / 送信の攻撃対象領域と検出事項(ハードコードされた認証情報、平文プロトコル、未検証の Webhook、ガードされていないハンドラー、すべてのインターフェースで待ち受けるリスナー、無効化された TLS / SSH 検証、平文 gRPC、公開された IPC、リクエスト入力から構築された送信 URL)をテキスト、JSON、または SARIF で一覧表示します。CI 用に --fail-on も指定できます。
  • MCP サーバー(cg-mcp)を使うと、エージェントは grep の代わりにグラフをクエリできます。1 つのサーバーで複数のグラフを提供できます(graphs と任意の graph 引数を使用)。単一の --db は 1 つのグラフのみを対象とします。MCP を参照してください。
  • 計画中の変更に対するビジュアルビュー(cg serve)と計画チェック(cg plan check)。

Docs

Install · Quick start · CLI · MCP · Configuration · Architecture · Limitations

Changelog · Contributing · Security · MIT License

More recordings: docs/media.

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。