Utiliser le serveur MCP distant de la CLI Cloud

Ce document explique comment utiliser le serveur MCP (Model Context Protocol) distant de la CLI Cloud pour vous connecter à des applications d'IA, y compris Gemini CLI, ChatGPT, Claude et les applications personnalisées que vous développez.

Le serveur MCP distant de la CLI Cloud fournit un environnement sécurisé qui vous permet d'envoyer des requêtes en langage naturel à votre application d'IA pour exécuter des commandes d'interface de ligne de commande (CLI) en votre nom. Les commandes gcloud et bq sont acceptées.

L'API de cette fonctionnalité s'appelle "Exécution de la CLI Cloud".

Le serveur MCP distant de la CLI Cloud est activé lorsque vous activez l'API Cloud CLI Execution.

Le Model Context Protocol (MCP) standardise la façon dont les grands modèles de langage (LLM) et les applications ou agents d'IA se connectent à des sources de données externes. Les serveurs MCP vous permettent d'utiliser leurs outils, ressources et invites pour effectuer des actions et obtenir des données à jour à partir de leur service de backend.

Quelle est la différence entre les serveurs MCP locaux et distants ?

Serveurs MCP locaux
S'exécutent généralement sur votre machine locale et utilisent les flux d'entrée et de sortie standards (stdio) pour la communication entre les services sur le même appareil.
Serveurs MCP distants
 : s'exécute sur l'infrastructure du service et propose un point de terminaison HTTP aux applications d'IA pour la communication entre le client AI MCP et le serveur MCP. Pour en savoir plus sur l'architecture MCP, consultez Architecture MCP.

Serveurs MCP distants et Google Cloud

Google Cloud Les serveurs MCP distants et Google présentent les fonctionnalités et avantages suivants :

  • Découverte simplifiée et centralisée
  • Points de terminaison HTTP mondiaux ou régionaux gérés
  • Autorisations précises
  • Sécurité facultative des requêtes et des réponses avec la protection Model Armor
  • Journalisation centralisée des audits

Pour en savoir plus sur les autres serveurs MCP et sur les contrôles de sécurité et de gouvernance disponibles pour les serveurs MCP Google Cloud, consultez Présentation des serveurs MCP Google Cloud.

Restrictions et consignes

Avant de commencer à utiliser le serveur MCP distant de la CLI Cloud, consultez les restrictions et consignes suivantes :

Commandes compatibles

Le serveur MCP de la CLI Cloud n'est pas compatible avec certaines commandes gcloud et bq (y compris les variantes alpha ou beta pour gcloud) en raison des normes de sécurité et de leur inapplicabilité.

La liste suivante présente quelques exemples de commandes gcloud non compatibles. Cette liste n'est pas exhaustive et des commandes peuvent y être ajoutées ou supprimées sans préavis :

  • gcloud auth
  • gcloud config
  • gcloud iam service-accounts
  • gcloud init
  • gcloud survey

Voici la liste complète des commandes bq non acceptées :

  • bq init
  • bq pyshell
  • bq shell

Application des règles d'administration

Les commandes exécutées via le serveur MCP distant sont exécutées avec les autorisations de l'identité de l'appelant authentifié. Les autorisations IAM standards et les contraintes du service de règles d'administration sont strictement appliquées aux ressources cibles en aval.

Consignes pour les développeurs d'agents

  • Autorisations IAM et compte principal : le compte principal qui interagit avec l'API Cloud CLI Execution est le même que celui qui interagit avec les API Google Cloud lors de l'exécution des commandes gcloud ou bq. Étant donné que le serveur MCP de la CLI Cloud peut appeler de nombreuses API Google Cloud, nous vous recommandons de suivre le principe de sécurité du moindre privilège et d'attribuer les autorisations minimales requises pour votre cas d'utilisation à l'utilisateur, à l'identité de l'agent ou au compte de service appelant le serveur MCP de la CLI Cloud.

  • Sélectionner des projets : project est un paramètre obligatoire pour les requêtes de serveur MCP de la CLI Cloud. Il représente le projet utilisé pour interagir avec l'API Execution de la CLI Cloud. Notez que le paramètre project n'est pas lié aux indicateurs --project ou --billing-project définis dans la commande gcloud réelle, ni aux indicateurs --project_id et --quota_project_id pour les commandes bq que l'API Cloud CLI Execution exécute.

    Nous vous recommandons de mettre à jour les invites système ou les compétences de votre agent afin qu'il sélectionne le bon projet pour exécuter les requêtes du serveur MCP de la CLI Cloud.

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Cloud CLI Execution API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  8. Verify that billing is enabled for your Google Cloud project.

  9. Enable the Cloud CLI Execution API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

