Aiven

offiziell

Navigieren Sie durch Ihre Aiven-Projekte und interagieren Sie mit den PostgreSQL®, Apache Kafka®, ClickHouse® und OpenSearch®-Diensten.

Was kann man mit Aiven MCP machen?

  • Aiven-Services verwalten — PostgreSQL-, Kafka- und andere Aiven-Services in Ihren Projekten auflisten, erstellen, aktualisieren und Details oder Metriken abrufen.
  • Mit Kafka arbeiten — Topics auflisten, erstellen, aktualisieren und löschen, Nachrichten lesen oder produzieren und Kafka-Connect-Connectoren sowie Schema-Registry-Subjects verwalten.
  • PostgreSQL-Abfragen ausführen — Schreibgeschützte SQL-Abfragen oder Schreibanweisungen ausführen, Abfragestatistiken abrufen und PgBouncer-Verbindungspools verwalten.
  • Anwendungen bereitstellen — Containerfile-/Dockerfile-Anwendungen erstellen und erneut bereitstellen und GitHub-Repositories über VCS-Integrationen verbinden.
  • Aiven-Dokumentation durchsuchen — Die offizielle Aiven-Dokumentation in natürlicher Sprache durchsuchen (nur gehosteter Server).
  • Zugriff einschränken — Den schreibgeschützten Modus aktivieren, Tools auf bestimmte Service-Typen beschränken oder einzelne Schreib-Tools auf eine Allowlist setzen.

Dokumentation

Aiven MCP Server

Ein Model Context Protocol-Server (MCP) für die Cloud-Datenplattform Aiven.

Verwalte PostgreSQL, Apache Kafka, Anwendungen und andere Aiven-Dienste direkt aus KI-Assistenten wie Claude, Cursor und VS Code Copilot.

[!WARNING] Mit Vorsicht verwenden. Dieser MCP-Server kann in deinem Namen Aiven-Dienste und Daten erstellen, ändern und löschen. KI-Agenten können destruktive Aktionen ausführen (Datenbanken löschen, Dienste entfernen, Nachrichten produzieren), basierend auf ihrer Interpretation deiner Eingaben. Du bist vollständig verantwortlich für die Aktionen, die über dieses Tool ausgeführt werden.

Berechtigungen: Der Zugriff wird durch die Aiven-Benutzerberechtigungen des authentifizierten Kontos geregelt. Der MCP-Server kann nur Aktionen ausführen, die dein Aiven-Benutzer ausführen darf.

Sicherheit von KI-Agenten: KI-Agenten benötigen möglicherweise Zugangsdaten (Datenbank-Verbindungszeichenfolgen, Streaming-Tokens), um in deinem Namen zu handeln. Überprüfe, was dein Agent tut, insbesondere in Produktionsumgebungen. Befolge die Sicherheitsrichtlinien deiner Organisation und führe eine Risikobewertung durch, bevor du KI-Agenten Zugriff auf sensible Ressourcen gibst.

Schnellstart

Option 1: Remote (von Aiven gehostet)

Der MCP-Server wird unter https://mcp.aiven.live/mcp gehostet. Dein MCP-Client fordert dich auf, dich bei Aiven zu autorisieren.

Claude Code

claude mcp add --scope user --transport http aiven-mcp "https://mcp.aiven.live/mcp"

Cursor

Install MCP Server

Oder füge es manuell zu den Cursor-MCP-Einstellungen hinzu:

{
  "mcpServers": {
    "aiven-mcp": {
      "url": "https://mcp.aiven.live/mcp"
    }
  }
}

VS Code / Copilot

Füge es zu .vscode/mcp.json in deinem Workspace hinzu:

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

Nur-Lese-Modus (Remote)

Aktiviere den Nur-Lese-Modus, indem du ?read_only=true zur URL hinzufügst. Alle Schreibvorgänge werden aus dem MCP ausgeschlossen:

{
  "mcpServers": {
    "aiven-mcp": {
      "url": "https://mcp.aiven.live/mcp?read_only=true"
    }
  }
}

Eingeschränkte Tools (Remote)

Reduziere die Tool-Oberfläche, die deinem KI-Agenten bereitgestellt wird, indem du ?services_scope= zur URL hinzufügst. Nützlich, wenn du nur mit einer Teilmenge der Aiven-Dienste arbeitest und den Kontext des Agenten fokussiert halten möchtest. Kombiniere Werte mit Kommas. core (Projekt-/Dienst-Erkennung) ist immer implizit enthalten.

