Google Cloud MCP Server
officielInteragissez avec les services Google Cloud et gérez vos ressources cloud.
Documentation
Serveur MCP gcloud ☁️
Le serveur Model Context Protocol (MCP) gcloud permet aux assistants IA d’interagir facilement avec l’environnement Google Cloud en utilisant la CLI gcloud. Avec le serveur MCP gcloud, vous pouvez :
- Interagir avec Google Cloud en langage naturel. Décrivez le résultat souhaité au lieu de mémoriser une syntaxe de commande complexe, des options et des arguments.
- Automatiser et simplifier les flux de travail complexes. Enchaînez plusieurs opérations cloud en une seule commande reproductible pour réduire l’effort manuel et le risque d’erreur.
- Abaisser la barrière d’entrée à la gestion cloud. Donnez aux membres de l’équipe moins familiers avec gcloud la possibilité d’effectuer des actions puissantes en toute confiance et en toute sécurité.
📡 Serveurs MCP disponibles
Ce dépôt héberge également d’autres serveurs MCP en plus du serveur MCP gcloud. Une liste à jour se trouve ci-dessous, et les liens vers d’autres serveurs MCP Google Cloud hébergés en dehors de ce dépôt sont ici.
🚀 Prise en main
Prérequis
- Node.js : version 20 ou supérieure
- CLI gcloud
✨ Configurer votre serveur MCP
Gemini CLI et Gemini Code Assist
Pour intégrer les serveurs MCP avec Gemini CLI ou Gemini Code Assist, exécutez la commande de configuration ci-dessous depuis votre répertoire personnel pour le serveur MCP listé dans le tableau. Cela installera le serveur MCP en tant qu’extension Gemini CLI pour l’utilisateur actuel, le rendant disponible pour tous vos projets.
npx @google-cloud/[PACKAGE_NAME] init --agent=gemini-cli
Par exemple, pour gcloud-mcp :
npx @google-cloud/gcloud-mcp init --agent=gemini-cli
Après le processus d’initialisation, vous pouvez vérifier que le serveur gcloud-mcp est correctement configuré en exécutant la commande suivante :
gemini mcp list
> ✓ gcloud: npx -y @google-cloud/gcloud-mcp (stdio) - Connected
Pour d’autres clients IA
Pour utiliser les serveurs MCP de ce dépôt avec d’autres clients, ajoutez l’extrait suivant à leurs fichiers de configuration JSON respectifs pour chaque serveur MCP :
"[SERVER_NAME]": {
"command": "npx",
"args": ["-y", "@google-cloud/[PACKAGE_NAME]"]
}
Par exemple, pour gcloud :
"gcloud": {
"command": "npx",
"args": ["-y", "@google-cloud/gcloud-mcp"]
}
Instructions pour les outils populaires :
- Claude Desktop : Ouvrez Claude > Paramètres > Développeur > Modifier la configuration et modifiez
claude_desktop_config.json. - Cline : Cliquez sur l’icône Serveurs MCP, puis Configurer les serveurs MCP pour modifier
cline_mcp_settings.json. - Cursor : Modifiez
.cursor/mcp.jsonpour un seul projet ou~/.cursor/mcp.jsonpour tous les projets. - Gemini CLI (Configuration manuelle) : Si vous n’utilisez pas les extensions, modifiez
.gemini/settings.jsonpour un seul projet ou~/.gemini/settings.jsonpour tous les projets.
Pour Visual Studio Code, modifiez le fichier .vscode/mcp.json dans votre espace de travail pour un seul projet ou votre fichier de paramètres utilisateur global pour tous les projets :
"servers": {
"[SERVER_NAME]": {
"command": "npx",
"args": ["-y", "@google-cloud/[PACKAGE_NAME]"]
}
}
Par exemple, pour gcloud et observability :
"servers": {
"gcloud": {
"command": "npx",
"args": ["-y", "@google-cloud/gcloud-mcp"]
},
"observability": {
"command": "npx",
"args": ["-y", "@google-cloud/observability-mcp"]
},
}
🛠 Développement local
Pour plus d’informations sur l’installation du dépôt en local, veuillez consulter development.md
🧰 Outils MCP disponibles
| Serveur MCP | Outil | Description |
|---|---|---|
| gcloud | run_gcloud_command | Exécute une commande gcloud. Certaines commandes ont été restreintes à l’exécution par l’agent. Voir Permissions MCP pour plus d’informations. |
| observability | list_log_entries | Liste les entrées de journal d’un projet. |
list_log_names | Liste les noms de journaux d’un projet. | |
list_buckets | Liste les buckets de journaux d’un projet. | |
list_views | Liste les vues de journaux d’un projet. | |
list_sinks | Liste les récepteurs de journaux d’un projet. | |
list_log_scopes | Liste les étendues de journaux d’un projet. | |
list_metric_descriptors | Liste les descripteurs de métriques d’un projet. | |
list_time_series | Liste les données de séries temporelles pour une métrique donnée. | |
list_alert_policies | Liste les politiques d’alerte d’un projet. | |
list_traces | Recherche des traces dans un projet. | |
get_trace | Obtient une trace spécifique par ID dans un projet. | |
list_group_stats | Liste les groupes d’erreurs d’un projet. | |
| storage | list_objects | Liste les objets dans un bucket GCS. |
read_object_metadata | Lit les métadonnées complètes d’un objet spécifique. | |
read_object_content | Lit le contenu d’un objet spécifique. | |
delete_object | Supprime un objet spécifique d’un bucket. | |
write_object | Écrit un nouvel objet dans un bucket. | |
update_object_metadata | Met à jour les métadonnées personnalisées d’un objet existant. | |
copy_object | Copie un objet d’un bucket à un autre. | |
move_object | Déplace un objet d’un bucket à un autre. | |
upload_object | Téléverse un fichier vers un bucket GCS. | |
download_object | Télécharge un objet depuis GCS vers un fichier local. | |
list_buckets | Liste tous les buckets d’un projet. | |
create_bucket | Crée un nouveau bucket. | |
delete_bucket | Supprime un bucket. | |
get_bucket_metadata | Obtient les métadonnées complètes d’un bucket spécifique. | |
update_bucket_labels | Met à jour les libellés d’un bucket. | |
get_bucket_location | Obtient l’emplacement d’un bucket. | |
view_iam_policy | Affiche la stratégie IAM d’un bucket. | |
check_iam_permissions | Teste les autorisations IAM pour un bucket. | |
get_metadata_table_schema | Vérifie si le service GCS insights est activé et renvoie le schéma de table BigQuery pour une configuration de jeu de données insights donnée. | |
execute_insights_query | Exécute une requête SQL BigQuery sur un jeu de données insights et renvoie le résultat. | |
list_insights_configs | Liste les noms de toutes les configurations de jeux de données Storage Insights pour un projet donné. | |
| backupdr | list_backup_vaults | Liste tous les coffres de sauvegarde dans un projet et un emplacement donnés. |
get_backup_vault | Obtient les détails d’un coffre de sauvegarde spécifique. | |
list_backup_plans | Liste tous les plans de sauvegarde dans un projet et un emplacement donnés. | |
get_backup_plan | Obtient les détails d’un plan de sauvegarde spécifique. | |
list_backup_plan_associations | Liste toutes les associations entre les plans de sauvegarde et les ressources. | |
get_backup_plan_association | Obtient les détails d’une association de plan de sauvegarde spécifique. | |
list_datasources | Liste toutes les sources de données dans un coffre de sauvegarde. | |
get_datasource | Obtient les détails d’une source de données spécifique. | |
list_backups | Liste toutes les sauvegardes pour une source de données donnée. | |
get_backup | Obtient les détails d’une sauvegarde spécifique. | |
find_protectable_resources | Découvre les ressources (VM, disques, SQL) qui peuvent être protégées. | |
get_backupdr_operation | Récupère le statut d’une opération BackupDR de longue durée. | |
get_csql_operation | Récupère le statut d’une opération Cloud SQL de longue durée. | |
create_backup_vault | Crée un nouveau coffre de sauvegarde dans un emplacement spécifié. | |
create_backup_plan | Crée un nouveau plan de sauvegarde avec des règles et une rétention définies. | |
update_backup_plan | Modifie un plan de sauvegarde existant. | |
create_backup_plan_association | Associe une ressource à un plan de sauvegarde pour démarrer la protection. | |
restore_backup | Restaure une sauvegarde vers une instance ou un disque Compute Engine cible. | |
csql_restore | Restaure une sauvegarde Cloud SQL vers une instance cible. | |
delete_backup_vault | Supprime un coffre de sauvegarde. | |
delete_backup_plan | Supprime un plan de sauvegarde. | |
delete_backup_plan_association | Supprime la protection d’une ressource en supprimant son association. | |
delete_backup | Supprime une sauvegarde spécifique d’un coffre. |
🔑 Permissions MCP
Les permissions du MCP gcloud sont directement liées aux permissions du compte gcloud actif. Pour restreindre les permissions et opérer selon le principe du moindre privilège, vous pouvez vous authentifier en tant que compte de service via l’usurpation d’identité et attribuer au compte de service un rôle avec des permissions limitées.
Par défaut, le MCP gcloud empêche l’exécution des commandes gcloud qui n’ont pas de sens pour les agents IA. Cela vise à restreindre les commandes pouvant exécuter des entrées arbitraires et initier des sessions interactives. Voir ici pour la liste des commandes refusées.
💫 Autres serveurs MCP Google Cloud
Google Cloud propose ces autres serveurs :
- 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 for Databases
👥 Contribuer
Les contributions sont les bienvenues ! Que vous corrigiez des bugs, partagiez des retours ou amélioriez la documentation, vos contributions sont les bienvenues. Veuillez lire notre Guide de contribution pour commencer.
📄 Notes importantes
Ce dépôt est actuellement en aperçu et peut subir des modifications cassantes. Ce dépôt fournit une solution, pas un produit Google officiellement supporté. Il n’est pas couvert par les Conditions d’utilisation de Google Cloud. Il peut cesser de fonctionner lorsque la spécification MCP, d’autres SDK, ou lorsque d’autres solutions et produits changent. Consultez également notre Politique de sécurité.