Utiliser le serveur MCP distant Dataform

Ce document vous explique comment utiliser le serveur MCP (Model Context Protocol) Dataform distant pour vous connecter à des applications d'IA, y compris l'CLI de ligne de commande Gemini, ChatGPT, Claude et les applications personnalisées que vous développez. Vous pouvez utiliser le serveur MCP distant Dataform pour effectuer des tâches telles que la gestion des composants de code (notebooks et requêtes enregistrées, par exemple), la planification et l'exécution de pipelines dans BigQuery, et le dépannage des échecs d'exécution. Le serveur MCP distant Dataform est activé lorsque vous activez l'API Dataform.

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 Google 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.

Avant de commencer

  1. 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

  2. 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.

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

  4. Enable the BigQuery and Dataform APIs.

    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 APIs

  5. Connectez votre dépôt Dataform à un fournisseur Git tel que GitHub ou GitLab. Pour en savoir plus, consultez Se connecter à un dépôt Git tiers.
  6. Configurez votre agent d'IA avec un jeton OAuth valide à l'aide du champ d'application BigQuery.

Rôles requis

Pour obtenir les autorisations nécessaires pour utiliser le serveur MCP Dataform, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet Google 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 Dataform. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Vous devez disposer des autorisations suivantes pour utiliser le serveur MCP Dataform :

  • Effectuer des appels d'outils MCP : mcp.tools.call
  • Créer des dépôts et des espaces de travail Dataform, et modifier des fichiers :
    • dataform.workspaces.create
    • dataform.workspaces.get
    • dataform.workspaces.list
    • dataform.workspaces.delete
    • dataform.workspaces.readFile
    • dataform.workspaces.writeFile
    • dataform.workspaces.moveFile
    • dataform.workspaces.removeFile
    • dataform.workspaces.queryDirectoryContents
    • dataform.workspaces.searchFiles
    • dataform.workspaces.commit
    • dataform.workspaces.push
    • dataform.workspaces.pull
    • dataform.workspaces.fetchHistory
    • dataform.workspaces.fetchDiff
    • dataform.workspaces.fetchFileGitStatuses
    • dataform.compilationResults.create
    • dataform.compilationResults.get
    • dataform.compilationResults.list
    • dataform.workflowInvocations.create
    • dataform.workflowInvocations.get
    • dataform.workflowInvocations.list
    • dataform.repositories.get
    • dataform.repositories.list
    • dataform.locations.get
    • dataform.locations.list
  • Exécuter des tâches BigQuery :
    • bigquery.jobs.create
    • bigquery.config.get

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 Dataform 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 Dataform gère l'accès à l'aide des mécanismes d'authentification et d'autorisation suivants :

  • Les requêtes de découverte (tools/list) ne nécessitent pas d'authentification, ce qui permet aux agents d'identifier les outils Dataform disponibles sans avoir besoin d'une autorisation préalable.
  • Les requêtes d'exécution (tools/call) sont authentifiées à l'aide d'OAuth, ce qui exige que l'agent fournisse un jeton OAuth valide qui utilise le champ d'application BigQuery. Pour en savoir plus, consultez Champs d'application OAuth MCP Dataform.

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 MCP Dataform

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.

Pour interagir avec le serveur MCP Dataform, l'agent doit utiliser le champ d'application OAuth BigQuery. Ce champ d'application permet à l'agent de gérer le code de transformation et de déclencher des exécutions qui s'exécutent en tant que jobs BigQuery.

Des champs d'application supplémentaires peuvent être requis pour les ressources auxquelles vous accédez lors d'un appel d'outil. Pour afficher la liste des champs d'application requis pour Dataform, consultez API Dataform.

Configurer un client MCP pour utiliser le serveur MCP Dataform

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 ou de vous connecter à un serveur MCP distant. Pour le serveur MCP Dataform, procédez comme suit :

  • Nom du serveur : serveur MCP Dataform
  • URL du serveur ou point de terminaison : https://dataform.REGION.rep.googleapis.com/mcp

    Remplacez REGION par la région dans laquelle se trouve votre dépôt, par exemple us-central1.

  • Transport : HTTP

  • Informations d'authentification : selon la méthode d'authentification que vous souhaitez utiliser, vous pouvez saisir vos identifiants Google Cloud , votre ID client et votre code secret OAuth, ou les identifiants d'un agent. Pour en savoir plus sur l'authentification, consultez S'authentifier auprès des serveurs MCP.

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 :

