Aiven

resmi

Navigasi proyek Aiven Anda dan berinteraksi dengan layanan PostgreSQL®, Apache Kafka®, ClickHouse®, dan OpenSearch®

Apa yang bisa Anda lakukan dengan Aiven MCP?

  • Mengelola layanan Aiven — Minta asisten Anda untuk membuat, memperbarui, atau menghapus layanan melalui aiven_service_create, aiven_service_update, dan aiven_service_list.
  • Bekerja dengan topik Kafka — Minta asisten Anda untuk membuat, membaca, atau menghasilkan pesan ke topik menggunakan aiven_kafka_topic_create dan aiven_kafka_topic_message_produce.
  • Menjalankan kueri PostgreSQL — Biarkan asisten Anda mengeksekusi pernyataan SQL hanya-baca atau tulis dengan aiven_pg_read dan aiven_pg_write, atau mengoptimalkan kueri melalui aiven_pg_optimize_query.
  • Mengelola konektor Kafka — Minta asisten Anda untuk membuat, menjeda, melanjutkan, atau menghapus konektor menggunakan aiven_kafka_connect_create_connector dan alat terkait.
  • Menyebarkan aplikasi — Minta asisten Anda untuk membuat atau menyebarkan ulang aplikasi dari repositori dengan aiven_application_create dan aiven_application_redeploy.
  • Mencari dokumentasi Aiven — Minta asisten Anda untuk menemukan jawaban di dokumen resmi menggunakan aiven_docs_search (khusus server yang dihosting).

Dokumentasi

Server MCP Aiven

Server Model Context Protocol (MCP) untuk platform data cloud Aiven.

Kelola PostgreSQL, Apache Kafka, aplikasi, dan layanan Aiven lainnya secara langsung dari asisten AI seperti Claude, Cursor, dan VS Code Copilot.

[!WARNING] Gunakan dengan hati-hati. Server MCP ini dapat membuat, mengubah, dan menghapus layanan serta data Aiven atas nama Anda. Agen AI dapat menjalankan tindakan destruktif (menghapus database, menghapus layanan, memproduksi pesan) berdasarkan interpretasi mereka terhadap perintah Anda. Anda sepenuhnya bertanggung jawab atas tindakan yang diambil melalui alat ini.

Izin: Akses diatur oleh izin pengguna Aiven yang terkait dengan akun yang diautentikasi. Server MCP 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 akses agen AI ke sumber daya sensitif.

Memulai Cepat

Opsi 1: Jarak Jauh (dihosting oleh Aiven)

Server MCP 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

Install MCP Server

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 ruang kerja Anda:

{
  "servers": {
    "aiven-mcp": {
      "type": "http",
      "url": "https://mcp.aiven.live/mcp"
    }
  }
}

Mode Hanya-Baca (Jarak Jauh)

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 (Jarak Jauh)

Kurangi permukaan alat yang diekspos ke agen AI Anda dengan menambahkan ?services_scope= ke URL. Berguna ketika Anda hanya bekerja dengan subset 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. Gunakan all untuk memuat setiap alat secara eksplisit (sama dengan menghilangkan parameter). all tidak dapat digabungkan dengan cakupan lain.

