Why it exists
Coding agents that read code by grepping rediscover a project's structure on every request. They see text, not the graph of files, symbols, and references that the text encodes — so they re-derive it, imperfectly, again and again.
CGraph extracts that structure once. It scans a repository into a deterministic knowledge graph, keeps the graph warm in a local daemon, and serves it to agents over MCP. The agent asks precise questions — what calls this, what breaks if I change it, what's the shortest path between these two symbols — instead of scrolling through search results.
What it does
How it works
Three binaries form a pipeline: extraction, a warm daemon, and an MCP server.
Repository -> Parser -> Resolver -> Graph -> Querycgraph— a one-shot scan of the source tree. Deterministic,.gitignore-aware, with generated directories skipped.graphd— a daemon that keeps the graph warm and folds in edits incrementally as you work.cgraph-mcp— exposes the graph to Claude Code, Codex, and Cursor over MCP.
Quick start
cgraph --root . --out cgraph-outStart with the Quick Start in the docs for a guided walkthrough against a real repository.
Performance
CGraph is infrastructure software, so performance is a first-class concern: a warm daemon serves queries without re-scanning, and edits fold in incrementally rather than triggering a full rebuild. Measured figures, methodology, and hardware are documented on the benchmarks page in the docs — this page makes no unverified claims.
Next steps
- Read the docs — how the system works and why.
- Quick Start — build a graph of your own repo.
- Contribute — good-first-issue labels mark friendly entry points.