TL;DR

ast-graph là công cụ codebase intelligence viết bằng Rust. Nó parse toàn bộ source code thành một đồ thị cấu trúc - gồm functions, classes, imports, call chains - rồi cho phép query tức thì từ CLI hoặc qua MCP server. Phiên bản hiện tại là v0.2.0, hỗ trợ 8 ngôn ngữ và tích hợp sẵn với Claude Code, Cursor, Windsurf, Codex.

  • AST compression ~90% - chỉ giữ lại structural nodes
  • Benchmark: 810 files C#, 53k LOC - hoàn thành trong 5 phút 38 giây vs Claude solo 10 phút 28 giây
  • 10 MCP tools: blast_radius, call_chain, hotspots, dead_code, routes...
  • Free cho non-commercial; commercial từ $79

Khi AI agent không hiểu codebase của mình

AI coding agent có một điểm mù cố hữu: nó đọc file theo kiểu thủ công - load từng directory, đọc từng file - nhưng không có khái niệm về cấu trúc liên kết giữa các symbol. Kết quả là agent có thể đổi tên một function mà không biết 47 nơi khác đang gọi nó. Nó refactor một module mà không trace được blast radius. Nó làm PR review mà không biết 300 dòng diff thực ra chỉ ảnh hưởng đến 12 symbol trong auth flow.

Danh mục codebase intelligence tools sinh ra để lấp chỗ trống này. Và trong một thị trường đang bùng nổ năm 2026 - với GitNexus (28.9k stars), code-review-graph (13k stars) - ast-graph là tân binh đáng chú ý: nhỏ gọn, viết bằng Rust, chuyên sâu về HTTP tracing và confidence scoring.

Bên trong ast-graph hoạt động thế nào

Pipeline xử lý gồm 4 bước:

  1. Parse - tree-sitter quét toàn bộ source, extract AST cho từng file
  2. Compress - strip full syntax tree xuống chỉ còn structural nodes (~90% reduction)
  3. Resolve - cross-file resolution, Python C3 MRO, class-context-aware (this.method() resolve đúng class, không phải mọi method cùng tên)
  4. Store - lưu vào SQLite (zero-setup, single file) hoặc FalkorDB (OpenCypher cho team)

Mỗi edge trong graph mang một confidence score: 1.0 (exact structural match), 0.95 (same-file), 0.9 (import-scoped), 0.5 (global name-only fallback). Query có thể filter edge dưới ngưỡng nhất định để loại bỏ nhiễu.

ast-graph CLI demo - blast radius và hotspot analysis trên terminal

Những tính năng đáng chú ý

Git-aware analysis

Ba lệnh phục vụ trực tiếp cho workflow review & refactor:

  • blast-radius TokenService.validate --depth 3 - reverse traversal, liệt kê mọi caller ngược dòng, rank file theo số lượng caller. Một symbol có 200 callers không chạm trong 2 năm = architecturally stable. Cùng 200 callers nhưng bị touch 11 lần/tháng = đang bốc lửa - review priority khác hẳn.
  • changed-symbols --base origin/main - map git diff sang đúng symbol bị thay đổi. 300-line diff → 12 symbols cụ thể trong auth flow.
  • dead-code - tìm function/method không có inbound CALLS edge nào.

Cross-HTTP FETCHES

Tính năng độc đáo nhất của ast-graph: nối client-side HTTP call với server route thành một chuỗi duy nhất. fetch('/api/users') trên frontend → GET /api/users handler trên Express/FastAPI/Spring Boot → một FETCHES edge trong graph. blast-radiuscall_chain tự động vượt qua HTTP boundary mà không cần thay đổi query. Hiện hỗ trợ JS/TS.

MCP server tích hợp sẵn

Chạy ast-graph mcp để expose graph qua JSON-RPC over stdio. Mười tools được register:

  • symbol, call_chain, blast_radius, hotspots, dead_code
  • search (BM25, suffix wildcards tự động), routes, processes, stats, query (SQL/Cypher escape hatch)

Kết hợp tốt nhất: Claude đọc graph qua MCP để có structural context chính xác → rồi viết code. Benchmark cho thấy workflow này gần như luôn thắng dùng Claude solo.

Đặt cạnh các tool cùng loại

ToolStarsLicenseNgôn ngữMCP ToolsĐiểm mạnh riêng
ast-graph9Dual-use810Confidence scoring, cross-HTTP FETCHES
GitNexus28,900PolyForm NCTS-heavy16Hybrid search, deepest Claude Code hooks
code-review-graph13,000MIT2328Token reduction 8.2x, MIT (free commercial)
CodeGraphContext3,000MIT14MultipleFlexible backends: KùzuDB/FalkorDB/Neo4j
codebase-memory-mcp1,800MIT6614Sub-ms query, 99.2% token reduction

ast-graph còn rất non (9 stars, v0.2.0) nhưng có architecture rõ ràng và điểm khác biệt thực sự: confidence-tiered edges và cross-HTTP chain mà các tool khác chưa làm được cụ thể đến mức này.

Giới hạn và licensing

Giới hạn kỹ thuật:

  • Dynamic dispatch (virtual calls, reflection, JS callbacks, framework hooks) không trace được - graph-level claim, không phải runtime
  • FETCHES hiện chỉ JS/TS, Python/Rust/Java chưa có
  • dead-code có false positives: entry points (main, HTTP handlers, test_* functions) không có inbound caller là đúng theo thiết kế nhưng bị flag - xem như candidate set, không phải delete list

Pricing (Dual-Use License):

  • Miễn phí: personal, academic, research, non-commercial
  • Builder: $79 - 1 developer
  • Studio: $349 - 5 developers
  • Platform: $1,999 - toàn org

Commercial = bất kỳ for-profit use, kể cả internal tooling trong công ty có doanh thu.

Ai nên dùng ngay

ast-graph phù hợp nhất cho:

  • Developer dùng Claude Code / Cursor / Windsurf trên codebase lớn - thêm MCP server để agent có structural context thay vì đọc file thủ công
  • Full-stack engineer cần trace call chain xuyên HTTP boundary (React → Express/FastAPI)
  • Codebase non-commercial (open source, học thuật, side project) - hoàn toàn miễn phí
  • Ai muốn thử nghiệm trước khi đầu tư vào GitNexus hay code-review-graph

Nếu cần MIT license cho commercial project - code-review-graph hoặc CodeGraphContext phù hợp hơn. Nếu cần Claude Code integration sâu nhất - GitNexus vẫn đứng đầu (dù license restrictive hơn).

Kết

ast-graph mới ở v0.2.0 - 9 stars, còn rất non. Nhưng architecture rõ ràng (Rust, tree-sitter, confidence-tiered edges, pluggable backends) và điểm khác biệt thực (cross-HTTP FETCHES) cho thấy đây không phải clone. Danh mục code intelligence MCP đang bùng nổ năm 2026 - nếu bạn đang xây AI coding workflow, đây là tool đáng thử nghiệm ngay khi còn miễn phí.

Repo: via GitHub - emtyty/ast-graph