codebase-memory-mcp: Memori Struktural untuk Agen Pengodean Anda
Intinya: codebase-memory-mcp mengindeks repositori Anda ke dalam graf pengetahuan persisten. Agen kemudian menjawab pertanyaan struktural dari graf, bukan dengan grepping dan membaca file satu per satu. Proyek ini mengukur lima kueri struktural dengan sekitar 3.400 token melalui graf, dibandingkan sekitar 412.000 token melalui penjelajahan file—pengurangan 99,2%. Ditulis dalam C, dikirim sebagai biner native tunggal tanpa runtime dan tanpa kunci API, mendukung lebih dari 160 bahasa, serta berjalan sepenuhnya di mesin Anda. Per 1 September 2026, proyek ini memiliki 41.536 bintang dan berlisensi MIT.
Artikel ini adalah tinjauan mendalam atas salah satu alat dari rangkuman lima alat agen AI open source yang layak diinstal pada tahun 2026.
Masalah yang Diselesaikan
Tanyakan kepada agen Anda, “Di mana fungsi ini dipanggil?” Biasanya agen akan:
- Melakukan
grep. - Membaca beberapa file.
- Mengulangi
grepdengan pola lain. - Membaca file tambahan.
- Menjawab setelah menghabiskan puluhan ribu token.
Ketika pertanyaan berikutnya muncul, proses tersebut diulangi dari awal.
Pola ini menghabiskan batas penggunaan dalam sesi panjang. Lebih buruk lagi, konteks yang penuh dengan isi file menyisakan lebih sedikit ruang untuk penalaran. Setelah sesi selesai, semua konteks itu juga hilang.
codebase-memory-mcp mengatasi kedua masalah tersebut dengan mengindeks struktur repositori sekali, lalu menyimpannya sebagai graf pengetahuan yang dapat digunakan lintas sesi.
Cara Kerjanya
Alat ini menguraikan repositori menjadi graf persisten yang berisi:
- Fungsi dan kelas
- Rantai panggilan
- Rute HTTP
- Relasi lintas layanan
- Informasi arsitektur dan dependensi
Parsing menggunakan analisis AST berbasis tree-sitter untuk lebih dari 160 bahasa. Lapisan LSP hibrida kemudian menambahkan resolusi tipe semantik untuk kelompok bahasa inti yang dicantumkan di README:
- Python
- TypeScript dan JavaScript, termasuk JSX serta TSX
- PHP
- C#
- Go
- C dan C++
- Java
- Kotlin
- Rust
- Perl
Perbedaannya penting. Parsing AST dapat menemukan bahwa metode bernama save dipanggil. Resolusi tipe dapat menentukan kelas mana yang memiliki metode tersebut.
Hasilnya tersedia melalui 15 alat MCP, termasuk:
- Pencarian kode
- Pelacakan rantai panggilan
- Gambaran arsitektur
- Analisis dampak
- Pemeriksaan cakupan indeks
- Kueri Cypher
- Deteksi kode mati
- Penautan HTTP lintas layanan
- Manajemen ADR
Karena menggunakan Model Context Protocol, alat ini dapat digunakan oleh klien MCP apa pun. Proyek ini mencantumkan 45 antarmuka agen yang didukung, termasuk Claude Code, Codex, Cursor, Windsurf, OpenCode, Gemini CLI, Aider, dan Kilocode.
Angka yang Perlu Diperhatikan
Ada dua set pengukuran yang sebaiknya dibaca bersama.
Pengukuran proyek
Lima kueri struktural menggunakan:
- Sekitar 3.400 token melalui graf
- Sekitar 412.000 token melalui penjelajahan grep file-per-file
Hasilnya adalah pengurangan 99,2%, atau sekitar 120 kali lebih sedikit token untuk jawaban yang sama.
Evaluasi akademis
Pracetak Codebase-Memory: Tree-Sitter-Based Knowledge Graphs for LLM Code Exploration via MCP mengevaluasi pendekatan ini pada 31 repositori dunia nyata dan melaporkan:
- Kualitas jawaban 83%
- 10 kali lebih sedikit token
- 2,1 kali lebih sedikit panggilan alat dibandingkan penjelajahan file-per-file
Perbedaan antara 120 kali dan 10 kali perlu dipahami. Angka 120 kali berasal dari lima kueri struktural—kasus terbaik untuk graf. Angka 10 kali berasal dari kumpulan pertanyaan yang lebih luas dan lebih dekat dengan penggunaan sehari-hari.
Gunakan 10 kali sebagai angka perencanaan. Jika pekerjaan Anda banyak berisi pertanyaan struktural, hasilnya bisa lebih baik.
Kecepatan
- Kernel Linux, 28 juta baris dalam 75.000 file: sekitar tiga menit
- Repositori rata-rata: diindeks dalam hitungan milidetik
- Kueri struktural: kurang dari satu milidetik
Pipeline-nya menggunakan pendekatan RAM-first, kompresi LZ4, SQLite dalam memori, dan pencocokan pola Aho-Corasick terpadu. Memori dilepaskan setelah pengindeksan selesai.
Implementasi dalam C, bukan TypeScript atau Python, membantu menjelaskan performa tersebut sekaligus menghilangkan kebutuhan untuk memasang runtime tambahan.
Instalasi
macOS dan Linux
curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash
Windows
Gunakan langkah yang direkomendasikan proyek, bukan menjalankan skrip secara buta:
Invoke-WebRequest -Uri https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.ps1 -OutFile install.ps1
notepad install.ps1 # baca dulu
Unblock-File .\install.ps1
.\install.ps1
Pilihan konfigurasi yang tersedia antara lain:
-
--skip-configuntuk memasang biner tanpa mengubah konfigurasi agen -
--dir=<path>untuk menentukan lokasi instalasi
Pemasang dapat mendeteksi agen pengodean yang terinstal dan menulis entri MCP yang sesuai. Pada klien yang mendukungnya, pemasang juga menambahkan instruksi, keterampilan, dan hook siklus hidup.
Di macOS, pemasang menghapus atribut karantina dan melakukan ad-hoc signing pada biner. Anda tidak perlu menjalankan xattr atau codesign secara manual.
Setelah instalasi, mulai ulang agen Anda dan perintahkan agen untuk mengindeks proyek.
Konfigurasi Awal
Dua pengaturan berikut layak diaktifkan sejak hari pertama:
# indeks proyek baru secara otomatis pada koneksi pertama
codebase-memory-mcp config set auto_index true
codebase-memory-mcp config set auto_index_limit 50000
# jalankan visualisasi graf bawaan
codebase-memory-mcp --ui=true --port=9749
Buka localhost:9749 untuk melihat graf pengetahuan dalam 3D. Visualisasi ini berguna untuk menemukan struktur yang sebelumnya tidak Anda sadari dan memeriksa apakah indeks mencakup bagian repositori yang diharapkan.
Jika Anda bekerja dengan banyak repositori, pertimbangkan:
codebase-memory-mcp config set auto_watch false
codebase-memory-mcp config set watcher_enabled false
auto_watch false mencegah sesi mendaftarkan proyek ke pengawas latar belakang. watcher_enabled false mematikan thread polling sepenuhnya. Pengaturan kedua dibaca sekali saat daemon dimulai, jadi mulai ulang daemon setelah mengubahnya.
Dua Pemeriksaan Keamanan
Keduanya didokumentasikan oleh proyek dan patut diperiksa sebelum digunakan.
Microsoft Defender
Microsoft Defender mungkin menandai biner rilis sebagai Trojan:Script/Wacatac.B!ml. Proyek menyebutnya sebagai false positive yang diketahui dan mencatat bahwa biasanya 61 dari sekitar 62 mesin pemindai memberikan hasil bersih.
Keluarga deteksi yang sama juga pernah menandai GitHub CLI, llama.cpp, Godot, dan toolchain Go milik Microsoft. Setiap rilis dipindai menggunakan VirusTotal, dan catatan rilis menautkan hasilnya.
Penyebab yang diduga adalah heuristik terhadap biner native kecil yang tidak ditandatangani. Namun, popularitas bukanlah audit keamanan. Tetap verifikasi rilis dan sumbernya sendiri.
Akses ke kode dan konfigurasi
Alat ini membaca basis kode dan menulis ke file konfigurasi agen. Itu memang bagian dari tugasnya, dan proyek mendokumentasikannya secara terbuka.
Mitigasinya meliputi:
- Sumber lengkap tersedia di bawah lisensi MIT
- Rilis memiliki OpenSSF Scorecard
- Rilis menyertakan provenance SLSA level 3
- Pemrosesan dilakukan sepenuhnya secara lokal
- Proyek menyatakan tidak membuat permintaan jaringan sendiri
- Tidak ada pemeriksaan pembaruan di latar belakang
- Tidak ada komunikasi “pulang ke rumah”
Pembaruan dijalankan melalui skrip instalasi di samping biner, bukan dari proses yang sedang berjalan.
Praktik yang disarankan tetap sederhana: baca skrip instalasi sebelum memasukkannya ke Bash dan verifikasi klaim lokal jika kode Anda sensitif.
Mengapa Ini Layak Dipasang Terlebih Dahulu
Alat agen lain mengubah cara Anda bekerja:
- Persona mengubah cara Anda menulis prompt
- Worktree paralel mengubah cara Anda mengatur pekerjaan
- Akses web mengubah jenis pertanyaan yang dapat diajukan
codebase-memory-mcp tidak mengubah alur kerja. Anda memasangnya, mengindeks proyek, lalu agen berhenti membuang konteks untuk loop grep.
Pada refactoring panjang, perbedaan antara mencapai batas penggunaan pada pukul dua siang dan menyelesaikan pekerjaan pada hari yang sama sangat besar.
Dampak terhadap kualitas juga penting. Agen yang menghabiskan 400.000 token untuk membaca file memiliki lebih sedikit ruang untuk memikirkan masalah dan lebih mudah melupakan isi yang dibaca di awal sesi. Menjawab dari graf menjaga konteks tetap tersedia untuk penalaran. Masalah serupa juga berlaku pada ukuran output alat, seperti dibahas dalam artikel tentang jendela konteks respons alat agen.
Alat yang Paling Sering Digunakan
Anda tidak perlu menghafal semua dari 15 alat MCP. Agen yang akan memilihnya. Yang perlu Anda ketahui adalah jenis pertanyaan yang kini menjadi murah untuk diajukan.
Analisis dampak
Sebelum mengubah tanda tangan fungsi, tanyakan:
Apa saja yang akan rusak jika fungsi ini berubah?
Graf dapat melacak pemanggil di seluruh repositori dalam waktu kurang dari satu milidetik. Pendekatan grep mudah melewatkan dispatch dinamis atau relasi yang tidak langsung.
Pelacakan rantai panggilan
Fitur ini menjawab bagaimana eksekusi mencapai bagian kode tertentu. Fitur ini sangat berguna ketika Anda pertama kali mempelajari repositori yang tidak dikenal.
Gambaran arsitektur
Anda dapat memperoleh peta struktural tanpa meminta agen membaca seluruh pohon direktori. Ini sangat cocok untuk onboarding dan eksplorasi read-only.
Deteksi kode mati
Gunakan sebelum sprint pembersihan untuk menemukan kode yang tidak dipanggil apa pun.
Penautan HTTP lintas layanan
Fitur ini menghubungkan panggilan dalam satu layanan dengan handler di layanan lain. Pada arsitektur microservices, hasilnya jauh lebih berguna daripada analisis yang berhenti pada satu repositori.
Kueri Cypher
Jika kebutuhan Anda tidak tercakup alat lain, kueri graf secara langsung menggunakan Cypher.
Perubahan praktisnya adalah Anda dapat mulai mengajukan pertanyaan yang sebelumnya dihindari karena mahal:
- “Apa yang memanggil fungsi ini?”
- “Seperti apa jalur permintaan untuk endpoint ini?”
- “Apa dampak perubahan signature ini?”
- “Layanan mana yang menangani panggilan HTTP tersebut?”
Alat ini mengubah ekonomi keingintahuan—dan itu mungkin lebih penting daripada fitur individual mana pun.
Batasan: Apa yang Diketahui Graf, dan Apa yang Tidak
Graf dibangun dari kode Anda. Karena itu, graf sangat baik dalam menjawab pertanyaan tentang lokasi dan relasi struktural kode.
Graf dapat mengetahui bahwa:
- Rute
/v1/invoices/{id}tersedia - Fungsi tertentu menangani rute tersebut
- Fungsi mana yang memanggil handler
- Layanan mana yang melakukan panggilan HTTP
Namun, graf tidak otomatis mengetahui kontrak API. Misalnya, graf tidak dapat menyimpulkan bahwa:
- Endpoint mengembalikan
409dengan envelope error berbeda ketika kunci idempotensi digunakan kembali - Field
statusmemiliki tepat lima nilai valid - Cursor bersifat buram, bukan offset
- Sebuah field sudah deprecated dan akan dihapus kuartal depan
Informasi tersebut biasanya merupakan kesepakatan, bukan sesuatu yang dapat diturunkan dari implementasi handler.
Akibatnya, agen yang sudah memiliki memori struktural sempurna masih dapat menebak kontrak, membuat klien terhadap bentuk yang disimpulkan, dan menguji mock yang dibuatnya sendiri—lalu semuanya gagal ketika mencapai staging.
Di sinilah Apidog melengkapi codebase-memory-mcp:
- Graf menjawab “di mana”: handler mana, rantai panggilan mana, dan apa yang terdampak.
- Spesifikasi menjawab “apa”: skema, kode status, dan envelope error yang sebenarnya.
- Mock dibuat dari spesifikasi, termasuk cabang error yang mungkin tidak terpikirkan oleh agen.
- Uji kontrak berjalan di CI dan gagal ketika implementasi menyimpang dari kesepakatan.
Gunakan spesifikasi OpenAPI Anda sebagai alat agen, bukan meminta agen merekonstruksi kontrak dari kode.
Bacaan terkait:
- Merancang skema alat API untuk agen
- Apa yang terjadi ketika perubahan API merusak agen AI
- Apakah Anda masih memerlukan alat API di era agen AI?
Jika agen Anda menulis klien API terhadap bentuk yang tidak pernah ditetapkan, unduh Apidog untuk membangun spesifikasi, mock, dan pengujian kontrak yang eksplisit.
Memori Kode Bukan Memori Pekerjaan
Batas kedua bersifat organisasional.
Indeks berada di direktori cache pada satu mesin dan satu akun. Indeks dapat dibagikan oleh sesi Claude Code, Codex, dan OpenCode lokal melalui daemon koordinasi, tetapi tidak melampaui batas mesin tersebut.
Yang lebih penting, graf adalah memori basis kode, bukan memori pekerjaan. Graf dapat memberi tahu bahwa retry helper memanggil klien pembayaran, tetapi tidak dapat menjelaskan:
- Mengapa
backoffdiubah pada bulan Juli - Siapa yang membuat keputusan tersebut
- Alternatif apa yang dipertimbangkan
- Apakah perubahan itu telah ditinjau
Sejarah tersebut biasanya hilang di dalam sesi terminal lama.
Sharkly melengkapi bagian ini dengan menjadikan tugas sebagai catatan yang tahan lama:
- Pekerjaan hidup sebagai tugas, sementara output agen muncul sebagai komentar yang dapat dibalas.
- Kemajuan dan panggilan alat tersimpan pada tugas.
- Agen disimpan sebagai konfigurasi yang dapat digunakan kembali, termasuk instruksi, runtime, keterampilan, repositori, dan lingkungan.
- Eksekusi berjalan pada Komputer pilihan Anda—laptop, server, atau kontainer—dengan Runtime yang telah dipasang.
- Worktree terpisah digunakan untuk setiap tugas agar pekerjaan paralel pada repositori yang sama tidak bertabrakan.
- Tugas di Backlog tidak langsung memulai eksekusi.
- Struktur ruang, proyek, sprint, dan tugas dapat disinkronkan dengan Jira.
Memori kode ditambah memori kerja adalah kombinasi yang lebih lengkap: satu alat mengingat repositori, sementara alat lainnya mengingat apa yang dilakukan agen di dalam repositori tersebut.
Untuk konteks tambahan, lihat tinjauan klien API di Cursor dan Copilot serta pembahasan tentang Orca dan agen AI paralel.
FAQ
Apakah ini bekerja dengan Cursor, Codex, dan OpenCode?
Ya. Ini adalah server MCP, sehingga klien MCP apa pun dapat menggunakannya. Proyek mencantumkan 45 antarmuka agen yang didukung, dan pemasang dapat mendeteksi klien yang sudah terinstal.
Apakah kode saya meninggalkan mesin?
Tidak. Pemrosesan sepenuhnya lokal. Proyek menyatakan bahwa alat ini tidak membuat permintaan jaringan sendiri dan tidak memeriksa pembaruan di latar belakang. Sumbernya tersedia di bawah MIT jika Anda ingin memverifikasinya.
Apakah pengurangan token 99% realistis?
99,2% berasal dari lima kueri struktural, yaitu kasus terbaik untuk graf. Evaluasi pada 31 repositori melaporkan 10 kali lebih sedikit token dan 2,1 kali lebih sedikit panggilan alat.
Gunakan sekitar 10 kali sebagai asumsi perencanaan. Pekerjaan yang didominasi pertanyaan struktural dapat memperoleh penghematan lebih besar.
Seberapa besar repositori yang dapat ditangani?
Kasus terbesar yang disebutkan proyek adalah kernel Linux: 28 juta baris dalam 75.000 file, diindeks dalam tiga menit. Batas auto-index default dapat diatur ke 50.000 file, sedangkan repositori aplikasi biasa diindeks dalam hitungan milidetik.
Mengapa Defender menandainya?
Ini adalah false positive machine learning yang dikenal pada biner native kecil yang tidak ditandatangani. Proyek mencatat bahwa 61 dari sekitar 62 mesin memberikan hasil bersih dan menautkan hasil VirusTotal untuk setiap rilis. Keluarga deteksi yang sama juga pernah mengenai GitHub CLI dan toolchain Go milik Microsoft.
Apakah alat ini menggantikan membaca kode?
Untuk pertanyaan struktural, sebagian besar ya. Untuk perilaku, kasus tepi, dan niat, tidak. Untuk perilaku API, gunakan spesifikasi karena kontrak tidak selalu dapat disimpulkan dari implementasi.
Kesimpulan
codebase-memory-mcp adalah salah satu alat paling tidak mencolok dalam gelombang agen 2026, tetapi menawarkan pengembalian yang sangat besar:
- Tidak mengubah alur kerja
- Tidak membutuhkan runtime tambahan
- Berjalan sebagai biner native tunggal
- Mendukung lebih dari 160 bahasa
- Mengurangi token untuk pertanyaan struktural secara signifikan
- Membuat analisis dampak dan rantai panggilan hampir instan
Instal, indeks proyek, aktifkan auto_index, lalu buka visualisasi graf sekali untuk memeriksa hasilnya.
Pahami juga dua batas utamanya:
- Graf mengetahui di mana kode berada, bukan apa yang dijanjikan API. Spesifikasi, mock, dan pengujian kontrak dari Apidog mengisi celah tersebut.
- Graf mengingat repositori, bukan keputusan dan pekerjaan di baliknya. Sistem tugas seperti Sharkly menyimpan konteks organisasional itu.
Memori kode yang sempurna adalah fondasi kuat. Namun, itu tidak sama dengan mengetahui apa yang benar atau apa yang telah diputuskan.


Top comments (0)