Gültige Scopes: all, core, pg, kafka, application, integrations, opensearch. Verwende all, um explizit alle Tools zu laden (entspricht dem Weglassen des Parameters). all kann nicht mit anderen Scopes kombiniert werden. opensearch folgt denselben Regeln wie kafka oder pg (Kern- plus OpenSearch-Kategorie-Tools); es gibt noch keine OpenSearch-spezifischen Tools, daher werden derzeit nur die Kern-Tools bereitgestellt.

{
  "mcpServers": {
    "aiven-mcp": {
      "url": "https://mcp.aiven.live/mcp?services_scope=kafka"
    }
  }
}

Du kannst es auch mit read_only kombinieren:

https://mcp.aiven.live/mcp?services_scope=pg&read_only=true

Schreib-Ausnahmen im Nur-Lese-Modus (Remote)

Wenn read_only=true, füge ?write_allowlist= hinzu, um bestimmte Schreib-Tools wieder zu aktivieren, während alles andere schreibgeschützt bleibt. Nützlich, wenn du überwiegend Lesezugriff möchtest, aber dennoch eine Schreibaktion erlauben musst, zum Beispiel das Erstellen von Kafka-Topics. Kombiniere mehrere Tool-Namen mit Kommas. Wird ignoriert, wenn read_only nicht aktiviert ist.

https://mcp.aiven.live/mcp?read_only=true&write_allowlist=aiven_kafka_topic_create

Marketplace-Kunden (Remote)

Wenn du Aiven über einen Cloud-Marketplace abonniert hast, füge deinen Marketplace als Pfadsegment hinzu, damit die Anmeldung die richtige Konsole verwendet:

MarketplacePfadsegment
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>"
    }
  }
}

Das Pfadsegment kombiniert sich mit den obigen Abfrageparametern, zum Beispiel https://mcp.aiven.live/mcp/gcp?services_scope=pg&read_only=true.

Option 2: stdio (lokal)

Führe den Server lokal als Kindprozess deines MCP-Clients aus. Erfordert Node.js 18+.

Du musst dein Aiven-API-Token über die Umgebungsvariable AIVEN_TOKEN bereitstellen. Erstelle hier ein Token.

Claude Code

claude mcp add --scope user aiven-mcp -e AIVEN_TOKEN=your-token-here -- npx -y mcp-aiven

Cursor, VS Code -- füge es zur Konfiguration deines MCP-Clients hinzu:

{
  "mcpServers": {
    "aiven-mcp": {
      "command": "npx",
      "args": ["-y", "mcp-aiven"],
      "env": {
        "AIVEN_TOKEN": "your-token-here"
      }
    }
  }
}

Speicherorte der Konfigurationsdatei:

  • Cursor: Cursor Settings > MCP Servers
  • VS Code: .vscode/mcp.json in deinem Workspace

Option 3: Lokale Entwicklung

Führe einen lokalen Build des Servers aus (nützlich für Entwicklung und Tests):

pnpm install && pnpm generate:api-types && pnpm generate && pnpm build && AIVEN_TOKEN="<YOUR_TOKEN>" MCP_TRANSPORT="http" PORT=3000 node dist/index.js

Der Server lauscht standardmäßig auf Port 3000. Verbinde deinen MCP-Client mit http://localhost:3000/mcp.

Um eine Remote-Bereitstellung auf einen benutzerdefinierten Host (z. B. deinen lokalen Build) zu verweisen, setze MCP_HOST:

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

Umgebungsvariablen

