Blog

Mengenal Kanesh, backend AI-first yang kecil

Kenapa kami membangun platform data self-hosted yang muat di satu container dan bicara MCP di samping REST dan GraphQL.

Kanesh adalah platform data headless yang kamu host sendiri, dengan koleksi SQL, Studio visual, REST, GraphQL, dan MCP read-only dalam satu container aplikasi. Ini rilis stabil pertamanya: Kanesh masih baru, gratis untuk self-host satu workspace, dan memberi akses baca bagi Codex atau Claude Code sesuai izin pengguna ke data aplikasimu.

Apa yang sudah tersedia di Kanesh?

Dasarnya adalah koleksi, yaitu tabel SQL dengan field yang kamu tentukan melalui Studio. Kamu bisa membuat koleksi, mengelola record, dan mengatur model data tanpa lebih dulu membangun halaman admin sendiri. Studio menyediakan tabel yang bisa diurutkan dan difilter, pilihan kolom, tampilan tabel atau daftar, serta panel record.

Setiap koleksi langsung tersedia melalui REST dan GraphQL. Halaman referensi API menampilkan contoh permintaan untuk koleksi tersebut, sedangkan ekspor OpenAPI 3.1 mengikuti skema yang sedang digunakan. Model data, editor record, dan referensi API tersedia dalam instalasi yang sama. Kamu tetap perlu menentukan data apa yang disimpan dan siapa yang boleh mengaksesnya.

Field file dan gambar merujuk ke unggahan dalam workspace. Unggahan disimpan di database secara default, atau di S3, MinIO, atau Cloudflare R2 kalau kamu menyetel STORAGE_DRIVER=s3. Email undangan dan pemulihan password dikirim lewat Resend atau relay SMTP.

Bagaimana pilihan database dan workspace-nya?

SQLite menjadi database bawaan dan menyimpan data secara lokal. PostgreSQL dan MySQL didukung untuk penggunaan database eksternal. Pilih database berdasarkan operasi yang dibutuhkan model datamu dan infrastruktur yang sudah kamu jalankan.

Model data mendukung relasi dengan foreign key serta index yang dikelola melalui Kanesh. Field opsional bisa ditambahkan ke koleksi yang sudah berisi record, tetapi penambahan field wajib memerlukan tabel kosong. Batas ini perlu diperhatikan ketika kamu mencoba mengubah model setelah mulai mengisi data.

Satu instalasi bisa menampung banyak workspace terpisah, masing-masing dengan anggota dan perannya sendiri. Satu workspace per instalasi gratis dengan semua fitur core. Pro seharga $9 per bulan per instalasi dan menambah workspace tanpa batas serta asisten AI di Studio, yang masih dalam pengembangan. Lihat harga. Pemisahan workspace tetap perlu disertai pengaturan izin: tentukan koleksi mana yang harus dibaca atau diubah oleh setiap anggota.

Apa yang bisa dilakukan Codex dan Claude Code lewat MCP?

Setelah MCP diaktifkan, setiap workspace memiliki endpoint sendiri. Codex dan Claude Code dapat membaca skema yang diizinkan, memeriksa lookup tersimpan dan index yang dikelola, lalu meminta record dalam halaman dengan jumlah terbatas. Semua tool MCP bersifat read-only, meskipun pemilik token punya izin mengubah record.

Operasi tulis harus melalui REST dengan izin yang sesuai. Membaca koleksi lewat MCP berbeda dari membuat koleksi atau mengubah isinya. Pisahkan kedua kebutuhan itu saat menyusun alur kerja agent. Panduan MCP menjelaskan cara mengaktifkan endpoint dan menyiapkan token pribadi.

Token pribadi mengikuti izin pemiliknya. Token memiliki masa berlaku, bisa dicabut, dan disimpan dalam bentuk hash, tetapi bukan kredensial dengan cakupan terpisah. API key dengan cakupan khusus atau akses read-only serta service account masih direncanakan. Atur akses akun pemilik token sesuai kebutuhan agent.

Apa yang perlu diperiksa sebelum mulai?

Gunakan daftar berikut agar setup-mu sesuai dengan kemampuan yang tersedia:

  • Bangun image dari repositori, seperti di Memulai.
  • Gunakan volume data persisten saat menjalankan container.
  • Klaim instalasi dan buat akun owner.
  • Buat satu koleksi lalu periksa referensi API-nya.
  • Tinjau izin anggota sebelum menghubungkan agent.
  • Pastikan kebutuhan agent sesuai dengan MCP yang hanya bisa membaca.
  • Perlakukan realtime, login OAuth atau SSO, dan workflow sebagai rencana di roadmap, bukan fitur.

Smoke test image yang disebut dalam pengenalan awal mencatat ukuran sekitar 8,9 MB dan memori idle di bawah 10 MiB. Angka itu merupakan hasil pengujian tersebut, bukan perkiraan kapasitas untuk data, query, atau lingkunganmu. Mulai dari pengaturan yang didokumentasikan, lalu uji dengan datamu sendiri.

Dari mana sebaiknya mulai?

Ikuti panduan memulai untuk membangun image, menjalankannya dengan penyimpanan persisten, dan mengklaim instalasi. Setelah itu, buat koleksi kecil yang mewakili data aplikasi. Periksa pengeditan record, pembacaan melalui API, dan akses pengguna sebelum memperluas model.

Untuk melihat konteks penggunaan, lanjutkan ke use case blog atau data untuk agent. Jika sedang mempertimbangkan pilihan lain, baca perbandingan dengan PocketBase, dan lihat harga untuk penjelasan paket dan lisensinya. Halaman-halaman itu menjadi langkah lanjutan; kebutuhan aplikasi tetap perlu dicocokkan dengan kemampuan Kanesh yang tersedia sekarang.

FAQ

Apakah Kanesh sudah siap untuk produksi?

Kanesh ada di rilis stabil pertamanya. Ia masih baru, jadi pengalamannya di lapangan lebih singkat dibanding platform yang sudah mapan, dan kami tidak membuat klaim benchmark atau pelanggan. Realtime, login OAuth atau SSO, dan workflow ada di roadmap dan belum bisa dijadikan kebutuhan proyekmu sekarang.

Apakah Kanesh gratis?

Ya untuk satu workspace per instalasi, dengan semua fitur core. Pro seharga $9 per bulan per instalasi dan menambah workspace tanpa batas serta asisten AI di Studio, yang masih dalam pengembangan. Intinya berlisensi AGPL-3.0, dan kode Pro di ee/ berada di bawah Kanesh Commercial License (draf).

Apakah agent bisa membuat record melalui MCP?

Tidak. Tool MCP hanya membaca skema workspace, metadata model skema, dan record. Agent yang perlu membuat koleksi atau record harus memakai REST dengan token dari akun yang memiliki izin terkait. Izin tulis pada akun pemilik token tidak mengubah MCP menjadi antarmuka untuk menulis data.

Apakah Kanesh harus memakai PostgreSQL?

Tidak. SQLite adalah pilihan bawaan dan menyimpan data secara lokal. PostgreSQL dan MySQL didukung jika kamu ingin menggunakan database eksternal.

Traktir kopi