Rôles requis

Pour obtenir les autorisations nécessaires pour utiliser le serveur MCP de la CLI Cloud, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet dans lequel vous souhaitez utiliser le serveur MCP de la CLI Cloud :

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ces rôles prédéfinis contiennent les autorisations requises pour utiliser le serveur MCP de la CLI Cloud. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour utiliser le serveur MCP de la CLI Cloud :

  • Effectuer des appels d'outils MCP : mcp.tools.call

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Authentification et autorisation

Le serveur MCP distant de la CLI Cloud utilise le protocole OAuth 2.0 avec Identity and Access Management (IAM) pour l'authentification et l'autorisation. Toutes les Google Cloud identités sont acceptées pour l'authentification auprès des serveurs MCP.

Le serveur MCP distant de la CLI Cloud n'accepte pas les clés API.

Nous vous recommandons de créer une identité distincte pour les agents qui utilisent les outils MCP afin de pouvoir contrôler et surveiller l'accès aux ressources. Pour en savoir plus sur l'authentification, consultez S'authentifier auprès des serveurs MCP.

Champs d'application OAuth de la CLI Cloud

OAuth 2.0 utilise des niveaux d'accès et des identifiants pour déterminer si un compte principal authentifié est autorisé à effectuer une action spécifique sur une ressource. Pour en savoir plus sur les champs d'application OAuth 2.0 chez Google, consultez Utiliser OAuth 2.0 pour accéder aux API Google.

Le serveur MCP distant de la CLI Cloud possède les niveaux d'accès OAuth suivants :

URI du champ d'application Description
https://www.googleapis.com/auth/cloud-platform Affichez et gérez vos données dans les services Google Cloud .

Configurer un client MCP pour utiliser le serveur MCP distant de la CLI Cloud

Les applications et agents d'IA, tels que Claude ou Antigravity, peuvent instancier un client MCP qui se connecte à un seul serveur MCP. Une application d'IA peut comporter plusieurs clients qui se connectent à différents serveurs MCP. Si votre application n'est pas listée dans les conseils spécifiques aux clients, vous pouvez utiliser les informations suivantes pour vous connecter depuis la plupart des applications.

Dans votre application d'IA, recherchez un moyen d'ajouter un serveur MCP distant ou de vous y connecter. Pour le serveur MCP distant de la CLI Cloud, saisissez les informations suivantes, si nécessaire :

  • Nom du serveur : serveur MCP distant de la CLI Cloud
  • URL du serveur ou point de terminaison : https://cloudcli.googleapis.com/mcp
  • Transport : HTTP
  • Informations d'authentification : vos identifiants Google Cloud , votre ID client et code secret OAuth, ou l'identité et les identifiants d'un agent

URI de redirection

Pour les applications Web et certaines applications de bureau, vous devez autoriser une URI de redirection lorsque vous créez un ID client et un secret pour l'authentification. Les URI de redirection sont utilisés par le serveur d'autorisation pour envoyer des jetons à votre application. La documentation de votre application doit spécifier l'URI de redirection que vous devez utiliser. Les URI de redirection personnalisés ne sont pas acceptés.

Pour obtenir des conseils spécifiques à une application sur la configuration et la connexion au serveur MCP, consultez Conseils spécifiques aux clients.

Pour obtenir des conseils plus généraux, consultez les ressources suivantes :

Outils disponibles

Le serveur MCP distant de la CLI Cloud expose les outils suivants :

  • run_gcloud_command
  • run_bq_command

Pour afficher les détails des outils MCP disponibles et leurs descriptions pour le serveur MCP de la CLI Cloud, consultez la documentation de référence sur le Google Cloud SDK MCP.

Différences entre run_bq_command et le serveur MCP BigQuery

run_bq_command expose la surface de la CLI BigQuery (bq) dans le serveur MCP distant de la CLI Cloud. Cet outil peut exécuter des commandes SQL BigQuery et permettre d'effectuer des tâches administratives et opérationnelles à l'aide de requêtes en langage naturel. BigQuery fournit également un serveur MCP distinct pour l'analyse de données standard. Chaque surface d'outil est conçue pour des cas d'utilisation distincts :

  • run_bq_command : utilisez run_bq_command lorsque vous créez des agents d'IA pour des workflows administratifs et opérationnels avancés, comme la gestion des réservations de créneaux, la planification des requêtes, la gestion des instantanés de tables, ou le dépannage et l'annulation des jobs.
  • Serveur MCP BigQuery : utilisez le serveur MCP BigQuery lorsque vous créez des agents d'IA qui utilisent des outils d'exécution SQL standard pour piloter l'analyse des données, la découverte des métadonnées et la modification des données.

