· claude-code / mcp / code-intelligence

GitNexus: Đánh giá code-graph MCP mạnh nhất cho Claude Code

GitNexus là công cụ code-graph mạnh nhất cho Claude Code: 16 MCP tool, query cấp symbol, không cần server. PolyForm NC chặn dùng thương mại.

Bởi

2.065 từ · 11 phút đọc

Dùng GitNexus nếu bạn chạy Claude Code trên codebase TypeScript, JavaScript, hoặc Python quy mô vừa đến lớn và muốn agent điều hướng cấu trúc thay vì đoán mò. Nó làm đúng những gì đã hứa: một knowledge graph nhanh, chính xác, có thể query được, tích hợp sâu với Claude Code. Cảnh báo là có thật — license PolyForm Noncommercial nghĩa là bạn không thể dùng GitNexus trong sản phẩm thương mại hay dịch vụ tooling nội bộ mà không trả phí cho Akon Labs. Với dự án cá nhân và open-source, đây là công cụ code intelligence local mạnh nhất trong phân khúc này.

Bài này dành cho ai

Developer dùng Claude Code trên repo 50+ file mà agent thường xuyên bị context-thrash — đốt token đi tìm đúng file thay vì làm việc thực sự. Bỏ qua nếu codebase của bạn chỉ là một utility nhỏ, bạn đang dùng Windows với Windsurf (MCP startup bị lỗi trên Windsurf cho Windows; Claude Code trên Windows chưa được kiểm thử), hoặc bạn đang xây sản phẩm thương mại mà stack sẽ đóng gói hoặc chạy GitNexus.

Những gì chúng tôi kiểm thử

Công cụ: GitNexus v1.6.5
Nền tảng: macOS, dòng chip M, Node.js v24.12.0
Codebase: toolchew — TypeScript monorepo (pnpm workspaces, Turbo), 26 source file, 1.304 dòng code
Lệnh chạy: gitnexus analyze, gitnexus query, gitnexus impact, gitnexus context

Đây là bài kiểm thử trên repo nhỏ. Phân tích cấu trúc của GitNexus có giá trị cao nhất trên codebase lớn hơn, nơi cross-file dependency dày đặc và việc agent tìm kiếm mù quáng tốn kém. Chúng tôi chạy các kiểm thử này như bước xác minh nền — bằng chứng rằng indexer hoạt động đúng và kết quả chính xác trước khi khuyến nghị dùng cho workload lớn hơn.

GitNexus hoạt động thế nào

GitNexus là một code intelligence engine không cần server. Bạn chạy một lệnh, nó phân tích codebase thành knowledge graph, và AI agent query graph đó qua 16 MCP tool thay vì đọc file mò mẫm.

Pipeline indexing thực hiện năm bước theo thứ tự:

  1. File walk — dựng bản đồ quan hệ thư mục và file
  2. Tree-sitter parse — trích xuất function, class, method, và interface thành AST node trên 14 ngôn ngữ
  3. Cross-file resolution — kết nối import, function call, và class inheritance trên toàn bộ codebase
  4. Leiden clustering — nhóm các symbol liên quan thành community
  5. Hybrid search indexing — BM25 lexical search kết hợp semantic embedding tùy chọn, gộp qua reciprocal rank fusion

Graph kết quả nằm trong .gitnexus/ — một KuzuDB instance nhúng sẵn, có hỗ trợ vector. Không server cần quản lý, không Docker image, không upload lên cloud.

Hướng tiếp cận thay thế là vector RAG: nhúng chunk file, lấy top-N cho mỗi query, và hy vọng chunk đúng nổi lên. GitNexus lập luận rằng quan hệ cấu trúc (function A gọi function B, module C chiếm 40% cluster 2) đáng tin cậy hơn semantic similarity cho các tác vụ code agentic. Graph đã index biết những quan hệ đó ngay khi query. RAG phải suy ra lại mỗi lần, thường không chính xác.

Cài đặt

Cách được khuyến nghị là cài global, không phải npx:

npm install -g gitnexus
gitnexus analyze  # chạy từ thư mục gốc repo

Cold install qua npx gitnexus thường xuyên vượt quá MCP timeout mặc định của Claude Code (~30s). Cài global tránh được điều này và đảm bảo MCP tool luôn sẵn sàng.

Nếu gặp lỗi native build khi cài, bỏ qua optional grammar binding:

GITNEXUS_SKIP_OPTIONAL_GRAMMARS=1 npm install -g gitnexus