VariableErforderlichStandardBeschreibung
AIVEN_TOKENnur stdio--Aiven-API-Token (hier erstellen)
AIVEN_READ_ONLYNeinfalseAuf true setzen, um nur schreibgeschützte Tools bereitzustellen
AIVEN_SERVICES_SCOPENein--Kommagetrennte Scopes zur Bereitstellung (z. B. kafka, pg,kafka oder all). Gültig: all, core, pg, kafka, application, integrations, opensearch. core ist für eingeschränkte Diensttypen implizit enthalten. opensearch hat noch keine dedizierten Tools (nur Kern-Tools, bis OpenSearch-Tools hinzugefügt werden). Das Weglassen der Variable oder das Setzen von all lädt alle Tools.
AIVEN_ALLOW_SECRETSNeinfalseAuf true setzen, um das Tool aiven_service_connection_info bereitzustellen, das Live-Anmeldedaten (Passwörter, Verbindungs-URIs, Zertifikate) in die Konversation zurückgibt. Deaktiviert, solange AIVEN_READ_ONLY=true.
AIVEN_WRITE_ALLOWLISTNein--Kommagetrennte Tool-Namen, die während AIVEN_READ_ONLY=true wieder aktiviert werden sollen (z. B. aiven_kafka_topic_create). Wird ignoriert, wenn der Nur-Lese-Modus nicht aktiviert ist.
MCP_HOSTNeinhttps://mcp.aiven.liveÜberschreibt den Host der geschützten OAuth-Ressource
MCP_TRANSPORTNeinstdioAuf http setzen, um einen HTTP-Server statt stdio zu starten
MCP_HTTP_RATE_LIMIT_MAXNein1000Maximale Anfragen pro Fenster auf POST /mcp (HTTP-Transport), pro Bearer-Token. Die Ratenbegrenzung nach Client-IP wird bei Cloudflare erwartet.
MCP_HTTP_RATE_LIMIT_WINDOW_MSNein60000Fensterlänge in Millisekunden für MCP_HTTP_RATE_LIMIT_MAX.
EXTRA_PROTECTIONNeinfalseAuf true bei HTTP-Bereitstellungen setzen, um bei jeder Anfrage außer GET /health einen gültigen X-Edge-Auth-Header zu erfordern. Siehe Edge-Schutz-Rollout unten.
MCP_EDGE_AUTH_SECRETWenn EXTRA_PROTECTION=true--Gemeinsames Geheimnis; muss mit dem Wert übereinstimmen, den Cloudflare über Transform Rules als X-Edge-Auth einfügt.

Im Remote-Modus (HTTP) wird AIVEN_TOKEN nicht benötigt. Dein MCP-Client sendet dein Token bei jeder Anfrage als Bearer-Token.

Der HTTP-Produktionsverkehr wird in zwei Schichten ratenbegrenzt: Cloudflare erzwingt ein Limit pro Client-IP (konfiguriert im Cloudflare-Dashboard), und dieser Server erzwingt MCP_HTTP_RATE_LIMIT_* pro Bearer-Token auf POST /mcp.

Edge-Schutz-Rollout

Wenn EXTRA_PROTECTION=true, führt jede Abweichung zwischen MCP_EDGE_AUTH_SECRET und dem Wert, den Cloudflare als X-Edge-Auth einfügt, dazu, dass jede Anfrage 403 zurückgibt (außer GET /health). Beide Werte sind Umgebung/Konfiguration auf gegenüberliegenden Seiten der Verbindung, sodass der einzige Wiederherstellungsweg darin besteht, das Geheimnis zu korrigieren und neu bereitzustellen oder Cloudflare zu aktualisieren.

In dieser Reihenfolge aktivieren:

  1. Cloudflare Transform Rule — Füge eine Regel hinzu, die X-Edge-Auth (und, falls für PG-Tools verwendet, X-Client-IP) für den Verkehr zum MCP-Origin setzt. Notiere den Geheimniswert, den du konfigurierst.
  2. MCP_EDGE_AUTH_SECRET — Stelle den Server mit dieser Umgebungsvariable bereit, die auf dasselbe Geheimnis wie die Transform Rule gesetzt ist. Lass EXTRA_PROTECTION vorerst ungesetzt oder auf false; überprüfe, ob der Origin weiterhin Verkehr akzeptiert.
  3. EXTRA_PROTECTION=true — Aktiviere erst, nachdem die Schritte 1–2 live und abgeglichen sind. Bestätige, dass eine normale MCP-Anfrage erfolgreich ist und direkter Origin-Zugriff ohne X-Edge-Auth abgelehnt wird.
  4. Geheimnisrotation — Aktualisiere Cloudflare und MCP_EDGE_AUTH_SECRET gemeinsam (oder setze kurzzeitig EXTRA_PROTECTION=false), stelle neu bereit und aktiviere dann erneut. Rotiere niemals nur eine Seite, während das Flag aktiviert ist.

Wenn EXTRA_PROTECTION=true beim Start und MCP_EDGE_AUTH_SECRET fehlt, beendet sich der Prozess sofort mit einem Fehler.

Solange Ablehnungen andauern, protokolliert der Server höchstens alle 15 Minuten eine Fehlkonfigurationswarnung (zurückgesetzt nach einer Anfrage mit gültigem X-Edge-Auth), sodass eine Geheimnisabweichung in den Logs sichtbar ist, ohne eine Zeile pro abgelehnter Anfrage.

Tools

Kern

