Google Cloud MCP Server
offiziellInteract with Google Cloud services and manage your cloud resources.
Dokumentation
gcloud MCP-Server ☁️
Der gcloud Model Context Protocol (MCP)-Server ermöglicht KI-Assistenten die einfache Interaktion mit der Google Cloud-Umgebung über die gcloud CLI. Mit dem gcloud MCP-Server können Sie:
- Mit Google Cloud in natürlicher Sprache interagieren. Beschreiben Sie das gewünschte Ergebnis, anstatt sich komplexe Befehlssyntax, Flags und Argumente merken zu müssen.
- Komplexe Workflows automatisieren und vereinfachen. Verketten Sie mehrere Cloud-Operationen zu einem einzigen, wiederholbaren Befehl, um manuellen Aufwand und Fehlerquellen zu reduzieren.
- Die Einstiegshürde für das Cloud-Management senken. Befähigen Sie Teammitglieder, die weniger mit gcloud vertraut sind, leistungsstarke Aktionen sicher und zuverlässig auszuführen.
📡 Verfügbare MCP-Server
Dieses Repository hostet neben dem gcloud MCP-Server auch andere MCP-Server. Eine aktuelle Liste finden Sie unten, und Links zu anderen Google Cloud MCP-Servern, die außerhalb dieses Repos gehostet werden, finden Sie hier.
🚀 Erste Schritte
Voraussetzungen
- Node.js: Version 20 oder höher
- gcloud CLI
✨ Einrichten Ihres MCP-Servers
Gemini CLI und Gemini Code Assist
Um MCP-Server mit Gemini CLI oder Gemini Code Assist zu integrieren, führen Sie den folgenden Einrichtungsbefehl aus Ihrem Home-Verzeichnis für den in der Tabelle aufgeführten MCP-Server aus. Dadurch wird der MCP-Server als Gemini CLI-Erweiterung für den aktuellen Benutzer installiert und steht für alle Ihre Projekte zur Verfügung.
npx @google-cloud/[PACKAGE_NAME] init --agent=gemini-cli
Zum Beispiel für gcloud-mcp:
npx @google-cloud/gcloud-mcp init --agent=gemini-cli
Nach dem Initialisierungsprozess können Sie überprüfen, ob der gcloud-mcp-Server korrekt konfiguriert ist, indem Sie den folgenden Befehl ausführen:
gemini mcp list
> ✓ gcloud: npx -y @google-cloud/gcloud-mcp (stdio) - Connected
Für andere KI-Clients
Um MCP-Server in diesem Repository mit anderen Clients zu verwenden, fügen Sie den folgenden Ausschnitt zu deren jeweiligen JSON-Konfigurationsdateien für jeden MCP-Server hinzu:
"[SERVER_NAME]": {
"command": "npx",
"args": ["-y", "@google-cloud/[PACKAGE_NAME]"]
}
Zum Beispiel für gcloud:
"gcloud": {
"command": "npx",
"args": ["-y", "@google-cloud/gcloud-mcp"]
}
Anleitungen für gängige Tools:
- Claude Desktop: Öffnen Sie Claude > Einstellungen > Entwickler > Konfiguration bearbeiten und
bearbeiten Sie
claude_desktop_config.json. - Cline: Klicken Sie auf das MCP-Server-Symbol und dann auf MCP-Server konfigurieren, um
cline_mcp_settings.jsonzu bearbeiten. - Cursor: Bearbeiten Sie
.cursor/mcp.jsonfür ein einzelnes Projekt oder~/.cursor/mcp.jsonfür alle Projekte. - Gemini CLI (Manuelle Einrichtung): Falls keine Erweiterungen verwendet werden,
bearbeiten Sie
.gemini/settings.jsonfür ein einzelnes Projekt oder~/.gemini/settings.jsonfür alle Projekte.
Für Visual Studio Code bearbeiten Sie die Datei .vscode/mcp.json in Ihrem
Arbeitsbereich für ein einzelnes Projekt oder Ihre globale Benutzereinstellungsdatei
für alle Projekte:
"servers": {
"[SERVER_NAME]": {
"command": "npx",
"args": ["-y", "@google-cloud/[PACKAGE_NAME]"]
}
}
Zum Beispiel für gcloud und observability:
"servers": {
"gcloud": {
"command": "npx",
"args": ["-y", "@google-cloud/gcloud-mcp"]
},
"observability": {
"command": "npx",
"args": ["-y", "@google-cloud/observability-mcp"]
},
}
🛠 Lokale Entwicklung
Weitere Informationen zur lokalen Installation des Repositorys finden Sie in development.md
🧰 Verfügbare MCP-Tools
| MCP-Server | Tool | Beschreibung |
|---|---|---|
| gcloud | run_gcloud_command | Führt einen gcloud-Befehl aus. Einige Befehle wurden von der Ausführung durch den Agenten eingeschränkt. Weitere Informationen finden Sie unter MCP-Berechtigungen. |
| observability | list_log_entries | Listet Log-Einträge aus einem Projekt auf. |
list_log_names | Listet Log-Namen aus einem Projekt auf. | |
list_buckets | Listet Log-Buckets aus einem Projekt auf. | |
list_views | Listet Log-Ansichten aus einem Projekt auf. | |
list_sinks | Listet Log-Senken aus einem Projekt auf. | |
list_log_scopes | Listet Log-Bereiche aus einem Projekt auf. | |
list_metric_descriptors | Listet Metrik-Deskriptoren für ein Projekt auf. | |
list_time_series | Listet Zeitreihendaten für eine bestimmte Metrik auf. | |
list_alert_policies | Listet die Alarmrichtlinien in einem Projekt auf. | |
list_traces | Sucht nach Traces in einem Projekt. | |
get_trace | Ruft einen bestimmten Trace anhand seiner ID in einem Projekt ab. | |
list_group_stats | Listet die Fehlergruppen für ein Projekt auf. | |
| storage | list_objects | Listet Objekte in einem GCS-Bucket auf. |
read_object_metadata | Liest umfassende Metadaten für ein bestimmtes Objekt. | |
read_object_content | Liest den Inhalt eines bestimmten Objekts. | |
delete_object | Löscht ein bestimmtes Objekt aus einem Bucket. | |
write_object | Schreibt ein neues Objekt in einen Bucket. | |
update_object_metadata | Aktualisiert die benutzerdefinierten Metadaten eines vorhandenen Objekts. | |
copy_object | Kopiert ein Objekt von einem Bucket in einen anderen. | |
move_object | Verschiebt ein Objekt von einem Bucket in einen anderen. | |
upload_object | Lädt eine Datei in einen GCS-Bucket hoch. | |
download_object | Lädt ein Objekt aus GCS in eine lokale Datei herunter. | |
list_buckets | Listet alle Buckets in einem Projekt auf. | |
create_bucket | Erstellt einen neuen Bucket. | |
delete_bucket | Löscht einen Bucket. | |
get_bucket_metadata | Ruft umfassende Metadaten für einen bestimmten Bucket ab. | |
update_bucket_labels | Aktualisiert Labels für einen Bucket. | |
get_bucket_location | Ruft den Standort eines Buckets ab. | |
view_iam_policy | Zeigt die IAM-Richtlinie für einen Bucket an. | |
check_iam_permissions | Testet IAM-Berechtigungen für einen Bucket. | |
get_metadata_table_schema | Prüft, ob der GCS Insights-Dienst aktiviert ist, und gibt das BigQuery-Tabellenschema für eine bestimmte Insights-Dataset-Konfiguration zurück. | |
execute_insights_query | Führt eine BigQuery-SQL-Abfrage für ein Insights-Dataset aus und gibt das Ergebnis zurück. | |
list_insights_configs | Listet die Namen aller Storage Insights-Dataset-Konfigurationen für ein bestimmtes Projekt auf. | |
| backupdr | list_backup_vaults | Listet alle Backup-Tresore in einem bestimmten Projekt und Standort auf. |
get_backup_vault | Ruft Details zu einem bestimmten Backup-Tresor ab. | |
list_backup_plans | Listet alle Backup-Pläne in einem bestimmten Projekt und Standort auf. | |
get_backup_plan | Ruft Details zu einem bestimmten Backup-Plan ab. | |
list_backup_plan_associations | Listet alle Zuordnungen zwischen Backup-Plänen und Ressourcen auf. | |
get_backup_plan_association | Ruft Details zu einer bestimmten Backup-Plan-Zuordnung ab. | |
list_datasources | Listet alle Datenquellen innerhalb eines Backup-Tresors auf. | |
get_datasource | Ruft Details zu einer bestimmten Datenquelle ab. | |
list_backups | Listet alle Backups für eine bestimmte Datenquelle auf. | |
get_backup | Ruft Details zu einem bestimmten Backup ab. | |
find_protectable_resources | Ermittelt Ressourcen (VMs, Festplatten, SQL), die geschützt werden können. | |
get_backupdr_operation | Ruft den Status eines lang laufenden BackupDR-Vorgangs ab. | |
get_csql_operation | Ruft den Status eines lang laufenden Cloud SQL-Vorgangs ab. | |
create_backup_vault | Erstellt einen neuen Backup-Tresor an einem angegebenen Standort. | |
create_backup_plan | Erstellt einen neuen Backup-Plan mit definierten Regeln und Aufbewahrung. | |
update_backup_plan | Ändert einen vorhandenen Backup-Plan. | |
create_backup_plan_association | Verknüpft eine Ressource mit einem Backup-Plan, um den Schutz zu starten. | |
restore_backup | Stellt ein Backup auf einer Ziel-Compute-Engine-Instanz oder -Festplatte wieder her. | |
csql_restore | Stellt ein Cloud SQL-Backup auf einer Zielinstanz wieder her. | |
delete_backup_vault | Löscht einen Backup-Tresor. | |
delete_backup_plan | Löscht einen Backup-Plan. | |
delete_backup_plan_association | Entfernt den Schutz von einer Ressource durch Löschen ihrer Zuordnung. | |
delete_backup | Löscht ein bestimmtes Backup aus einem Tresor. |
🔑 MCP-Berechtigungen
Die Berechtigungen des gcloud MCP sind direkt an die Berechtigungen des aktiven gcloud-Kontos gebunden. Um Berechtigungen einzuschränken und nach dem Prinzip der geringsten Privilegien zu arbeiten, können Sie sich als Dienstkonto mittels Identitätsübernahme autorisieren und dem Dienstkonto eine Rolle mit eingeschränkten Berechtigungen zuweisen.
Standardmäßig verhindert das gcloud MCP die Ausführung von gcloud-Befehlen, die für KI-Agenten nicht sinnvoll sind. Dies dient dazu, Befehle einzuschränken, die beliebige Eingaben ausführen und interaktive Sitzungen starten können. Siehe hier die Liste der verweigerten Befehle.
💫 Weitere Google Cloud MCP-Server
Google Cloud bietet diese weiteren Server an:
- Firebase MCP
- Google Analytics MCP
- Google Cloud Genmedia MCP
- Google Cloud Run MCP
- Google Kubernetes Engine (GKE) MCP
- Google Security Operations and Threat Intelligence MCP
- MCP Toolbox für Datenbanken
👥 Mitwirken
Wir freuen uns über Beiträge! Ob Sie Fehler beheben, Feedback teilen oder die Dokumentation verbessern – Ihre Beiträge sind willkommen. Bitte lesen Sie unseren Mitwirkungsleitfaden, um loszulegen.
📄 Wichtige Hinweise
Dieses Repository befindet sich derzeit in der Vorschau und kann breaking changes enthalten. Dieses Repository stellt eine Lösung bereit, kein offiziell unterstütztes Google-Produkt. Es ist nicht durch die Google Cloud-Nutzungsbedingungen abgedeckt. Es kann zu Fehlern kommen, wenn sich die MCP-Spezifikation, andere SDKs oder andere Lösungen und Produkte ändern. Siehe auch unsere Sicherheitsrichtlinie.