Sẽ mất khả năng parse Dart và Protocol Buffers. TypeScript, JavaScript, Python, Go, Rust, Java, Kotlin, C, C++, C#, Swift, và PHP không bị ảnh hưởng.

Cảnh báo Windows: Windsurf MCP startup bị lỗi trên Windows (issue #1649 đang mở). CLI hoạt động, nhưng MCP integration trên Windsurf sẽ không load tool cho đến khi lỗi được sửa. Claude Code trên Windows chưa được kiểm thử. Kiểm tra issue trước khi cài trên Windows.

Index trông như thế nào

Chạy gitnexus analyze trên toolchew hoàn thành sau 6.6 giây và cho ra kết quả:

Repository indexed successfully (6.6s)
2,492 nodes | 2,542 edges | 13 clusters | 0 flows

2.492 node từ 26 source file cho thấy indexer đang trích xuất từng symbol (function, class, interface, method) chứ không chỉ node cấp file. Đây là điều làm cho graph hữu ích — bạn có thể query ở cấp symbol, không chỉ cấp file.

0 execution flow được trace là bình thường. GitNexus trace flow từ các entry point có thể phát hiện được. Một monorepo nhỏ gồm library utility mà không có executable độc lập sẽ không có entry point nào để trace, và tool báo chính xác là không có thay vì bịa ra.

Độ chính xác của query

Query: gitnexus query "authentication and API calls"
Kết quả: xếp auth.ts là code definition hàng đầu — đúng. Cũng trả về content article chứa từ “authentication” (file Markdown) vì codebase này trộn TypeScript source và content article trong cùng một monorepo.

Kết quả lẫn lộn content là hành vi bình thường, không phải lỗi. BM25 không phân biệt file code và file prose — nó khớp theo tần suất từ. Trên repo thuần code, điều này sẽ không xảy ra. Trên toolchew, nơi content article nhiều hơn file TypeScript, các query dùng từ xuất hiện trong article sẽ trả về kết quả article lẫn với code.

Semantic embedding giảm thiểu điều này, nhưng cần cấu hình thêm. Với dự án thuần code, chế độ BM25 mặc định là sạch.

Query impact: gitnexus impact "classify"
Kết quả:

Function: classify
File: packages/gsc/src/lib/classify.ts:31-55
Risk: LOW
Direct callers: 0

Đúng cả ba điểm. classify là utility function thuần túy, chỉ được gọi bởi test file của chính nó. Điểm risk LOW là hợp lý — không có downstream dependent nghĩa là không có blast radius. Tool không thổi phồng risk hay bịa ra caller.

Query context: gitnexus context "classify"
Kết quả: caller đến là classify.test.ts, outgoing call là rỗng.

Chính xác. classify không có dependency bên ngoài — nó nhận input và trả về kết quả phân loại mà không gọi bất kỳ thứ gì bên ngoài chính nó.

Không có quan hệ ảo trong cả ba query. Trên repo nhỏ, nơi câu trả lời đúng dễ kiểm chứng, đây là kết quả baseline quan trọng.

Điểm mạnh

Phân tích impact trước khi sửa: Agent chạy impact trước khi chạm vào symbol, nhận điểm risk và danh sách caller, rồi quyết định có tiếp tục không. Trên codebase lớn với 200+ caller trên một utility trung tâm, điều này phát hiện blast radius trước khi sửa thay vì sau. Đây là use case mạnh nhất của GitNexus.

Debug call chain: context trả về toàn bộ đồ thị caller và callee của bất kỳ symbol nào trong một query. Trace bug qua ba lớp function call trên repo lớn mà không có tool này đòi agent phải mở file tuần tự và đọc import từng cái. Với graph, chỉ cần một query.

Refactor đa file: MCP tool rename thực hiện đổi tên symbol với nhận thức về graph trên nhiều file. Nó biết file nào tham chiếu symbol từ index thay vì chạy grep. Trên TypeScript monorepo với barrel export và re-export, rename dựa trên grep bỏ sót indirect reference. Graph thì không.

Tích hợp Claude Code sâu nhất trong phân khúc: GitNexus có tích hợp Claude Code sâu nhất trong phân khúc này — MCP tool + 4 agent skill (exploring, debugging, impact analysis, refactoring) + PreToolUse hook chạy impact trước khi sửa + PostToolUse hook cảnh báo index cũ sau commit + tự động tạo context block trong CLAUDE.md. Đây không phải tích hợp được thêm vào sau; nó được thiết kế cho editor này ngay từ đầu.

Điểm yếu

Codebase C++ lớn: GitNexus có 12 issue cải tiến C++ đang mở tính đến thời điểm viết bài, và một vấn đề performance/stability được báo cáo trên codebase Unreal Engine 5 (issue #1644). Parse C++ hoạt động về lý thuyết, nhưng repo C++ rất lớn là trường hợp căng thẳng đã biết.

Không có cập nhật index real-time: Indexing là thủ công. Bạn chạy gitnexus analyze sau khi thay đổi đáng kể. Không có chế độ file-watcher tự re-index khi lưu. Trong phiên refactor tích cực, index sẽ bị cũ. PostToolUse hook trong Claude Code có thể báo hiệu khi commit xảy ra, nhưng việc re-index vẫn là bước chủ động.

Độ bao phủ C# chưa chắc chắn: Lỗi parse âm thầm trong v1.4.1 khiến simple_base_type — một node type không hợp lệ trong grammar tree-sitter-c-sharp đi kèm — làm sập toàn bộ C# query pipeline, không trích xuất được symbol nào (issue #298, đã đóng). Bản sửa đã được release sau đó, nhưng nếu C# là ngôn ngữ chính của bạn, hãy kiểm chứng bằng gitnexus context trên một function đã biết trước khi tin vào index.

302 issue đang mở (truy cập 2026-05-17): Tỷ lệ chấp nhận được so với số star, nhưng nghĩa là vẫn còn nhiều góc cạnh chưa hoàn thiện. Kiểm tra issue tracker trước khi triển khai cho ngôn ngữ hay workflow quan trọng với bạn.

Giá và vấn đề license

CLI mã nguồn mở là miễn phí. Web UI tại gitnexus.vercel.app miễn phí cho repo công khai và upload ZIP.

License là PolyForm Noncommercial 1.0.0. Đây không phải MIT. Nó cấm rõ ràng việc dùng GitNexus trong bất kỳ hoạt động thương mại nào — xây công cụ có trả phí trên nền nó, dùng trong nền tảng developer nội bộ bạn thu phí, hoặc đóng gói vào sản phẩm. Dự án cá nhân và open-source được phép đầy đủ. Sử dụng thương mại cần license từ Akon Labs; gói enterprise tại app.akonlabs.com tồn tại nhưng không có trang giá công khai.

Nếu bạn đang đánh giá cho team xây sản phẩm developer-tooling, coi license như điểm dừng cứng cho đến khi xác nhận điều khoản thương mại với Akon Labs.

Không có chương trình affiliate. Bài đánh giá này không có referral link.

So sánh đối thủ

Công cụStarsLicenseHướng tiếp cậnPhù hợp nhất
GitNexus38.700+PolyForm NCKnowledge graph + MCPRepo lớn + Claude Code
Repomix22.400+MITContext packing (phẳng)Injection context đơn giản
CodeGraphContext2.200+MITKnowledge graph (Python)Graph thương mại được
Sourcegraph CodyProprietaryNền tảngEnterprise repo lớn

GitNexus dẫn đầu phân khúc graph mã nguồn mở về độ sâu tích hợp MCP và số star. Điểm yếu cạnh tranh chính so với CodeGraphContext là license — nếu bạn cần knowledge graph cho mục đích thương mại, MIT license của CodeGraphContext là lựa chọn rõ ràng, chấp nhận MCP maturity thấp hơn.

Kết luận

Chọn GitNexus nếu: bạn dùng Claude Code, repo có 50+ file với dependency cross-file thực sự phức tạp, bạn dùng macOS hoặc Linux, và use case là cá nhân, nghiên cứu, hoặc open-source.

Bỏ qua nếu: bạn dùng Windows với Windsurf (MCP startup bị lỗi; Claude Code trên Windows chưa được kiểm thử), codebase nặng C++ (nhiều góc cạnh chưa hoàn thiện), bạn cần commercial license (giá không công khai, liên hệ Akon Labs), hoặc repo nhỏ đến mức context dựa trên file đã đủ dùng.

Hơn 38.700 GitHub star và 4.400 fork cho thấy mức độ áp dụng thực sự, không phải một demo project. Người kiểm thử trên monorepo nhỏ nhận được kết quả chính xác trong 6.6 giây. Hướng tiếp cận structural graph có cơ sở vững chắc cho vấn đề nó giải quyết. License là điều duy nhất cần kiểm tra trước khi cam kết sử dụng.

Tài liệu tham khảo