{
  "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 (Jarak Jauh)

Ketika read_only=true, tambahkan ?write_allowlist= untuk mengaktifkan kembali alat tulis tertentu sambil menjaga semua hal lainnya hanya-baca. Berguna ketika Anda menginginkan akses 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 (Jarak Jauh)

Jika Anda berlangganan Aiven melalui marketplace cloud, tambahkan marketplace Anda sebagai segmen jalur agar masuk menggunakan konsol yang benar:

MarketplaceSegmen jalur
AWS Marketplacehttps://mcp.aiven.live/mcp/aws
Azure Marketplacehttps://mcp.aiven.live/mcp/azure
Google Cloud Marketplacehttps://mcp.aiven.live/mcp/gcp
{
  "mcpServers": {
    "aiven-mcp": {
      "url": "https://mcp.aiven.live/mcp/<marketplace>"
    }
  }
}

Segmen jalur 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. Membutuhkan 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: Pengaturan Cursor > Server MCP
  • VS Code: .vscode/mcp.json di ruang kerja Anda

Opsi 3: Pengembangan lokal

Jalankan build lokal 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 di port 3000 secara default. Hubungkan klien MCP Anda ke http://localhost:3000/mcp.

Untuk mengarahkan penyebaran jarak jauh ke host khusus (misalnya build lokal Anda), atur MCP_HOST:

MCP_HOST=http://localhost:3000 node dist/index.js

Variabel Lingkungan

VariabelDiperlukanDefaultDeskripsi
AIVEN_TOKENhanya stdio--Token API Aiven (buat satu di sini)
AIVEN_READ_ONLYTidakfalseAtur ke true untuk mengekspos hanya alat hanya-baca
AIVEN_SERVICES_SCOPETidak--Cakupan yang dipisahkan koma untuk diekspos (mis. kafka, pg,kafka, atau all). Valid: all, core, pg, kafka, application, integrations. core selalu disertakan. Menghilangkan variabel atau mengatur all memuat setiap alat.
AIVEN_ALLOW_SECRETSTidakfalseAtur 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_ALLOWLISTTidak--Nama alat yang dipisahkan koma untuk diaktifkan kembali saat AIVEN_READ_ONLY=true (mis. aiven_kafka_topic_create). Diabaikan ketika mode hanya-baca tidak diaktifkan.
MCP_HOSTTidakhttps://mcp.aiven.liveMenimpa host sumber daya yang dilindungi OAuth
MCP_TRANSPORTTidakstdioAtur ke http untuk memulai server HTTP alih-alih stdio
MCP_HTTP_RATE_LIMIT_MAXTidak1000Permintaan maksimum per jendela pada POST /mcp (transportasi HTTP), per token pembawa. Pembatasan tingkat IP klien diharapkan di Cloudflare.
MCP_HTTP_RATE_LIMIT_WINDOW_MSTidak60000Panjang jendela dalam milidetik untuk MCP_HTTP_RATE_LIMIT_MAX.
EXTRA_PROTECTIONTidakfalseAtur ke true pada penyebaran HTTP untuk mewajibkan header X-Edge-Auth yang valid pada setiap permintaan kecuali GET /health. Lihat Peluncuran perlindungan tepi di bawah.
MCP_EDGE_AUTH_SECRETSaat EXTRA_PROTECTION=true--Rahasia bersama; harus cocok dengan nilai yang disuntikkan Cloudflare sebagai X-Edge-Auth melalui Aturan Transformasi.

Dalam mode jarak jauh (HTTP), AIVEN_TOKEN tidak diperlukan. Klien MCP Anda mengirim token Anda sebagai token Pembawa dengan setiap permintaan.

Lalu lintas HTTP produksi dibatasi tingkat dalam dua lapisan: Cloudflare memberlakukan batas per-IP klien (dikonfigurasi di dasbor Cloudflare), dan server ini memberlakukan MCP_HTTP_RATE_LIMIT_* per token pembawa 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 menyebarkan ulang atau memperbarui Cloudflare.

Aktifkan dalam urutan ini:

  1. Aturan Transformasi Cloudflare — Tambahkan aturan yang menetapkan X-Edge-Auth (dan, jika digunakan untuk alat PG, X-Client-IP) pada lalu lintas ke asal MCP. Catat nilai rahasia yang Anda konfigurasikan.
  2. MCP_EDGE_AUTH_SECRET — Sebarkan server dengan variabel lingkungan ini diatur ke rahasia yang sama dengan Aturan Transformasi. Biarkan EXTRA_PROTECTION tidak diatur atau false untuk saat ini; verifikasi bahwa asal masih menerima lalu lintas.
  3. EXTRA_PROTECTION=true — Aktifkan hanya setelah langkah 1–2 aktif dan cocok. Konfirmasi bahwa permintaan MCP normal berhasil dan akses asal langsung tanpa X-Edge-Auth ditolak.
  4. Rotasi rahasia — Perbarui Cloudflare dan MCP_EDGE_AUTH_SECRET bersama-sama (atau atur EXTRA_PROTECTION=false sebentar), sebarkan ulang, lalu aktifkan kembali. Jangan pernah memutar satu sisi saja saat bendera aktif.

Jika EXTRA_PROTECTION=true saat startup dan MCP_EDGE_AUTH_SECRET hilang, proses segera keluar dengan kesalahan.

Sementara penolakan berlanjut, server mencatat peringatan konfigurasi yang salah paling banyak sekali setiap 15 menit (diatur ulang setelah permintaan dengan X-Edge-Auth yang valid), sehingga ketidakcocokan rahasia terlihat di log tanpa satu baris per permintaan yang ditolak.

Alat

Inti

AlatDeskripsi
aiven_project_listDaftar proyek
aiven_project_getDapatkan detail proyek
aiven_list_project_cloudsDaftar platform cloud untuk proyek
aiven_project_vpc_listDaftar VPC untuk proyek
aiven_service_listDaftar layanan
aiven_service_type_plansDaftar paket dengan ketersediaan cloud
aiven_service_plan_pricingDapatkan harga untuk paket di cloud tertentu
aiven_service_createBuat layanan
aiven_service_getDapatkan informasi layanan
aiven_service_updatePerbarui layanan (paket, konfigurasi, status daya)
aiven_service_metrics_fetchAmbil metrik untuk layanan data terkelola
aiven_service_application_metrics_getAmbil metrik untuk layanan aplikasi
aiven_project_get_service_logsDapatkan entri log layanan
aiven_service_query_activityAmbil kueri saat ini untuk layanan
aiven_project_get_event_logsDapatkan entri log peristiwa proyek

Kafka

AlatDeskripsi
aiven_kafka_topic_listDaftar topik Kafka
aiven_kafka_topic_createBuat topik Kafka
aiven_kafka_topic_getDapatkan info topik Kafka
aiven_kafka_topic_updatePerbarui topik Kafka
aiven_kafka_topic_deleteHapus topik Kafka
aiven_kafka_topic_message_listBaca pesan dari topik Kafka
aiven_kafka_topic_message_produceHasilkan pesan ke dalam topik Kafka
aiven_kafka_connect_available_connectorsDaftar jenis konektor yang tersedia
aiven_kafka_connect_listDaftar konektor yang berjalan
aiven_kafka_connect_create_connectorBuat konektor
aiven_kafka_connect_edit_connectorEdit konektor
aiven_kafka_connect_get_connector_statusDapatkan status konektor
aiven_kafka_connect_pause_connectorJeda konektor
aiven_kafka_connect_resume_connectorLanjutkan konektor
aiven_kafka_connect_restart_connectorMulai ulang konektor
aiven_kafka_connect_delete_connectorHapus konektor
aiven_kafka_schema_registry_subjectsDaftar subjek Schema Registry
aiven_kafka_schema_registry_subject_version_getDapatkan versi subjek Schema Registry

PostgreSQL

AlatDeskripsi
aiven_pg_service_available_extensionsDaftar ekstensi yang tersedia
aiven_pg_service_query_statisticsAmbil statistik kueri
aiven_pg_bouncer_createBuat kumpulan koneksi PgBouncer
aiven_pg_bouncer_updatePerbarui kumpulan koneksi PgBouncer
aiven_pg_bouncer_deleteHapus kumpulan koneksi PgBouncer
aiven_pg_readJalankan kueri SQL hanya-baca
aiven_pg_writeJalankan pernyataan SQL tulis (INSERT, UPDATE, DELETE, CREATE TABLE, dll.)
aiven_pg_optimize_queryOptimasi kueri bertenaga AI (EverSQL)

Aplikasi

AlatDeskripsi
aiven_application_createBuat dan sebarkan awal aplikasi Containerfile/Dockerfile; mengembalikan 409 jika layanan sudah ada
aiven_application_redeployBangun ulang aplikasi yang ada dari repositori yang dikonfigurasi tanpa mengubah konfigurasi layanan
aiven_vcs_integration_listDaftar akun VCS (GitHub) yang terhubung
aiven_vcs_integration_repository_listDaftar repositori untuk integrasi VCS
aiven_vcs_integration_repository_branch_listDaftar cabang repositori dan SHA komit saat ini
aiven_vcs_integration_repository_container_manifest_files_listTemukan kandidat manifest Containerfile, Dockerfile, dan Compose
aiven_vcs_integration_repository_scan_container_manifestTurunkan konfigurasi layanan Aiven kandidat dari Containerfile, Dockerfile, atau bagian yang didukung dari file Compose

Dokumentasi

AlatDeskripsi
aiven_docs_searchCari dokumentasi resmi Aiven dalam bahasa alami. Hanya tersedia di server yang dihosting (https://mcp.aiven.live/mcp) — tidak diekspos dalam penyebaran yang dihosting sendiri.

Berkontribusi

Lihat CONTRIBUTING.md untuk pengaturan pengembangan, menjalankan secara lokal, dan menambahkan alat baru.

Lisensi

Apache-2.0