Capacités des agents

Le serveur MCP Dataform fournit un ensemble d'outils permettant aux agents d'IA d'interagir avec les workflows de transformation de données et de les déboguer en orchestrant les appels d'API Dataform. Le serveur fournit des outils permettant d'effectuer les opérations suivantes :

  • Configurer des composants monofichiers Les agents gèrent les configurations de ressources de base, y compris la création de dépôts et les requêtes sur le contenu des répertoires.
  • Gérer les pipelines et les versions Les agents gèrent les configurations de workflow et de version, génèrent les résultats de compilation, et déclenchent ou annulent les appels de workflow.
  • Résolvez les problèmes et validez les données. Les agents identifient les raisons de l'échec des pipelines en récupérant les résultats de la compilation et en interrogeant les actions d'appel de workflow.

Outils disponibles

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

Outils de liste

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

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

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

Exemples de prompts

Utilisez les exemples de requêtes suivants pour obtenir des informations sur les ressources Dataform, orchestrer des workflows ou résoudre les problèmes d'exécution :

  • "Crée un dépôt Dataform nommé REPOSITORY_ID dans le projet PROJECT_ID."
  • "Crée un notebook dans le projet PROJECT_ID."
  • "Lis le contenu de FILE_NAME dans mon dépôt."
  • "Valide les modifications apportées à FILE_NAME dans REPOSITORY_ID."
  • "Crée une configuration de workflow qui planifie l'exécution de mon pipeline tous les jours à 8h."
  • "Déclenche une nouvelle exécution pour la configuration de workflow WORKFLOW_CONFIGURATION_ID."
  • "Vérifie l'état de mes dernières exécutions de pipeline et dis-moi si certaines ont échoué, en incluant les détails des erreurs."
  • "Montre-moi les détails de l'exécution spécifique qui a échoué."
  • "Liste tous les dépôts Dataform dans la région REGION du projet PROJECT_ID."
  • "Annule l'appel de workflow nommé WORKFLOW_INVOCATION_ID dans le dépôt REPOSITORY_ID, qui est en cours d'exécution."

Dans les requêtes, remplacez les éléments suivants :

  • FILE_NAME : nom du fichier.
  • PROJECT_ID : ID du projet Google Cloud .
  • REGION : nom de la région.
  • REPOSITORY_ID : identifiant unique de votre dépôt Dataform, par exemple quickstart-repository.
  • WORKFLOW_CONFIGURATION_ID : identifiant unique de la configuration du workflow.
  • WORKFLOW_INVOCATION_ID : identifiant unique d'une exécution de workflow spécifique. Vous pouvez obtenir cet identifiant à partir des résultats d'une requête workflowInvocations.list ou du champ name d'une réponse workflowInvocations.create.

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 votre 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

Le serveur MCP Dataform utilise le routage transjuridictionnel. Lorsque vous activez Model Armor, le serveur MCP envoie toutes les requêtes à Model Armor pour qu'elles soient examinées. Le routage transjuridictionnel peut enfreindre les engagements de conformité existants concernant la résidence des données en cours d'utilisation et en transit. Pour en savoir plus sur le comportement des autres 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. Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée. Après vous être connecté, initialisez la Google Cloud CLI en exécutant la commande suivante :

    gcloud init

  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 plancher 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.

Contrôler l'utilisation de MCP avec des stratégies de refus IAM

Les stratégies de refus et les stratégies d'autorisation IAM (Identity and Access Management) vous aident à sécuriser les serveurs Google Cloud et Google MCP.

Vous pouvez combiner plusieurs critères pour créer des règles de sécurité et de gouvernance personnalisées en autorisant ou en refusant l'accès en fonction des éléments suivants :

  • Le compte principal.
  • Propriétés de l'outil, comme l'attribut en lecture seule.
  • Nom du service ou de l'outil.
  • ID client OAuth de l'application.

Pour en savoir plus, consultez Contrôler l'utilisation de MCP avec Identity and Access Management.

Étapes suivantes