code-graph

io.github.cyberchronos00Published by GitHub account cyberchronos00v0.23.13Updated Oct 25, 2026

Local dependency graph: callers, entry points and file:line evidence for what a change affects.

VerifiedSTDIODesktop only

Overview

code-graph's local MCP server; no sign-in required; STDIO.

No AI overview yet: these facts come from the registry entry and the server itself.

Installation

In SourceWeft

  1. Open code-graph in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

code-graph

See everything a change affects before you make it: a local, deterministic dependency graph of routes, calls, tables and config, with file:line evidence for every hop.

For you and your AI agent (CLI + MCP). No LLM in the graph.

[PyPI] [Downloads] [Python 3.11+] [License: MIT] [Docs]

Docs · Quick start · CLI · MCP · Changelog

[cg visual view: the graph around the warehouse connection, a selected node with its evidence paths and source, then the planned-change overlay for the preorders plan]

Quick start

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

Try it on a bundled sample, link a frontend to a backend, or connect an agent over MCP: Quick start guide. Other install options (install.sh, Windows, exact-mode toolchains): Install.

cg reaches table:store_books on the bundled Django sample:

text
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

[Terminal demo: cg indexes the bundled Laravel and Nuxt sample apps, links them, then runs reaches, path, impact and plan check]

Supported languages

LanguageFrameworks and factsCallsDocs
[Python]Django (+ DRF, django-ninja), FastAPI / Starlette, Flask, Celeryexact (stdlib ast)Python
[TypeScript] [JavaScript]Nuxt / Vue, NestJS, Next.js, Astro, Express, Fastify, Koa, Hono, Elysia, React Router / Remixexact (TypeScript compiler API)TS frameworks
[PHP]Laravel (routes, route attributes, middleware, queues, broadcasting, outbound HTTP)exact (nikic/php-parser; needs PHP 8.2+)PHP
[Dart]Flutterexact (Dart analyzer; needs the Dart SDK)Platforms
[Kotlin]Android, Kotlin Multiplatform, Springheuristic; exact with scip-java (opt-in)Kotlin
[Java]Spring (routes, guards, beans, tables, clients)heuristic; exact with scip-java (opt-in)Java
[Swift]iOS / SwiftPMheuristic; exact with the Swift index store (opt-in)Swift
[Rust] [C] [C++]crates / modules, entry points, FFI, #[cfg] / #if gatesheuristic; exact with rust-analyzer / scip-clangRust, C and C++

Go and others: import a SCIP index with cg index --scip FILE. Run cg doctor to see exact / heuristic per language on your machine.

What you get

  • reaches, impact, path: every caller, route, job and page that reaches a table, config key or method.
  • cg affected --base main: the tests and entry points a change reaches (--quiet feeds your test runner).
  • Across repos: cg link matches client HTTP calls (frontends and Laravel / Guzzle backends) to server routes, and checks request keys (Laravel FormRequest, Elysia schemas, Nuxt / TypeScript bodies).
  • Route guards: cg routes --writes --unguarded lists routes that write with no auth guard. Laravel checks inside the action count as inline guards unless --strict.
  • Security views: cg surface lists the inbound / outbound attack surface and findings (hardcoded credentials, plaintext protocols, unverified webhooks, unguarded handlers, listeners on all interfaces, disabled TLS / SSH verification, plaintext gRPC, exposed IPC, outbound URLs built from request input) as text, JSON or SARIF, with --fail-on for CI.
  • MCP server (cg-mcp) so agents query the graph instead of grepping. One server can serve many graphs (graphs plus an optional graph argument); a single --db stays one graph. See MCP.
  • Visual view (cg serve) and plan checks (cg plan check) for planned changes.

Docs

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

Changelog · Contributing · Security · MIT License

More recordings: docs/media.

Source: README.md at commit 00f41a5

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

6
  1. v0.23.13LatestOct 20, 2026
  2. v0.23.12Oct 19, 2026
  3. v0.23.10Oct 19, 2026
  4. v0.23.6Oct 17, 2026
  5. v0.23.3Oct 17, 2026
  6. v0.23.2Oct 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts