codebase-memory-mcp: Code Intelligence cho AI Agent
codebase-memory-mcp là một code intelligence MCP server viết bằng C, index một codebase thành knowledge graph bền vững gồm hàm, class và chuỗi lời gọi. Sau khi index, coding agent của bạn chạy truy vấn cấu trúc — trace chuỗi gọi này, tìm dead code, xem kiến trúc — thay vì grep từng file. README cho biết nó index đầy đủ một repo trung bình trong vài mili-giây và nhân Linux kernel trong khoảng ba phút, với truy vấn graph dưới một mili-giây.
Hãy chọn codebase-memory-mcp nếu agent AI của bạn cứ tốn token grep một codebase lớn và bạn muốn nó truy vấn cấu trúc — call graph, dead code, kiến trúc — từ một graph cục bộ. Tiết kiệm token là thật khi một truy vấn graph thay cho hàng chục vòng đọc/grep. Bỏ qua nếu repo của bạn đủ nhỏ để đọc file trực tiếp là ổn, hoặc nếu bạn e ngại một README nặng tính tiếp thị với các con số tiêu đề (giảm 99% token, 158 ngôn ngữ) mà bạn chưa tự kiểm chứng được. Nó chạy dưới dạng một binary tĩnh không phụ thuộc runtime, nên thử nó rất rẻ.
Vấn đề nó giải quyết
Agent AI khám phá code lạ theo cách chậm: đọc một file, grep một ký hiệu, đọc file khác, lặp lại. Trên một repo lớn, việc đó đốt hàng nghìn token mà vẫn bỏ sót các chuỗi gọi xuyên file. Agent không có mô hình bền vững về cách các phần code ghép lại, nên mỗi phiên lại tái khám phá cùng một cấu trúc từ đầu.
Đây là gì?
codebase-memory-mcp là một code intelligence MCP server mã nguồn mở (giấy phép MIT) biến một codebase thành knowledge graph truy vấn được cho agent AI. Viết bằng C và đóng gói thành một binary tĩnh duy nhất, nó dùng tree-sitter để phân tích code qua nhiều ngôn ngữ — README nói là 158 — cộng một lớp 'Hybrid LSP' giải kiểu cho khoảng một chục ngôn ngữ gồm Python, TypeScript, Go, Java và Rust. Nó lưu graph trong SQLite và phơi 14 công cụ MCP cho tìm kiếm, trace lời gọi, phân tích tác động và truy vấn kiểu Cypher. Không có LLM tích hợp — MCP client của bạn (Claude Code, Cursor và các agent khác) là lớp thông minh.
Vì sao đang được chú ý
Cho agent AI một cái nhìn cấu trúc rẻ về codebase đang là bài toán nóng, và dự án này giải nó bằng một stack khác thường: C thuần, grammar tree-sitter nhúng sẵn, SQLite trong bộ nhớ, và embedding gói sẵn biên dịch vào binary — không Docker, không API key, không Ollama. README ghép chuyện đó với một preprint arXiv và các con số benchmark mạnh, rồi tự cấu hình cho 11 coding agent chỉ từ một lệnh install, hạ thấp rào cản dùng thử.
Tính năng chính
- ✓Knowledge graph bền vững: index hàm, class, chuỗi gọi, route HTTP và liên kết xuyên dịch vụ vào SQLite, tồn tại qua các phiên
- ✓14 công cụ MCP gồm trace chuỗi gọi, phát hiện dead code, phân tích tác động trên git diff, và truy vấn graph kiểu Cypher
- ✓Phân tích tree-sitter mà README ghi là 158 ngôn ngữ, cùng lớp Hybrid LSP giải kiểu cho khoảng 12 ngôn ngữ gồm Python, TypeScript, Go, Java và Rust
- ✓Tìm kiếm ngữ nghĩa trên graph qua embedding nomic-embed-code gói sẵn trong binary — không cần API key hay máy chủ mô hình ngoài
- ✓Một binary tĩnh cho macOS, Linux và Windows, không phụ thuộc runtime; một lệnh install tự cấu hình 11 coding agent
- ✓Graph artifact chia sẻ nhóm: file graph.db.zst nén zstd mà bạn có thể commit để đồng đội bỏ qua bước reindex đầy đủ
- ✓UI trực quan hóa graph 3D tùy chọn tại localhost:9749 trong một bản build riêng
Trường hợp dùng tốt nhất
- •Để coding agent trace ai gọi một hàm xuyên các file trước khi bạn sửa nó
- •Tìm dead code — các hàm không có ai gọi — trên một repo lớn
- •Ánh xạ phạm vi ảnh hưởng của một git diff chưa commit tới các ký hiệu bị tác động
- •Cho agent một cái nhìn tổng quan kiến trúc (ngôn ngữ, điểm vào, route, hotspot) trong một lời gọi thay vì nhiều lần đọc file
- •Cắt chi phí token cho việc khám phá codebase lặp lại trong các phiên agent dài
Cách cài đặt / dùng thử
codebase-memory-mcp đóng gói thành một binary tĩnh duy nhất. Trên macOS hoặc Linux, lệnh cài một dòng theo README là `curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash` (thêm `-s -- --ui` để có UI graph). Trên Windows bạn tải `install.ps1`, chạy `Unblock-File` rồi chạy nó. Nó cũng có trên npm, PyPI, Homebrew, Scoop, Winget, Chocolatey và AUR. Lệnh `install` tự phát hiện các coding agent và ghi cấu hình MCP cho chúng, nên sau khi khởi động lại bạn chỉ cần nói 'Index this project'.
Cách sử dụng
Sau khi cài, khởi động lại agent và index repo — ví dụ trong README là bảo agent 'Index this project.' Từ đó agent gọi các công cụ MCP: `trace_path` để lần theo một chuỗi gọi, `search_graph` cho mẫu tên cấu trúc, `get_architecture` cho tổng quan, hoặc `detect_changes` để ánh xạ một git diff. Cũng có chế độ CLI, ví dụ `codebase-memory-mcp cli search_graph '{"project":"my-project","name_pattern":".*Handler.*"}'`, và tùy chọn `auto_index` để project mới được index ngay ở lần kết nối đầu.
Điểm mạnh
- ✓Một binary tĩnh, không Docker, không API key, không phụ thuộc runtime — rào cản thiết lập thực sự thấp
- ✓Chạy 100% cục bộ và README khẳng định không thu thập telemetry, nên code không rời khỏi máy bạn
- ✓Thay nhiều vòng grep/đọc bằng một truy vấn graph duy nhất, đó là chỗ tiết kiệm token
- ✓Một lệnh install cấu hình MCP và hook cho 11 agent, nên bạn không phải sửa config bằng tay
- ✓Giấy phép MIT, và thiết kế được hậu thuẫn bởi một preprint arXiv mà README dẫn
Hạn chế & rủi ro
- △README nặng tính tiếp thị, và các con số tiêu đề (giảm 99% token, chất lượng trả lời 83%, 158 ngôn ngữ) lấy từ chính preprint của tác giả — hãy coi đó là benchmark của nhà cung cấp, không phải kết quả độc lập
- △Viết bằng C và phân phối dưới dạng binary dựng sẵn; trên Windows, SmartScreen báo nó chưa ký, nên bạn đang tin vào checksum đã ký và bản quét antivirus mà README dẫn
- △Không có LLM tích hợp theo thiết kế — nó chỉ tốt ngang MCP client điều khiển nó, và một agent yếu sẽ không hỏi đúng truy vấn graph
- △Nó ghi vào file cấu hình agent và pre-tool hook của bạn khi cài, xâm lấn hơn so với việc chỉ đăng ký một MCP server thường
- △Hybrid LSP chỉ giải kiểu cho khoảng 12 ngôn ngữ; hơn 140 ngôn ngữ còn lại chỉ dựa vào tree-sitter, nên giải quyết xuyên file yếu hơn ở đó
Lựa chọn thay thế
Ai nên thử — và ai nên bỏ qua
Lập trình viên chạy agent AI trên các repo lớn hoặc xa lạ và thấy chúng đốt token tái khám phá cùng một cấu trúc. Nếu bạn làm trong một monorepo hoặc một codebase đủ lớn để grep từng file là cực hình, một graph truy vấn được rất đáng. Nếu dự án của bạn nhỏ, hoặc bạn không muốn chạy một binary dựng sẵn có sửa config agent, lợi ích mỏng hơn.
Câu hỏi thường gặp
codebase-memory-mcp là một code intelligence MCP server viết bằng C, index một codebase thành knowledge graph bền vững. Agent AI sau đó truy vấn graph đó — chuỗi gọi, dead code, kiến trúc — thay vì đọc từng file.
README khẳng định nó chạy 100% cục bộ và không thu thập telemetry, nên code, truy vấn và cách dùng của bạn ở lại trên máy. Graph được lưu trong SQLite dưới thư mục cache của bạn.
README ghi phân tích tree-sitter cho 158 ngôn ngữ, với lớp Hybrid LSP giải kiểu sâu hơn cho khoảng 12 — gồm Python, TypeScript/JavaScript, Go, C, C++, Java, Kotlin, Rust, PHP, C# và Perl.
Cho đọc file khiến agent grep và đọc lặp lại; README cho biết năm truy vấn graph cấu trúc tốn khoảng 3.400 token so với khoảng 412.000 cho tìm kiếm từng file. Graph còn giải các chuỗi gọi xuyên file mà grep bỏ sót.
Không. Nó không có LLM tích hợp và gói embedding vào binary, nên không có API key, Ollama hay Docker phải cấu hình — MCP client của bạn là lớp thông minh.