Aiven
resmiNavigasi proyek Aiven Anda dan berinteraksi dengan layanan PostgreSQL®, Apache Kafka®, ClickHouse®, dan OpenSearch®
Apa yang bisa Anda lakukan dengan Aiven MCP?
- Kelola layanan Aiven — Daftar, buat, perbarui, dan ambil detail atau metrik untuk PostgreSQL, Kafka, dan layanan Aiven lainnya di seluruh proyek Anda.
- Bekerja dengan Kafka — Daftar, buat, perbarui, dan hapus topik, baca atau hasilkan pesan, serta kelola konektor Kafka Connect dan subjek Schema Registry.
- Jalankan kueri PostgreSQL — Jalankan kueri SQL hanya-baca atau pernyataan tulis, ambil statistik kueri, dan kelola kumpulan koneksi PgBouncer.
- Terapkan aplikasi — Buat dan terapkan ulang aplikasi Containerfile/Dockerfile serta hubungkan repositori GitHub melalui integrasi VCS.
- Cari dokumentasi Aiven — Cari dokumentasi resmi Aiven dalam bahasa alami (khusus server yang dihosting).
- Batasi akses — Aktifkan mode hanya-baca, batasi cakupan alat ke jenis layanan tertentu, atau izinkan alat tulis individual.
Dokumentasi
Aiven MCP Server
Sebuah Model Context Protocol (MCP) server untuk platform data cloud Aiven.
Kelola PostgreSQL, Apache Kafka, aplikasi, dan layanan Aiven lainnya langsung dari asisten AI seperti Claude, Cursor, dan VS Code Copilot.
[!WARNING] Gunakan dengan hati-hati. MCP server ini dapat membuat, mengubah, dan menghapus layanan dan data Aiven atas nama Anda. Agen AI dapat menjalankan tindakan destruktif (menghapus database, menghapus layanan, memproduksi pesan) berdasarkan interpretasinya terhadap prompt Anda. Anda sepenuhnya bertanggung jawab atas tindakan yang dilakukan melalui alat ini.
Izin: Akses diatur oleh izin pengguna Aiven yang terkait dengan akun yang terautentikasi. MCP server hanya dapat melakukan tindakan yang diizinkan untuk pengguna Aiven Anda.
Keamanan Agen AI: Agen AI mungkin memerlukan kredensial akses (string koneksi database, token streaming) untuk bertindak atas nama Anda. Tinjau apa yang dilakukan agen Anda, terutama di lingkungan produksi. Ikuti kebijakan keamanan organisasi Anda dan lakukan penilaian risiko sebelum memberikan agen AI akses ke sumber daya sensitif.
Mulai Cepat
Opsi 1: Remote (dihosting oleh Aiven)
MCP server dihosting di https://mcp.aiven.live/mcp. Klien MCP Anda akan meminta Anda untuk mengotorisasi di Aiven.
Claude Code
claude mcp add --scope user --transport http aiven-mcp "https://mcp.aiven.live/mcp"
Cursor
Atau tambahkan secara manual ke pengaturan MCP Cursor:
{
"mcpServers": {
"aiven-mcp": {
"url": "https://mcp.aiven.live/mcp"
}
}
}
VS Code / Copilot
Tambahkan ke .vscode/mcp.json di workspace Anda:
{
"servers": {
"aiven-mcp": {
"type": "http",
"url": "https://mcp.aiven.live/mcp"
}
}
}
Mode Hanya-Baca (Remote)
Aktifkan mode hanya-baca dengan menambahkan ?read_only=true ke URL. Semua operasi tulis akan dikecualikan dari MCP:
{
"mcpServers": {
"aiven-mcp": {
"url": "https://mcp.aiven.live/mcp?read_only=true"
}
}
}
Alat Terbatas Cakupan (Remote)
Kurangi permukaan alat yang diekspos ke agen AI Anda dengan menambahkan ?services_scope= ke URL. Berguna ketika Anda hanya bekerja dengan sebagian layanan Aiven dan ingin menjaga konteks agen tetap fokus. Gabungkan nilai dengan koma. core (penemuan proyek/layanan) selalu disertakan secara implisit.
Cakupan yang valid: all, core, pg, kafka, application, integrations, opensearch. Gunakan all untuk memuat setiap alat secara eksplisit (sama seperti menghilangkan parameter). all tidak dapat digabungkan dengan cakupan lain. opensearch mengikuti aturan yang sama seperti kafka atau pg (alat inti plus kategori OpenSearch); belum ada alat khusus OpenSearch, jadi saat ini hanya mengekspos inti.
{
"mcpServers": {
"aiven-mcp": {
"url": "https://mcp.aiven.live/mcp?services_scope=kafka"
}
}
}
Anda juga dapat menggabungkan dengan read_only:
https://mcp.aiven.live/mcp?services_scope=pg&read_only=true
Pengecualian Tulis dalam Mode Hanya-Baca (Remote)
Ketika read_only=true, tambahkan ?write_allowlist= untuk mengaktifkan kembali alat tulis tertentu sambil menjaga
sisanya hanya-baca. Berguna ketika Anda menginginkan akses yang sebagian besar hanya-baca tetapi masih perlu mengizinkan satu
tindakan tulis, misalnya membuat topik Kafka. Gabungkan beberapa nama alat dengan koma. Diabaikan
ketika read_only tidak diaktifkan.
https://mcp.aiven.live/mcp?read_only=true&write_allowlist=aiven_kafka_topic_create
Pelanggan Marketplace (Remote)
Jika Anda berlangganan Aiven melalui marketplace cloud, tambahkan marketplace Anda sebagai segmen path agar proses masuk menggunakan konsol yang benar:
| Marketplace | Segmen path |
|---|---|
| AWS Marketplace | https://mcp.aiven.live/mcp/aws |
| Azure Marketplace | https://mcp.aiven.live/mcp/azure |
| Google Cloud Marketplace | https://mcp.aiven.live/mcp/gcp |
{
"mcpServers": {
"aiven-mcp": {
"url": "https://mcp.aiven.live/mcp/<marketplace>"
}
}
}
Segmen path digabungkan dengan parameter kueri di atas, misalnya https://mcp.aiven.live/mcp/gcp?services_scope=pg&read_only=true.
Opsi 2: stdio (lokal)
Jalankan server secara lokal sebagai proses anak dari klien MCP Anda. Memerlukan Node.js 18+.
Anda harus menyediakan token API Aiven Anda melalui variabel lingkungan AIVEN_TOKEN. Buat token di sini.
Claude Code
claude mcp add --scope user aiven-mcp -e AIVEN_TOKEN=your-token-here -- npx -y mcp-aiven
Cursor, VS Code -- tambahkan ke konfigurasi klien MCP Anda:
{
"mcpServers": {
"aiven-mcp": {
"command": "npx",
"args": ["-y", "mcp-aiven"],
"env": {
"AIVEN_TOKEN": "your-token-here"
}
}
}
}
Lokasi file konfigurasi:
- Cursor: Cursor Settings > MCP Servers
- VS Code:
.vscode/mcp.jsondi workspace Anda
Opsi 3: Pengembangan lokal
Jalankan build lokal dari server (berguna untuk pengembangan dan pengujian):
pnpm install && pnpm generate:api-types && pnpm generate && pnpm build && AIVEN_TOKEN="<YOUR_TOKEN>" MCP_TRANSPORT="http" PORT=3000 node dist/index.js
Server mendengarkan pada port 3000 secara default. Hubungkan klien MCP Anda ke http://localhost:3000/mcp.
Untuk mengarahkan deployment remote ke host kustom (misalnya build lokal Anda), atur MCP_HOST:
MCP_HOST=http://localhost:3000 node dist/index.js
Variabel Lingkungan
| Variabel | Wajib | Default | Deskripsi |
|---|---|---|---|
AIVEN_TOKEN | hanya stdio | -- | Token API Aiven (buat di sini) |
AIVEN_READ_ONLY | Tidak | false | Atur ke true untuk hanya mengekspos alat hanya-baca |
AIVEN_SERVICES_SCOPE | Tidak | -- | Cakupan yang dipisahkan koma untuk diekspos (misalnya kafka, pg,kafka, atau all). Valid: all, core, pg, kafka, application, integrations, opensearch. core disertakan secara implisit untuk jenis layanan bercakupan. opensearch belum memiliki alat khusus (hanya inti sampai alat OpenSearch ditambahkan). Menghilangkan variabel atau mengatur all memuat setiap alat. |
AIVEN_ALLOW_SECRETS | Tidak | false | Atur ke true untuk mengekspos alat aiven_service_connection_info, yang mengembalikan kredensial langsung (kata sandi, URI koneksi, sertifikat) ke dalam percakapan. Dinonaktifkan saat AIVEN_READ_ONLY=true. |
AIVEN_WRITE_ALLOWLIST | Tidak | -- | Nama alat yang dipisahkan koma untuk diaktifkan kembali saat AIVEN_READ_ONLY=true (misalnya aiven_kafka_topic_create). Diabaikan ketika mode hanya-baca tidak diaktifkan. |
MCP_HOST | Tidak | https://mcp.aiven.live | Ganti host sumber daya terlindungi OAuth |
MCP_TRANSPORT | Tidak | stdio | Atur ke http untuk memulai server HTTP alih-alih stdio |
MCP_HTTP_RATE_LIMIT_MAX | Tidak | 1000 | Permintaan maksimum per jendela pada POST /mcp (transport HTTP), per token bearer. Pembatasan laju IP klien diharapkan di Cloudflare. |
MCP_HTTP_RATE_LIMIT_WINDOW_MS | Tidak | 60000 | Panjang jendela dalam milidetik untuk MCP_HTTP_RATE_LIMIT_MAX. |
EXTRA_PROTECTION | Tidak | false | Atur ke true pada deployment HTTP untuk mewajibkan header X-Edge-Auth yang valid pada setiap permintaan kecuali GET /health. Lihat Peluncuran perlindungan tepi di bawah. |
MCP_EDGE_AUTH_SECRET | Ketika EXTRA_PROTECTION=true | -- | Rahasia bersama; harus cocok dengan nilai yang disuntikkan Cloudflare sebagai X-Edge-Auth melalui Transform Rules. |
Dalam mode remote (HTTP), AIVEN_TOKEN tidak diperlukan. Klien MCP Anda mengirim token Anda sebagai token Bearer dengan setiap permintaan.
Lalu lintas HTTP produksi dibatasi lajunya dalam dua lapisan: Cloudflare memberlakukan batas per-IP klien (dikonfigurasi di dasbor Cloudflare), dan server ini memberlakukan MCP_HTTP_RATE_LIMIT_* per token bearer pada POST /mcp.
Peluncuran perlindungan tepi
Ketika EXTRA_PROTECTION=true, ketidakcocokan apa pun antara MCP_EDGE_AUTH_SECRET dan nilai yang disuntikkan Cloudflare sebagai X-Edge-Auth menyebabkan setiap permintaan mengembalikan 403 (kecuali GET /health). Kedua nilai adalah lingkungan/konfigurasi di sisi berlawanan dari kabel, jadi satu-satunya jalur pemulihan adalah memperbaiki rahasia dan men-deploy ulang atau memperbarui Cloudflare.
Aktifkan dalam urutan ini:
- Cloudflare Transform Rule — Tambahkan aturan yang menetapkan
X-Edge-Auth(dan, jika digunakan untuk alat PG,X-Client-IP) pada lalu lintas ke origin MCP. Catat nilai rahasia yang Anda konfigurasi. MCP_EDGE_AUTH_SECRET— Deploy server dengan variabel lingkungan ini diatur ke rahasia yang sama dengan Transform Rule. BiarkanEXTRA_PROTECTIONtidak diatur ataufalseuntuk saat ini; verifikasi origin masih menerima lalu lintas.EXTRA_PROTECTION=true— Aktifkan hanya setelah langkah 1–2 aktif dan cocok. Konfirmasi permintaan MCP normal berhasil dan akses origin langsung tanpaX-Edge-Authditolak.- Rotasi rahasia — Perbarui Cloudflare dan
MCP_EDGE_AUTH_SECRETbersamaan (atau aturEXTRA_PROTECTION=falsesebentar), deploy ulang, lalu aktifkan kembali. Jangan pernah merotasi satu sisi saja saat flag aktif.
Jika EXTRA_PROTECTION=true saat startup dan MCP_EDGE_AUTH_SECRET hilang, proses langsung keluar dengan error.
Selama penolakan berlanjut, server mencatat peringatan salah konfigurasi paling banyak sekali setiap 15 menit (direset setelah permintaan dengan X-Edge-Auth yang valid), sehingga ketidakcocokan rahasia terlihat di log tanpa satu baris per permintaan yang ditolak.
Alat
Inti
| Alat | Deskripsi |
|---|---|
aiven_project_list | Daftar proyek |
aiven_project_get | Dapatkan detail proyek |
aiven_list_project_clouds | Daftar platform cloud untuk sebuah proyek |
aiven_project_vpc_list | Daftar VPC untuk sebuah proyek |
aiven_service_list | Daftar layanan |
aiven_service_type_plans | Daftar paket dengan ketersediaan cloud |
aiven_service_type_get | Dapatkan versi mesin default dan yang tersedia untuk jenis layanan |
aiven_service_plan_pricing | Dapatkan harga untuk paket di cloud tertentu |
aiven_service_create | Buat layanan |
aiven_service_get | Dapatkan informasi layanan |
aiven_service_update | Perbarui layanan (paket, konfigurasi, status daya) |
aiven_service_metrics_fetch | Ambil metrik untuk layanan data terkelola |
aiven_service_application_metrics_get | Ambil metrik untuk layanan aplikasi |
aiven_project_get_service_logs | Dapatkan entri log layanan |
aiven_service_query_activity | Ambil kueri saat ini untuk sebuah layanan |
aiven_project_get_event_logs | Dapatkan entri log peristiwa proyek |
Kafka
| Alat | Deskripsi |
|---|---|
aiven_kafka_topic_list | Daftar topik Kafka |
aiven_kafka_topic_create | Buat topik Kafka |
aiven_kafka_topic_get | Dapatkan info topik Kafka |
aiven_kafka_topic_update | Perbarui topik Kafka |
aiven_kafka_topic_delete | Hapus topik Kafka |
aiven_kafka_topic_message_list | Baca pesan dari topik Kafka |
aiven_kafka_topic_message_produce | Produksi pesan ke topik Kafka |
aiven_kafka_connect_available_connectors | Daftar jenis konektor yang tersedia |
aiven_kafka_connect_list | Daftar konektor yang berjalan |
aiven_kafka_connect_create_connector | Buat konektor |
aiven_kafka_connect_edit_connector | Edit konektor |
aiven_kafka_connect_get_connector_status | Dapatkan status konektor |
aiven_kafka_connect_pause_connector | Jeda konektor |
aiven_kafka_connect_resume_connector | Lanjutkan konektor |
aiven_kafka_connect_restart_connector | Mulai ulang konektor |
aiven_kafka_connect_delete_connector | Hapus konektor |
aiven_kafka_schema_registry_subjects | Daftar subjek Schema Registry |
aiven_kafka_schema_registry_subject_version_get | Dapatkan versi subjek Schema Registry |
PostgreSQL
| Alat | Deskripsi |
|---|---|
aiven_pg_service_available_extensions | Daftar ekstensi yang tersedia |
aiven_pg_service_query_statistics | Ambil statistik kueri |
aiven_pg_bouncer_create | Buat kumpulan koneksi PgBouncer |
aiven_pg_bouncer_update | Perbarui kumpulan koneksi PgBouncer |
aiven_pg_bouncer_delete | Hapus kumpulan koneksi PgBouncer |
aiven_pg_read | Jalankan kueri SQL hanya-baca |
aiven_pg_write | Jalankan pernyataan SQL tulis (INSERT, UPDATE, DELETE, CREATE TABLE, dll.) |
aiven_pg_optimize_query | Optimasi kueri bertenaga AI (EverSQL) |
Aplikasi
| Alat | Deskripsi |
|---|---|
aiven_application_create | Buat dan deploy awal aplikasi Containerfile/Dockerfile; mengembalikan 409 jika layanan sudah ada |
aiven_application_redeploy | Bangun ulang aplikasi yang ada dari repositori yang dikonfigurasi tanpa mengubah konfigurasi layanan |
aiven_vcs_integration_initialize | Mulai alur berbasis browser untuk menghubungkan akun GitHub |
aiven_vcs_integration_list | Daftar akun VCS (GitHub) yang terhubung |
aiven_vcs_integration_repository_list | Daftar repositori untuk integrasi VCS |
aiven_vcs_integration_repository_branch_list | Daftar cabang repositori dan SHA commit saat ini |
aiven_vcs_integration_repository_container_manifest_files_list | Temukan kandidat Containerfile, Dockerfile, dan manifes Compose |
aiven_vcs_integration_repository_scan_container_manifest | Turunkan kandidat konfigurasi layanan Aiven dari Containerfile, Dockerfile, atau bagian Compose yang didukung |
Dokumentasi
| Alat | Deskripsi |
|---|---|
aiven_docs_search | Cari dokumentasi resmi Aiven dalam bahasa alami. Hanya tersedia di server yang dihosting (https://mcp.aiven.live/mcp) — tidak diekspos dalam deployment yang dihosting sendiri. |
Berkontribusi
Lihat CONTRIBUTING.md untuk penyiapan pengembangan, menjalankan secara lokal, dan menambahkan alat baru.