ToolBeschreibung
aiven_project_listProjekte auflisten
aiven_project_getProjektdetails abrufen
aiven_list_project_cloudsCloud-Plattformen für ein Projekt auflisten
aiven_project_vpc_listVPCs für ein Projekt auflisten
aiven_service_listDienste auflisten
aiven_service_type_plansPläne mit Cloud-Verfügbarkeit auflisten
aiven_service_type_getStandard- und verfügbare Engine-Versionen für einen Diensttyp abrufen
aiven_service_plan_pricingPreisgestaltung für einen Plan in einer bestimmten Cloud abrufen
aiven_service_createEinen Dienst erstellen
aiven_service_getDienstinformationen abrufen
aiven_service_updateEinen Dienst aktualisieren (Plan, Konfiguration, Energiezustand)
aiven_service_metrics_fetchMetriken für verwaltete Datendienste abrufen
aiven_service_application_metrics_getMetriken für Anwendungsdienste abrufen
aiven_project_get_service_logsDienst-Log-Einträge abrufen
aiven_service_query_activityAktuelle Abfragen für einen Dienst abrufen
aiven_project_get_event_logsProjekt-Ereignisprotokoll-Einträge abrufen

Kafka

ToolBeschreibung
aiven_kafka_topic_listKafka-Topics auflisten
aiven_kafka_topic_createEin Kafka-Topic erstellen
aiven_kafka_topic_getKafka-Topic-Informationen abrufen
aiven_kafka_topic_updateEin Kafka-Topic aktualisieren
aiven_kafka_topic_deleteEin Kafka-Topic löschen
aiven_kafka_topic_message_listNachrichten aus einem Kafka-Topic lesen
aiven_kafka_topic_message_produceNachrichten in ein Kafka-Topic produzieren
aiven_kafka_connect_available_connectorsVerfügbare Connector-Typen auflisten
aiven_kafka_connect_listLaufende Connectoren auflisten
aiven_kafka_connect_create_connectorEinen Connector erstellen
aiven_kafka_connect_edit_connectorEinen Connector bearbeiten
aiven_kafka_connect_get_connector_statusConnector-Status abrufen
aiven_kafka_connect_pause_connectorEinen Connector pausieren
aiven_kafka_connect_resume_connectorEinen Connector fortsetzen
aiven_kafka_connect_restart_connectorEinen Connector neu starten
aiven_kafka_connect_delete_connectorEinen Connector löschen
aiven_kafka_schema_registry_subjectsSchema-Registry-Subjects auflisten
aiven_kafka_schema_registry_subject_version_getSchema-Registry-Subject-Version abrufen

PostgreSQL

ToolBeschreibung
aiven_pg_service_available_extensionsVerfügbare Erweiterungen auflisten
aiven_pg_service_query_statisticsAbfragestatistiken abrufen
aiven_pg_bouncer_createEinen PgBouncer-Verbindungspool erstellen
aiven_pg_bouncer_updateEinen PgBouncer-Verbindungspool aktualisieren
aiven_pg_bouncer_deleteEinen PgBouncer-Verbindungspool löschen
aiven_pg_readEine schreibgeschützte SQL-Abfrage ausführen
aiven_pg_writeEine schreibende SQL-Anweisung ausführen (INSERT, UPDATE, DELETE, CREATE TABLE usw.)
aiven_pg_optimize_queryKI-gestützte Abfrageoptimierung (EverSQL)

Anwendungen

ToolBeschreibung
aiven_application_createEine Containerfile/Dockerfile-Anwendung erstellen und initial bereitstellen; gibt 409 zurück, wenn der Dienst bereits existiert
aiven_application_redeployEine bestehende Anwendung aus ihrem konfigurierten Repository neu erstellen, ohne die Dienstkonfiguration zu ändern
aiven_vcs_integration_initializeDen browserbasierten Ablauf zum Verbinden eines GitHub-Kontos starten
aiven_vcs_integration_listVerbundene VCS-(GitHub-)Konten auflisten
aiven_vcs_integration_repository_listRepositories für eine VCS-Integration auflisten
aiven_vcs_integration_repository_branch_listRepository-Branches und ihre aktuellen Commit-SHAs auflisten
aiven_vcs_integration_repository_container_manifest_files_listKandidaten für Containerfile, Dockerfile und Compose-Manifeste finden
aiven_vcs_integration_repository_scan_container_manifestKandidaten für Aiven-Dienstkonfigurationen aus einem Containerfile, Dockerfile oder unterstützten Teilen einer Compose-Datei ableiten

Dokumentation

ToolBeschreibung
aiven_docs_searchDie offizielle Aiven-Dokumentation in natürlicher Sprache durchsuchen. Nur auf dem gehosteten Server (https://mcp.aiven.live/mcp) verfügbar — nicht in selbst gehosteten Bereitstellungen bereitgestellt.

Mitwirken

Siehe CONTRIBUTING.md für die Entwicklungseinrichtung, das lokale Ausführen und das Hinzufügen neuer Tools.

Lizenz

Apache-2.0