Aiven

resmi

Navigasi 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

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 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:

MarketplaceSegmen path
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 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.json di 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

VariabelWajibDefaultDeskripsi
AIVEN_TOKENhanya stdio--Token API Aiven (buat di sini)
AIVEN_READ_ONLYTidakfalseAtur ke true untuk hanya mengekspos alat hanya-baca
AIVEN_SERVICES_SCOPETidak--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_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 (misalnya aiven_kafka_topic_create). Diabaikan ketika mode hanya-baca tidak diaktifkan.
MCP_HOSTTidakhttps://mcp.aiven.liveGanti host sumber daya terlindungi OAuth
MCP_TRANSPORTTidakstdioAtur ke http untuk memulai server HTTP alih-alih stdio
MCP_HTTP_RATE_LIMIT_MAXTidak1000Permintaan maksimum per jendela pada POST /mcp (transport HTTP), per token bearer. Pembatasan laju 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 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_SECRETKetika 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:

  1. 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.
  2. MCP_EDGE_AUTH_SECRET — Deploy server dengan variabel lingkungan ini diatur ke rahasia yang sama dengan Transform Rule. Biarkan EXTRA_PROTECTION tidak diatur atau false untuk saat ini; verifikasi origin masih menerima lalu lintas.
  3. EXTRA_PROTECTION=true — Aktifkan hanya setelah langkah 1–2 aktif dan cocok. Konfirmasi permintaan MCP normal berhasil dan akses origin langsung tanpa X-Edge-Auth ditolak.
  4. Rotasi rahasia — Perbarui Cloudflare dan MCP_EDGE_AUTH_SECRET bersamaan (atau atur EXTRA_PROTECTION=false sebentar), 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

AlatDeskripsi
aiven_project_listDaftar proyek
aiven_project_getDapatkan detail proyek
aiven_list_project_cloudsDaftar platform cloud untuk sebuah proyek
aiven_project_vpc_listDaftar VPC untuk sebuah proyek
aiven_service_listDaftar layanan
aiven_service_type_plansDaftar paket dengan ketersediaan cloud
aiven_service_type_getDapatkan versi mesin default dan yang tersedia untuk jenis layanan
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 sebuah 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_produceProduksi pesan ke 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 deploy 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_initializeMulai alur berbasis browser untuk menghubungkan akun GitHub
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 commit saat ini
aiven_vcs_integration_repository_container_manifest_files_listTemukan kandidat Containerfile, Dockerfile, dan manifes Compose
aiven_vcs_integration_repository_scan_container_manifestTurunkan kandidat konfigurasi layanan Aiven dari Containerfile, Dockerfile, atau bagian Compose yang didukung

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 deployment yang dihosting sendiri.

Berkontribusi

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

Lisensi

Apache-2.0