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-Projekte auflisten und inspizieren — Verwenden Sie
aiven_project_listundaiven_project_get, um Projekte zu durchsuchen und deren Details anzuzeigen. - Aiven-Dienste verwalten — Erstellen, aktualisieren oder abrufen Sie Dienste mit
aiven_service_create,aiven_service_updateundaiven_service_get. - Mit Kafka-Themen und -Connectoren arbeiten — Themen auflisten, erstellen, aktualisieren, löschen, Nachrichten produzieren/konsumieren und Kafka Connect-Connectoren verwalten.
- SQL auf PostgreSQL-Diensten ausführen — Führen Sie schreibgeschützte Abfragen mit
aiven_pg_readoder Schreibanweisungen mitaiven_pg_writeaus. - Anwendungen bereitstellen und erneut bereitstellen — Verwenden Sie
aiven_application_deployundaiven_application_redeploy, um Dockerisierte Apps auf Aiven zu verwalten. - Aiven-Dokumentation durchsuchen — Durchsuchen Sie die offizielle Dokumentation in natürlicher Sprache über
aiven_docs_search(nur gehosteter Server).
Dokumentation
Aiven MCP Server
Ein Model Context Protocol (MCP) Server für die Aiven Cloud-Datenplattform.
Verwalten Sie 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 Ihrem Auftrag Aiven-Dienste und -Daten erstellen, ändern und löschen. KI-Agenten können basierend auf ihrer Interpretation Ihrer Eingabeaufforderungen destruktive Aktionen ausführen (Datenbanken löschen, Dienste löschen, Nachrichten produzieren). Sie tragen die volle Verantwortung für die über dieses Tool durchgeführten Aktionen.
Berechtigungen: Der Zugriff richtet sich nach den Aiven-Benutzerberechtigungen, die mit dem authentifizierten Konto verknüpft sind. Der MCP-Server kann nur Aktionen ausführen, die Ihr Aiven-Benutzer durchführen darf.
KI-Agenten-Sicherheit: KI-Agenten benötigen möglicherweise Zugangsdaten (Datenbank-Verbindungszeichenfolgen, Streaming-Token), um in Ihrem Auftrag zu handeln. Überprüfen Sie, was Ihr Agent tut, insbesondere in Produktionsumgebungen. Befolgen Sie die Sicherheitsrichtlinien Ihres Unternehmens und führen Sie eine Risikobewertung durch, bevor Sie KI-Agenten Zugriff auf sensible Ressourcen gewähren.
Schnellstart
Option 1: Remote (von Aiven gehostet)
Der MCP-Server wird unter https://mcp.aiven.live/mcp gehostet. Ihr MCP-Client fordert Sie zur Autorisierung bei Aiven auf.
Claude Code
claude mcp add --scope user --transport http aiven-mcp "https://mcp.aiven.live/mcp"
Cursor
Oder manuell zu den Cursor MCP-Einstellungen hinzufügen:
{
"mcpServers": {
"aiven-mcp": {
"url": "https://mcp.aiven.live/mcp"
}
}
}
VS Code / Copilot
Zu .vscode/mcp.json in Ihrem Arbeitsbereich hinzufügen:
{
"servers": {
"aiven-mcp": {
"type": "http",
"url": "https://mcp.aiven.live/mcp"
}
}
}
Nur-Lese-Modus (Remote)
Aktivieren Sie den Nur-Lese-Modus, indem Sie ?read_only=true zur URL hinzufügen. Alle Schreiboperationen werden aus dem MCP ausgeschlossen:
{
"mcpServers": {
"aiven-mcp": {
"url": "https://mcp.aiven.live/mcp?read_only=true"
}
}
}
Eingeschränkte Werkzeuge (Remote)
Reduzieren Sie die dem KI-Agenten zur Verfügung gestellte Werkzeugoberfläche, indem Sie ?services_scope= zur URL hinzufügen. Nützlich, wenn Sie nur mit einer Teilmenge der Aiven-Dienste arbeiten und den Kontext des Agenten fokussiert halten möchten. Kombinieren Sie Werte mit Kommas. core (Projekt-/Dienst-Erkennung) ist immer implizit enthalten.
Gültige Bereiche: all, core, pg, kafka, application, integrations. Verwenden Sie all, um explizit jedes Werkzeug zu laden (entspricht dem Weglassen des Parameters). all kann nicht mit anderen Bereichen kombiniert werden.
{
"mcpServers": {
"aiven-mcp": {
"url": "https://mcp.aiven.live/mcp?services_scope=kafka"
}
}
}
Sie können auch mit read_only kombinieren:
https://mcp.aiven.live/mcp?services_scope=pg&read_only=true
Schreibausnahmen im Nur-Lese-Modus (Remote)
Wenn read_only=true, fügen Sie ?write_allowlist= hinzu, um bestimmte Schreibwerkzeuge wieder zu aktivieren, während alles andere nur lesbar bleibt. Nützlich, wenn Sie überwiegend Lesezugriff wünschen, aber dennoch eine Schreibaktion zulassen müssen, z. B. das Erstellen von Kafka-Themen. Kombinieren Sie mehrere Werkzeugnamen 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 Sie Aiven über einen Cloud-Marketplace abonniert haben, fügen Sie Ihren 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 wird mit den obigen Abfrageparametern kombiniert, zum Beispiel https://mcp.aiven.live/mcp/gcp?services_scope=pg&read_only=true.
Option 2: stdio (lokal)
Führen Sie den Server lokal als Kindprozess Ihres MCP-Clients aus. Erfordert Node.js 18+.
Sie müssen Ihren Aiven-API-Token über die Umgebungsvariable AIVEN_TOKEN bereitstellen. Erstellen Sie hier einen Token.
Claude Code
claude mcp add --scope user aiven-mcp -e AIVEN_TOKEN=your-token-here -- npx -y mcp-aiven
Cursor, VS Code -- zu Ihrer MCP-Client-Konfiguration hinzufügen:
{
"mcpServers": {
"aiven-mcp": {
"command": "npx",
"args": ["-y", "mcp-aiven"],
"env": {
"AIVEN_TOKEN": "your-token-here"
}
}
}
}
Speicherorte der Konfigurationsdateien:
- Cursor: Cursor-Einstellungen > MCP-Server
- VS Code:
.vscode/mcp.jsonin Ihrem Arbeitsbereich
Option 3: Lokale Entwicklung
Führen Sie 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. Verbinden Sie Ihren MCP-Client mit http://localhost:3000/mcp.
Um eine Remote-Bereitstellung auf einen benutzerdefinierten Host (z. B. Ihren lokalen Build) zu verweisen, setzen Sie MCP_HOST:
MCP_HOST=http://localhost:3000 node dist/index.js
Umgebungsvariablen
| Variable | Erforderlich | Standard | Beschreibung |
|---|---|---|---|
AIVEN_TOKEN | Nur stdio | -- | Aiven-API-Token (hier einen erstellen) |
AIVEN_READ_ONLY | Nein | false | Auf true setzen, um nur lesbare Werkzeuge bereitzustellen |
AIVEN_SERVICES_SCOPE | Nein | -- | Kommagetrennte Bereiche, die bereitgestellt werden sollen (z. B. kafka, pg,kafka oder all). Gültig: all, core, pg, kafka, application, integrations. core ist immer enthalten. Das Weglassen der Variable oder das Setzen von all lädt jedes Werkzeug. |
AIVEN_ALLOW_SECRETS | Nein | false | Auf true setzen, um das Werkzeug aiven_service_connection_info bereitzustellen, das Live-Anmeldeinformationen (Passwörter, Verbindungs-URIs, Zertifikate) in die Konversation zurückgibt. Deaktiviert, während AIVEN_READ_ONLY=true. |
AIVEN_WRITE_ALLOWLIST | Nein | -- | Kommagetrennte Werkzeugnamen, die wieder aktiviert werden sollen, während AIVEN_READ_ONLY=true (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 geschützten OAuth-Ressourcen-Host |
MCP_TRANSPORT | Nein | stdio | Auf http setzen, um einen HTTP-Server anstelle von stdio zu starten |
MCP_HTTP_RATE_LIMIT_MAX | Nein | 1000 | Maximale Anfragen pro Fenster auf POST /mcp (HTTP-Transport), pro Bearer-Token. Client-IP-Ratenbegrenzung 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 einen gültigen X-Edge-Auth-Header bei jeder Anfrage außer GET /health zu verlangen. Siehe Edge-Schutz-Rollout unten. |
MCP_EDGE_AUTH_SECRET | Wenn EXTRA_PROTECTION=true | -- | Gemeinsames Geheimnis; muss mit dem Wert übereinstimmen, den Cloudflare als X-Edge-Auth über Transformationsregeln einfügt. |
Im Remote-Modus (HTTP) wird AIVEN_TOKEN nicht benötigt. Ihr MCP-Client sendet Ihren Token als Bearer-Token mit jeder Anfrage.
Produktions-HTTP-Verkehr wird in zwei Schichten ratenbegrenzt: Cloudflare setzt ein Limit pro Client-IP durch (konfiguriert im Cloudflare-Dashboard), und dieser Server setzt MCP_HTTP_RATE_LIMIT_* pro Bearer-Token auf POST /mcp durch.
Edge-Schutz-Rollout
Wenn EXTRA_PROTECTION=true, führt jede Nichtübereinstimmung zwischen MCP_EDGE_AUTH_SECRET und dem Wert, den Cloudflare als X-Edge-Auth einfügt, dazu, dass jede Anfrage mit 403 zurückgewiesen wird (außer GET /health). Beide Werte sind Umgebungs-/Konfigurationswerte auf gegenüberliegenden Seiten der Leitung, sodass der einzige Wiederherstellungspfad darin besteht, das Geheimnis zu korrigieren und erneut bereitzustellen oder Cloudflare zu aktualisieren.
In dieser Reihenfolge aktivieren:
- Cloudflare-Transformationsregel — Fügen Sie eine Regel hinzu, die
X-Edge-Auth(und, falls für PG-Werkzeuge verwendet,X-Client-IP) für den Datenverkehr zum MCP-Ursprung setzt. Notieren Sie sich den von Ihnen konfigurierten Geheimniswert. MCP_EDGE_AUTH_SECRET— Stellen Sie den Server mit dieser Umgebungsvariable bereit, die auf das gleiche Geheimnis wie die Transformationsregel gesetzt ist. Lassen SieEXTRA_PROTECTIONvorerst ungesetzt oder auffalse; überprüfen Sie, ob der Ursprung weiterhin Datenverkehr akzeptiert.EXTRA_PROTECTION=true— Aktivieren Sie dies erst, nachdem die Schritte 1–2 live und abgeglichen sind. Bestätigen Sie, dass eine normale MCP-Anfrage erfolgreich ist und der direkte Ursprungszugriff ohneX-Edge-Authabgelehnt wird.- Geheimnisrotation — Aktualisieren Sie Cloudflare und
MCP_EDGE_AUTH_SECRETgemeinsam (oder setzen Sie kurzEXTRA_PROTECTION=false), stellen Sie erneut bereit und aktivieren Sie dann wieder. Rotieren Sie niemals eine Seite allein, während das Flag aktiviert ist.
Wenn EXTRA_PROTECTION=true beim Start und MCP_EDGE_AUTH_SECRET fehlt, wird der Prozess sofort mit einem Fehler beendet.
Während die Ablehnungen fortgesetzt werden, protokolliert der Server höchstens einmal alle 15 Minuten eine Fehlkonfigurationswarnung (Zurücksetzung nach einer Anfrage mit gültigem X-Edge-Auth), sodass eine Geheimnisabweichung in den Protokollen sichtbar ist, ohne eine Zeile pro abgelehnter Anfrage.
Werkzeuge
Kern
| Werkzeug | 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_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 | Dienstprotokolleinträge abrufen |
aiven_service_query_activity | Aktuelle Abfragen für einen Dienst abrufen |
aiven_project_get_event_logs | Projektereignisprotokolleinträge abrufen |
Kafka
| Werkzeug | Beschreibung |
|---|---|
aiven_kafka_topic_list | Kafka-Themen auflisten |
aiven_kafka_topic_create | Ein Kafka-Thema erstellen |
aiven_kafka_topic_get | Kafka-Themeninfo abrufen |
aiven_kafka_topic_update | Ein Kafka-Thema aktualisieren |
aiven_kafka_topic_delete | Ein Kafka-Thema löschen |
aiven_kafka_topic_message_list | Nachrichten aus einem Kafka-Thema lesen |
aiven_kafka_topic_message_produce | Nachrichten in ein Kafka-Thema produzieren |
aiven_kafka_connect_available_connectors | Verfügbare Connectortypen auflisten |
aiven_kafka_connect_list | Laufende Connectors 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
| Werkzeug | 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 SQL-Schreibanweisung ausführen (INSERT, UPDATE, DELETE, CREATE TABLE usw.) |
aiven_pg_optimize_query | KI-gestützte Abfrageoptimierung (EverSQL) |
Anwendungen
| Werkzeug | Beschreibung |
|---|---|
aiven_application_deploy | Eine dockerisierte Anwendung auf Aiven bereitstellen |
aiven_application_redeploy | Eine bestehende Anwendung neu erstellen und erneut bereitstellen |
aiven_vcs_integration_list | Verbundene VCS-Konten (GitHub) auflisten |
aiven_vcs_integration_repository_list | Repositories für eine VCS-Integration auflisten |
Dokumentation
| Werkzeug | Beschreibung |
|---|---|
aiven_docs_search | Die offizielle Aiven-Dokumentation in natürlicher Sprache durchsuchen. Nur auf dem gehosteten Server verfügbar (https://mcp.aiven.live/mcp) — nicht in selbst gehosteten Bereitstellungen verfügbar. |
Mitwirken
Siehe CONTRIBUTING.md für Entwicklungseinrichtung, lokale Ausführung und das Hinzufügen neuer Werkzeuge.