MCP Reference: cloudcli.googleapis.com

Le serveur MCP de la CLI Cloud fournit des outils permettant d'exécuter des commandes de la CLI Cloud dans un environnement de bac à sable distant.

Un serveur MCP (Model Context Protocol) fait office de proxy entre un service externe qui fournit le contexte, les données ou les capacités à un grand modèle de langage (LLM) ou à une application d'IA. Les serveurs MCP connectent les applications d'IA à des systèmes externes tels que des bases de données et des services Web, et traduisent leurs réponses dans un format que l'application d'IA peut comprendre.

Configuration du serveur

Vous devez activer les serveurs MCP et configurer l'authentification avant de les utiliser. Pour en savoir plus sur l'utilisation des serveurs MCP distants Google et Google Cloud, consultez la présentation des serveurs MCP Google Cloud.

Points de terminaison du serveur

Un point de terminaison de service MCP est l'adresse réseau et l'interface de communication (généralement une URL) du serveur MCP qu'une application d'IA (l'hôte du client MCP) utilise pour établir une connexion sécurisée et standardisée. Il s'agit du point de contact permettant au LLM de demander un contexte, d'appeler un outil ou d'accéder à une ressource. Les points de terminaison MCP Google peuvent être globaux ou régionaux.

Le serveur MCP de l'API Cloud CLI Execution possède le point de terminaison MCP global suivant :

  • https://cloudcli.googleapis.com/mcp

Outils MCP

Un outil MCP est une fonction ou une capacité exécutable qu'un serveur MCP expose à un LLM ou à une application d'IA pour effectuer une action dans le monde réel.

Outils

Le serveur MCP cloudcli.googleapis.com possède l'outil suivant :

Outils MCP
run_gcloud_command

Exécute une seule commande gcloud CLI dans le projet Google Cloud de l'utilisateur. AVERTISSEMENT DE SÉCURITÉ CRITIQUE (POTENTIELLEMENT DESTRUCTEUR) : cet outil peut créer, mettre à jour ou supprimer des ressources GCP (par exemple, gcloud compute instances delete). Il ne se limite PAS aux commandes en lecture seule. Faites preuve d'une extrême prudence. COMMANDES INTERDITES : un agent NE DOIT PAS exécuter les commandes gcloud suivantes (y compris leurs variantes alpha/bêta) : app deploy, app instances ssh, auth, billing, components, config, docker, feedback, info, init, meta, survey. RÈGLES D'EXÉCUTION STRICTES :

  1. Vous DEVEZ fournir le paramètre "project" (c'est-à-dire project="projects/PROJECT_ID") lorsque vous utilisez cet outil (il est utilisé pour la vérification de l'activation de l'API Cloud CLI Execution, la facturation, le quota, etc.). Il ne s'agit PAS du même indicateur --project que celui des commandes gcloud utilisées pour spécifier le projet sur lequel gcloud opère.
  2. Formatage des indicateurs : vous DEVEZ toujours utiliser le signe "=" pour séparer les clés d'indicateur de leurs valeurs pour toutes les options longues. Correct : --zone=us-central1-a ou --project=my-project. Incorrect : --zone us-central1-a ou --project my-project.
  3. Projet de facturation : vous ne pouvez pas supposer de projet préconfiguré ni de paramètres de facturation dans l'environnement d'exécution. Pour les commandes qui ne sont pas limitées à un projet (par exemple, au niveau d'un dossier ou d'une organisation) ou pour des scénarios spécifiques tels que Cloud Storage Requester Pays, vous DEVEZ transmettre l'indicateur --billing-project=PROJECT. Pour les commandes limitées à un projet, vous POUVEZ également spécifier --billing-project=PROJECT pour remplacer le projet de quota, ce qui prendra effet pour les API GCP qui ne prennent pas en charge le remplacement du projet de ressource.
  4. Champ d'application du projet : vous DEVEZ TOUJOURS transmettre l'indicateur --project=PROJECT_ID pour les commandes limitées à un projet. Ne l'utilisez pas pour les commandes au niveau de l'organisation ou du dossier. Si vous ne fournissez pas d'indicateur --project pour une commande limitée à un projet, le projet de ressource sera défini par défaut sur le projet défini dans l'indicateur --billing-project.
  5. Si vous spécifiez l'indicateur --billing-project dans la commande gcloud, assurez-vous que la valeur est un ID de projet ou un numéro de projet. La valeur NE DOIT PAS être une valeur spéciale (c'est-à-dire LEGACY, CURRENT_PROJECT, CURRENT_PROJECT_WITH_FALLBACK).
  6. Vous DEVEZ spécifier au moins --project ou --billing-project dans la chaîne de commande.
  7. Opérations asynchrones : pour les opérations synchrones de longue durée (par exemple, la création d'une VM ou d'une base de données), vous DEVEZ TOUJOURS transmettre l'indicateur --async pour éviter les délais d'expiration de l'agent.
  8. Limitation du taux de journalisation : lorsque vous utilisez gcloud logging read, vous DEVEZ TOUJOURS inclure un indicateur --limit (par exemple, --limit=100) pour éviter les délais d'expiration des identifiants et des connexions.
  9. Autocorrection : si une commande renvoie une erreur, analysez stderr, corrigez la syntaxe ou les indicateurs, puis réessayez lors de l'itération suivante.
  10. input_files : (facultatif) liste de fichiers à créer dans l'environnement avant d'exécuter la commande. Chaque fichier doit avoir un "chemin d'accès" (par rapport au répertoire actuel) et un "contenu". Le "contenu" doit être du texte brut représentant le contenu du fichier. Cela est utile pour les commandes qui lisent des fichiers (par exemple, gcloud builds submit --config=cloudbuild.yaml --async --project=PROJECT_ID).

Exemples de commandes/modèles gcloud :

  1. Lire les journaux d'instance GCE avec severity>=ERROR : gcloud logging read "severity>=ERROR AND resource.type='gce_instance'" --limit=10 --order=DESC --project=PROJECT_ID
    • Notez l'utilisation de guillemets pour l'expression de filtre.
  2. Répertorier tous les points de terminaison PSC : gcloud compute forwarding-rules list --project=PROJECT_ID
  3. Décrire un point de terminaison PSC : gcloud compute forwarding-rules describe FORWARDING_RULE_NAME --region=REGION --project=PROJECT_ID
    • Notez l'utilisation de "=" pour l'indicateur --region.
  4. Répertorier tous les clusters : gcloud container clusters list --project=PROJECT_ID
  5. Décrire un cluster : gcloud container clusters describe CLUSTER_NAME --region=REGION --project=PROJECT_ID
  6. Répertorier les instances de calcul : gcloud compute instances list --project=PROJECT_ID
  7. Obtenir la stratégie IAM d'un projet : gcloud projects get-iam-policy PROJECT_ID --project=PROJECT_ID

Les chaînes de réponse sont mises en forme pour la sortie du terminal par défaut (stdout ou stderr). Utilisez l'indicateur --format pour modifier le format.

Obtenir les spécifications de l'outil MCP

Pour obtenir les spécifications de l'outil MCP pour tous les outils d'un serveur MCP, utilisez la méthode tools/list. L'exemple suivant montre comment utiliser curl pour répertorier tous les outils et leurs spécifications actuellement disponibles sur le serveur MCP.

Requête curl
                      
curl --location 'https://cloudcli.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'