Aiven
offiziellNavigieren 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
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:
| Marketplace | Pfadsegment |
|---|---|
| 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>"
}
}
}
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.jsonin 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
| Variable | Erforderlich | Standard | Beschreibung |
|---|---|---|---|
AIVEN_TOKEN | nur stdio | -- | Aiven-API-Token (hier erstellen) |
AIVEN_READ_ONLY | Nein | false | Auf true setzen, um nur schreibgeschützte Tools bereitzustellen |
AIVEN_SERVICES_SCOPE | Nein | -- | 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_SECRETS | Nein | false | Auf 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_ALLOWLIST | Nein | -- | 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_HOST | Nein | https://mcp.aiven.live | Überschreibt den Host der geschützten OAuth-Ressource |
MCP_TRANSPORT | Nein | stdio | Auf http setzen, um einen HTTP-Server statt stdio zu starten |
MCP_HTTP_RATE_LIMIT_MAX | Nein | 1000 | Maximale 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_MS | Nein | 60000 | Fensterlänge in Millisekunden für MCP_HTTP_RATE_LIMIT_MAX. |
EXTRA_PROTECTION | Nein | false | Auf 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_SECRET | Wenn 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:
- 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. MCP_EDGE_AUTH_SECRET— Stelle den Server mit dieser Umgebungsvariable bereit, die auf dasselbe Geheimnis wie die Transform Rule gesetzt ist. LassEXTRA_PROTECTIONvorerst ungesetzt oder auffalse; überprüfe, ob der Origin weiterhin Verkehr akzeptiert.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 ohneX-Edge-Authabgelehnt wird.- Geheimnisrotation — Aktualisiere Cloudflare und
MCP_EDGE_AUTH_SECRETgemeinsam (oder setze kurzzeitigEXTRA_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
| Tool | Beschreibung |
|---|---|
aiven_project_list | Projekte auflisten |
aiven_project_get | Projektdetails abrufen |
aiven_list_project_clouds | Cloud-Plattformen für ein Projekt auflisten |
aiven_project_vpc_list | VPCs für ein Projekt auflisten |
aiven_service_list | Dienste auflisten |
aiven_service_type_plans | Pläne mit Cloud-Verfügbarkeit auflisten |
aiven_service_type_get | Standard- und verfügbare Engine-Versionen für einen Diensttyp abrufen |
aiven_service_plan_pricing | Preisgestaltung für einen Plan in einer bestimmten Cloud abrufen |
aiven_service_create | Einen Dienst erstellen |
aiven_service_get | Dienstinformationen abrufen |
aiven_service_update | Einen Dienst aktualisieren (Plan, Konfiguration, Energiezustand) |
aiven_service_metrics_fetch | Metriken für verwaltete Datendienste abrufen |
aiven_service_application_metrics_get | Metriken für Anwendungsdienste abrufen |
aiven_project_get_service_logs | Dienst-Log-Einträge abrufen |
aiven_service_query_activity | Aktuelle Abfragen für einen Dienst abrufen |
aiven_project_get_event_logs | Projekt-Ereignisprotokoll-Einträge abrufen |
Kafka
| Tool | Beschreibung |
|---|---|
aiven_kafka_topic_list | Kafka-Topics auflisten |
aiven_kafka_topic_create | Ein Kafka-Topic erstellen |
aiven_kafka_topic_get | Kafka-Topic-Informationen abrufen |
aiven_kafka_topic_update | Ein Kafka-Topic aktualisieren |
aiven_kafka_topic_delete | Ein Kafka-Topic löschen |
aiven_kafka_topic_message_list | Nachrichten aus einem Kafka-Topic lesen |
aiven_kafka_topic_message_produce | Nachrichten in ein Kafka-Topic produzieren |
aiven_kafka_connect_available_connectors | Verfügbare Connector-Typen auflisten |
aiven_kafka_connect_list | Laufende Connectoren auflisten |
aiven_kafka_connect_create_connector | Einen Connector erstellen |
aiven_kafka_connect_edit_connector | Einen Connector bearbeiten |
aiven_kafka_connect_get_connector_status | Connector-Status abrufen |
aiven_kafka_connect_pause_connector | Einen Connector pausieren |
aiven_kafka_connect_resume_connector | Einen Connector fortsetzen |
aiven_kafka_connect_restart_connector | Einen Connector neu starten |
aiven_kafka_connect_delete_connector | Einen Connector löschen |
aiven_kafka_schema_registry_subjects | Schema-Registry-Subjects auflisten |
aiven_kafka_schema_registry_subject_version_get | Schema-Registry-Subject-Version abrufen |
PostgreSQL
| Tool | Beschreibung |
|---|---|
aiven_pg_service_available_extensions | Verfügbare Erweiterungen auflisten |
aiven_pg_service_query_statistics | Abfragestatistiken abrufen |
aiven_pg_bouncer_create | Einen PgBouncer-Verbindungspool erstellen |
aiven_pg_bouncer_update | Einen PgBouncer-Verbindungspool aktualisieren |
aiven_pg_bouncer_delete | Einen PgBouncer-Verbindungspool löschen |
aiven_pg_read | Eine schreibgeschützte SQL-Abfrage ausführen |
aiven_pg_write | Eine schreibende SQL-Anweisung ausführen (INSERT, UPDATE, DELETE, CREATE TABLE usw.) |
aiven_pg_optimize_query | KI-gestützte Abfrageoptimierung (EverSQL) |
Anwendungen
| Tool | Beschreibung |
|---|---|
aiven_application_create | Eine Containerfile/Dockerfile-Anwendung erstellen und initial bereitstellen; gibt 409 zurück, wenn der Dienst bereits existiert |
aiven_application_redeploy | Eine bestehende Anwendung aus ihrem konfigurierten Repository neu erstellen, ohne die Dienstkonfiguration zu ändern |
aiven_vcs_integration_initialize | Den browserbasierten Ablauf zum Verbinden eines GitHub-Kontos starten |
aiven_vcs_integration_list | Verbundene VCS-(GitHub-)Konten auflisten |
aiven_vcs_integration_repository_list | Repositories für eine VCS-Integration auflisten |
aiven_vcs_integration_repository_branch_list | Repository-Branches und ihre aktuellen Commit-SHAs auflisten |
aiven_vcs_integration_repository_container_manifest_files_list | Kandidaten für Containerfile, Dockerfile und Compose-Manifeste finden |
aiven_vcs_integration_repository_scan_container_manifest | Kandidaten für Aiven-Dienstkonfigurationen aus einem Containerfile, Dockerfile oder unterstützten Teilen einer Compose-Datei ableiten |
Dokumentation
| Tool | Beschreibung |
|---|---|
aiven_docs_search | Die 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.