MCP Memory dan SQLite FTS5: Merancang Memory Agent yang Bisa Dicari
MCP-Memory menggabungkan Open Knowledge Format, file Markdown yang dapat dibaca manusia, dan SQLite FTS5 untuk menyimpan serta mencari memory agent secara lokal.
MCP-Memory adalah server Model Context Protocol (MCP) yang menambahkan persistent memory untuk AI agent. Repository ini menyimpan setiap memory dalam format Open Knowledge Format (OKF) v0.2, sekaligus membuat index SQLite dengan FTS5 untuk pencarian full-text. Pendekatan tersebut menarik karena memory tidak hanya disimpan sebagai record opaque di database: developer tetap dapat membaca file Markdown-nya, sementara aplikasi memperoleh index lokal untuk query.
1. Apa Itu MCP Memory?
MCP-Memory menyediakan tool untuk menyimpan, mengambil, dan mencari potongan informasi lintas sesi. README project menyebut kompatibilitas dengan client seperti Claude Desktop, Cursor, Antigravity, Windsurf, dan Codex. Setup wizard di repository juga mencoba mendaftarkan server ke tool yang sudah terpasang.
Setiap record mengikuti OKF v0.2 dengan YAML frontmatter seperti key, namespace, tags, status, sumber, dan masa berlaku. Struktur ini membuat provenance dan lifecycle menjadi bagian dari data memory, bukan catatan yang harus dikelola terpisah.
2. Mengapa Menggabungkan Markdown dan SQLite?
Repository ini memakai dua lapisan. Folder memory berisi dokumen Markdown yang dapat dibrowse manusia, index.md untuk progressive disclosure, dan log perubahan. SQLite FTS5 menjadi lapisan query untuk pencarian kata kunci, filtering tag, dan lookup berdasarkan namespace.
Pemisahan ini memberi trade-off yang jelas. Markdown membantu inspeksi, backup, dan version control. SQLite membantu aplikasi menemukan data tanpa membaca semua file setiap kali agent dipanggil. Keduanya tetap berada di project root secara default, sehingga memory dapat diisolasi per project.
3. Batasan yang Perlu Diuji
README menyebut target lookup sub-20ms, tetapi angka tersebut adalah klaim repository dan bukan hasil benchmark independen dalam artikel ini. Hasil nyata akan dipengaruhi jumlah record, bentuk query, filesystem, dan cara client mengakses server. FTS5 juga tidak menyelesaikan masalah kualitas memory: record yang salah, stale, atau tanpa sumber tetap dapat menghasilkan konteks yang menyesatkan.
Karena itu, implementasi sebaiknya menambahkan kebijakan retensi, namespace yang konsisten, status needs-review, dan audit terhadap data yang ditulis agent. Jangan memberi agent akses tulis tanpa batas hanya karena storage-nya lokal.
4. Pelajaran untuk Developer
MCP-Memory menunjukkan pola yang praktis: gunakan format yang mudah diperiksa untuk portability, lalu tambahkan index khusus untuk kebutuhan runtime. Saat membangun memory layer sendiri, ukur latency pada workload nyata, uji penghapusan dan stale_after, serta pastikan secret tidak ikut ditulis ke Markdown atau log. Repository dan referensi diskusinya tersedia di bawah; referensi independen HN sedang dibatasi rate limit saat verifikasi run ini, jadi artikel ini tidak mengklaim hasil uji lintas implementasi.
Referensi: https://github.com/fellowgeek/mcp-memory