Le tableau suivant présente d'autres différences entre les deux surfaces d'outils :

Fonctionnalité Serveur BigQuery MCP run_bq_command
Disponibilité Disponibilité générale Aperçu
Utilisation Analyse et modification des données Administration avancée des tâches et des ressources
Utilisateurs cibles Analystes commerciaux, data scientists, développeurs SQL Administrateurs BigQuery, DBA, ingénieurs de plate-forme de données et DevOps
Opérations principales Exécution SQL standard (SELECT, INSERT, UPDATE, DELETE), exploration de schémas, inspection de métadonnées Planification des requêtes (à l'aide de DTS), annulation des tâches en cours d'exécution, gestion des emplacements et des réservations, stratégies IAM des ensembles de données, opérations de clonage/instantané de table

Outils de liste

Utilisez l'inspecteur MCP pour lister les outils ou envoyez une requête HTTP tools/list directement au serveur MCP distant de la CLI Cloud. La méthode tools/list ne nécessite pas d'authentification.

POST /mcp HTTP/1.1
Host: cloudcli.googleapis.com
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "method": "tools/list",
}

Exemples de cas d'utilisation pour run_gcloud_command

Voici des exemples de cas d'utilisation de run_gcloud_command dans le serveur MCP distant de la CLI Cloud :

Provisionnement des ressources

Lorsqu'un utilisateur envoie un prompt en langage naturel à l'agent, celui-ci génère une commande à l'aide de l'outil MCP correspondant (run_gcloud_command pour les commandes gcloud ou run_bq_command pour les commandes bq). La CLI Cloud exécute ensuite la commande.

Exemple de requête :

"Crée un réseau VPC nommé my-network dans le projet projects/my-project. Créez ensuite une règle de pare-feu autorisant le trafic TCP interne sur le port 8080."

Workflow :

  1. L'agent appelle l'outil run_gcloud_command avec la commande "gcloud compute networks create my-network --project=projects/my-project --subnet-mode=auto", "project": "projects/my-project".

  2. L'agent appelle l'outil run_gcloud_command avec la commande "gcloud compute firewall-rules create allow-internal-8080 --project=projects/my-project --network=my-network --allow=tcp:8080 --source-ranges=10.0.0.0/8.

Observabilité et diagnostics

Un agent peut inspecter l'état de l'environnement et interroger les journaux d'erreurs récents pour vous aider à résoudre les problèmes.

Exemple de requête : "Trouve les cinq derniers journaux d'erreurs pour l'instance Compute Engine my-web-server dans le projet projects/my-project."

Workflow :

L'agent appelle l'outil run_gcloud_command avec la commande "gcloud logging read \"resource.type=gce_instance AND severity>=ERROR\" --limit=5 --order=DESC", project: "my-project".

Exemples de cas d'utilisation pour run_bq_command

Voici des exemples de cas d'utilisation de run_bq_command dans le serveur MCP distant de la CLI Cloud :

Gérer des ensembles de données dans BigQuery

Vous pouvez également utiliser le serveur MCP pour exécuter des requêtes et gérer des ensembles de données dans BigQuery.

Exemple de requête : "Liste tous les ensembles de données du projet projects/my-project, puis crée un ensemble de données nommé my_new_dataset aux États-Unis."

Workflow :

  1. L'agent appelle l'outil run_bq_command avec la commande "bq ls --datasets=true --project_id=my-project", "project": "projects/my-project".

  2. L'agent appelle l'outil run_bq_command avec la commande "bq mk --dataset --location=us --project_id=my-project my_new_dataset", "project": "projects/my-project".

Résoudre les problèmes liés aux jobs de longue durée et les annuler

Un agent inspecte les jobs BigQuery en cours d'exécution pour identifier les goulots d'étranglement des ressources, diagnostiquer les requêtes ayant échoué, annuler les jobs de longue durée et extraire les détails d'exécution pour obtenir des recommandations sur les performances.

Exemple de requête :

"Vérifie si des requêtes de longue durée ou gourmandes en ressources sont actuellement exécutées dans le projet my-data-project. Si bqujob_12345 est en cours d'exécution depuis plus de 30 minutes, annule-le et affiche les détails."

Workflow :

  1. L'agent appelle run_bq_command avec la commande "bq ls -j --all --project_id=my-data-project", "project": "projects/my-data-project".

  2. L'agent inspecte la liste des tâches et appelle run_bq_command avec la commande : "bq show -j bqujob_12345 --project_id=my-data-project", "project": "projects/my-data-project".

  3. L'agent appelle run_bq_command avec la commande : "bq cancel bqujob_12345 --project_id=my-data-project", "project": "projects/my-data-project".

Planifier des requêtes

Un agent configure des exécutions de requêtes planifiées via l'intégration du service de transfert de données BigQuery dans la CLI BigQuery pour automatiser l'actualisation des données.

Exemple de requête :

"Programme une requête quotidienne à 6h UTC pour actualiser la table daily_sales_summary dans dataset sales_ds pour le projet my-data-project."

Workflow :

  1. L'agent appelle run_bq_command avec la commande suivante : "bq query --project_id=my-data-project --use_legacy_sql=false --destination_table=sales_ds.daily_sales_summary --display_name='Daily Sales Refresh' --schedule='every 24 hours' 'SELECT date, SUM(amount) as total FROM sales_ds.transactions GROUP BY date'", "project": "projects/my-data-project".

Analyse de la capacité et ajustement des réservations

Un agent analyse les réservations d'emplacements existantes dans les projets les plus consommateurs et met à jour les attributions d'emplacements pour gérer la capacité de calcul.

Exemple de requête :

"Liste toutes les réservations BigQuery dans la région us-central1 pour le projet my-admin-project et mets à jour l'allocation d'emplacements pour la réservation prod-analytics à 500 emplacements."

Workflow :

  1. L'agent appelle run_bq_command avec la commande : "bq ls --reservation --project_id=my-admin-project --location=us-central1", "project": "projects/my-admin-project".

  2. L'agent appelle run_bq_command avec la commande : "bq update --project_id=my-admin-project --reservation --slots=500 prod-analytics --location=us-central1", "project": "projects/my-admin-project".

Gérer les instantanés et les clones de table

Un agent crée des instantanés ponctuels des tables de production critiques ou provisionne des clones de tables pour le développement et les tests.

Exemple de requête :

"Crée un instantané de table de production_db.orders nommé production_db.orders_snapshot_20260720 dans le projet my-data-project."

Workflow :

L'agent appelle run_bq_command avec la commande suivante : "bq cp --project_id=my-data-project --snapshot production_db.orders production_db.orders_snapshot_20260720", "project": "projects/my-data-project".

Contrôle de l'accès aux ensembles de données et des autorisations IAM

Un agent inspecte les contrôles d'accès aux ensembles de données et met à jour les autorisations des ensembles de données pour accorder ou révoquer l'accès aux principaux spécifiés.

Exemple de requête :

"Affiche la configuration d'accès actuelle pour l'ensemble de données finance_ds dans le projet my-data-project."

Workflow :

  1. L'agent appelle run_bq_command avec la commande suivante : "bq show --format=prettyjson my-data-project:finance_ds", "project": "projects/my-data-project".

  2. L'agent met à jour la définition JSON de l'accès et appelle run_bq_command avec la commande : "bq update --source=access_update.json my-data-project:finance_ds", "project": "projects/my-data-project".

Configurations de sécurité et de protection facultatives

Le MCP introduit de nouveaux risques et considérations de sécurité en raison de la grande variété d'actions que vous pouvez effectuer avec les outils MCP. Pour minimiser et gérer ces risques,Google Cloud propose des paramètres par défaut et des règles personnalisables permettant de contrôler l'utilisation des outils MCP dans votre organisation ou projet Google Cloud.

Pour en savoir plus sur la sécurité et la gouvernance de MCP, consultez Sécurité et sûreté de l'IA.

Utiliser Model Armor

Model Armor est un serviceGoogle Cloud conçu pour améliorer la sécurité de vos applications d'IA. Il fonctionne en analysant de manière proactive les requêtes et les réponses des LLM, en protégeant contre divers risques et en favorisant les pratiques d'IA responsable. Que vous déployiez l'IA dans votre environnement cloud ou chez des fournisseurs de cloud externes, Model Armor peut vous aider à prévenir les entrées malveillantes, à vérifier la sécurité du contenu, à protéger les données sensibles, à assurer la conformité et à appliquer vos règles de sécurité et de protection de l'IA de manière cohérente dans votre paysage d'IA diversifié.

Lorsque Model Armor est activé avec la journalisation activée, il enregistre l'intégralité de la charge utile. Cela peut exposer des informations sensibles dans vos journaux.

Routage des demandes MCP vers Model Armor

Model Armor est disponible dans certaines régions. Lorsque Model Armor est activé et que vous utilisez un serveur MCP dans une juridiction non prise en charge par Model Armor, le comportement de routage de l'appel peut être différent pour différents serveurs MCP et peut enfreindre la conformité de la résidence des données pour les données en cours d'utilisation et en transit. Pour en savoir plus sur le comportement des différents serveurs MCP, consultez Produits compatibles avec Model Armor.

Activer Model Armor

Vous devez activer les API Model Armor avant de pouvoir utiliser Model Armor.

Console

  1. Activez l'API Model Armor.

    Rôles requis pour activer les API

    Pour activer les API, vous devez disposer de l'autorisation serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation grâce au rôle Propriétaire (roles/owner). Sinon, vous pouvez obtenir cette autorisation grâce au rôle Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.

    Activer l'API

  2. Sélectionnez le projet dans lequel vous souhaitez activer Model Armor.

gcloud

Avant de commencer, suivez ces étapes à l'aide de la Google Cloud CLI avec l'API Model Armor :

  1. Dans la console Google Cloud , activez Cloud Shell.

    Activer Cloud Shell

    En bas de la console Google Cloud , une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.

  2. Exécutez la commande suivante pour définir le point de terminaison de l'API pour le service Model Armor.

    gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.LOCATION.rep.googleapis.com/"

    Remplacez LOCATION par la région dans laquelle vous souhaitez utiliser Model Armor.

Configurer la protection pour les serveurs Google et Google Cloud MCP distants

Pour protéger les appels et les réponses de votre outil MCP, vous pouvez utiliser les paramètres de plancher Model Armor. Un paramètre de plancher définit les filtres de sécurité minimaux qui s'appliquent à l'ensemble du projet. Cette configuration applique un ensemble cohérent de filtres à tous les appels et réponses d'outils MCP du projet.

Configurez un paramètre plancher Model Armor avec la désinfection MCP activée. Pour en savoir plus, consultez Configurer les paramètres de plancher Model Armor.

Consultez l'exemple de commande suivant :

gcloud model-armor floorsettings update \
--full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
--enable-floor-setting-enforcement=TRUE \
--add-integrated-services=GOOGLE_MCP_SERVER \
--google-mcp-server-enforcement-type=INSPECT_AND_BLOCK \
--enable-google-mcp-server-cloud-logging \
--malicious-uri-filter-settings-enforcement=ENABLED \
--add-rai-settings-filters='[{"confidenceLevel": "MEDIUM_AND_ABOVE", "filterType": "DANGEROUS"}]'

Remplacez PROJECT_ID par l'ID du projet Google Cloud .

Notez les paramètres suivants :

  • INSPECT_AND_BLOCK : type d'application qui inspecte le contenu du serveur MCP Google et bloque les requêtes et les réponses qui correspondent aux filtres.
  • ENABLED : paramètre qui active un filtre ou une application forcée.
  • MEDIUM_AND_ABOVE : niveau de confiance pour les paramètres du filtre "IA responsable – Dangereux". Vous pouvez modifier ce paramètre, mais des valeurs plus faibles peuvent entraîner davantage de faux positifs. Pour en savoir plus, consultez Niveaux de confiance Model Armor.

Désactiver l'analyse du trafic MCP avec Model Armor

Pour empêcher Model Armor d'analyser automatiquement le trafic vers et depuis les serveurs MCP Google en fonction des paramètres de plancher du projet, exécutez la commande suivante :

gcloud model-armor floorsettings update \
  --full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
  --remove-integrated-services=GOOGLE_MCP_SERVER

Remplacez PROJECT_ID par l'ID du projet Google Cloud . Model Armor n'applique pas automatiquement les règles définies dans les paramètres de plancher de ce projet au trafic des serveurs MCP Google.

Les paramètres de base et la configuration générale de Model Armor peuvent avoir un impact au-delà du MCP. Comme Model Armor s'intègre à des services tels que Vertex AI, toute modification apportée aux paramètres de seuil peut affecter l'analyse du trafic et les comportements de sécurité dans tous les services intégrés, et pas seulement dans MCP.

Étapes suivantes