Utiliser le serveur MCP distant BigQuery

Ce document explique comment utiliser le serveur BigQuery Remote Model Context Protocol (MCP) pour se connecter à BigQuery depuis des applications d'IA telles que la CLI Gemini, le mode agent dans Gemini Code Assist, Claude Code ou dans les applications d'IA que vous développez.

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 requêtes pour effectuer des actions et obtenir des données à jour à partir de leur service de backend.

Les 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. Les serveurs MCP à distance s'exécutent sur l'infrastructure du service et proposent un point de terminaison HTTPS aux applications d'IA pour la communication entre le client MCP d'IA et le serveur MCP. Pour en savoir plus sur l'architecture MCP, consultez Architecture MCP.

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

  • Découverte simplifiée et centralisée
  • Points de terminaison HTTPS 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, ainsi que 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.

Vous pouvez utiliser le serveur MCP local BigQuery pour les raisons suivantes :

  • Vous devez créer un outil personnalisé sur une requête SQL paramétrée.
  • Vous ne disposez pas des autorisations nécessaires pour activer ou utiliser le serveur MCP à distance dans votre projet.

Pour en savoir plus sur l'utilisation de notre serveur MCP local, consultez Connecter des LLM à BigQuery avec MCP. Les sections suivantes ne s'appliquent qu'au serveur MCP distant BigQuery.

Avant de commencer

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  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. Si vous utilisez un projet existant pour ce guide, vérifiez que vous disposez des autorisations nécessaires pour suivre les instructions. Si vous avez créé un projet, vous disposez déjà des autorisations requises.

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

  5. Si vous utilisez un projet existant pour ce guide, vérifiez que vous disposez des autorisations nécessaires pour suivre les instructions. Si vous avez créé un projet, vous disposez déjà des autorisations requises.

  6. Enable the BigQuery API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

    Pour les nouveaux projets, l'API BigQuery est automatiquement activée.

  7. Facultatif : Activez la facturation pour le projet. Les étapes décrites dans ce document demeurent valables, même si vous ne souhaitez pas activer la facturation ou fournir une carte de crédit. BigQuery fournit un bac à sable permettant d'accomplir les étapes. Pour en savoir plus, consultez la page Activer le bac à sable BigQuery.
  8. Rôles requis

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

    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 activer le serveur BigQuery MCP. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

    Autorisations requises

    Les autorisations suivantes sont requises pour activer le serveur MCP BigQuery :

    • Activez les serveurs MCP dans un projet :
      • serviceusage.mcppolicy.get
      • serviceusage.mcppolicy.update
    • Effectuer des appels d'outils MCP : mcp.tools.call
    • Exécuter des tâches BigQuery : bigquery.jobs.create
    • Interroger les données BigQuery : bigquery.tables.getData

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

    Activer ou désactiver le serveur MCP BigQuery

    Vous pouvez activer ou désactiver le serveur BigQuery MCP dans un projet à l'aide de la commande gcloud beta services mcp enable. Pour en savoir plus, consultez les sections suivantes.

    Activer le serveur MCP BigQuery dans un projet

    Si vous utilisez différents projets pour vos identifiants client (clés de compte de service, ID client OAuth ou clés API, par exemple) et pour héberger vos ressources, vous devez activer le service BigQuery et le serveur MCP distant BigQuery dans les deux projets.

    Pour activer le serveur BigQuery MCP dans votre projet Google Cloud , exécutez la commande suivante :

    gcloud beta services mcp enable SERVICE \
        --project=PROJECT_ID
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet Google Cloud
    • SERVICE : bigquery.googleapis.com (nom de service global pour BigQuery)

    Le serveur MCP distant BigQuery est activé pour être utilisé dans votre projetGoogle Cloud . Si le service BigQuery n'est pas activé pour votre projet Google Cloud , vous êtes invité à l'activer avant d'activer le serveur MCP distant BigQuery.

    Pour respecter les bonnes pratiques de sécurité, nous vous recommandons d'activer les serveurs MCP uniquement pour les services nécessaires au fonctionnement de votre application d'IA.

    Désactiver le serveur MCP BigQuery dans un projet

    Pour désactiver le serveur MCP BigQuery dans votre projet Google Cloud , exécutez la commande suivante :

    gcloud beta services mcp disable SERVICE \
        --project=PROJECT_ID
    

    Le serveur MCP BigQuery est désactivé pour votre projetGoogle Cloud .

    Authentification et autorisation

    Les serveurs MCP BigQuery utilisent 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 BigQuery n'accepte pas les clés API.

    Champs d'application OAuth BigQuery MCP

    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.

    BigQuery dispose des niveaux d'accès OAuth suivants pour l'outil MCP :

    URI du champ d'application pour la gcloud CLI Description
    https://www.googleapis.com/auth/bigquery Consulter et gérer vos données dans BigQuery, et voir l'adresse e-mail de votre compte Google

    Des champs d'application supplémentaires peuvent être requis pour les ressources auxquelles l'outil accède lors d'un appel. Pour afficher la liste des niveaux d'accès requis pour BigQuery, consultez Niveaux d'accès OAuth 2.0 pour l'API BigQuery v2.

    Configurer un client MCP pour utiliser le serveur MCP BigQuery

    Les programmes hôtes, tels que Claude ou la CLI Gemini, peuvent instancier des clients MCP qui se connectent à un seul serveur MCP. Un programme hôte peut comporter plusieurs clients qui se connectent à différents serveurs MCP. Pour se connecter à un serveur MCP distant, le client MCP doit au minimum connaître l'URL du serveur MCP distant.

    Dans votre hôte, recherchez un moyen de vous connecter à un serveur MCP distant. Vous êtes invité à saisir des informations sur le serveur, comme son nom et son URL.

    Pour le serveur BigQuery MCP, saisissez les informations suivantes, le cas échéant :

    • Nom du serveur : serveur BigQuery MCP
    • URL du serveur ou Point de terminaison : bigquery.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

      Les informations d'authentification que vous choisissez dépendent de la manière dont vous souhaitez vous authentifier. Pour en savoir plus, consultez S'authentifier auprès des serveurs MCP.

    Pour obtenir des conseils spécifiques à un hôte, consultez les articles suivants :

    Pour obtenir des conseils plus généraux, consultez Se connecter à des serveurs MCP distants.

    Outils disponibles

    Pour les outils MCP en lecture seule, l'attribut MCP mcp.tool.isReadOnly est défini sur true. Vous pouvez choisir d'autoriser uniquement les outils en lecture seule dans certains environnements via votre règle d'administration.

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

    Outils de liste

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

    POST /mcp HTTP/1.1
    Host: bigquery.googleapis.com
    Content-Type: application/json
    
    {
      "jsonrpc": "2.0",
      "method": "tools/list",
    }
    

    Exemples de cas d'utilisation

    Voici quelques exemples de cas d'utilisation du serveur MCP BigQuery :

    • Créez des workflows qui utilisent les insights issus des données BigQuery pour déclencher certaines actions, comme la création de problèmes et la rédaction d'e-mails.

    • Utilisez les fonctionnalités avancées de BigQuery, comme les prévisions, pour obtenir des insights de niveau supérieur.

    • Créez une expérience conversationnelle pour vos utilisateurs grâce à des instructions personnalisées pour l'agent.

    Exemples de requêtes

    Vous pouvez utiliser les exemples de requêtes suivants pour obtenir des informations sur les ressources BigQuery, obtenir des insights et analyser les données BigQuery :

    • Répertoriez les ensembles de données du projet PROJECT_ID.
    • Trouve toutes les requêtes que j'ai exécutées dans le projet PROJECT_ID à l'aide du serveur MCP dans la région REGION. Utilisez le tag goog-mcp-server:true pour identifier les tâches de requête exécutées via le serveur MCP.
    • Trouve les commandes les plus importantes en volume de DATASET_ID dans le projet PROJECT_ID. Identifie les tables appropriées, trouve le bon schéma et affiche les résultats.
    • Créez une prévision dans le tableau PROJECT_ID.DATASET_ID.TABLE_ID pour les années à venir. Utilisez COLUMN_NAME comme colonne de données et COLUMN_NAME comme colonne d'horodatage. Affichez les 10 premières prévisions.

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

    • PROJECT_ID : ID du projet Google Cloud
    • REGION : nom de la région
    • DATASET_ID : nom de l'ensemble de données
    • TABLE_ID : nom de la table
    • COLUMN_NAME : nom de la colonne

    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.

    Model Armor

    Model Armor est un service Google 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 services 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é.

    Model Armor n'est disponible que dans certaines régions. Si Model Armor est activé pour un projet et qu'un appel à ce projet provient d'une région non prise en charge, Model Armor effectue un appel interrégional. Pour en savoir plus, consultez Emplacements Model Armor.

    Activer Model Armor

    Pour activer Model Armor, procédez comme suit :

    1. Activez Model Armor dans votre projet Google Cloud .

      gcloud services enable modelarmor.googleapis.com \
          --project=PROJECT_ID
      

      Remplacez PROJECT_ID par l'ID du projet Google Cloud .

    2. Configurez les paramètres de plancher recommandés pour Model Armor.

      gcloud model-armor floorsettings update \
          --full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
          --mcp-sanitization=ENABLED \
          --malicious-uri-filter-settings-enforcement=ENABLED \
          --pi-and-jailbreak-filter-settings-enforcement=ENABLED \
          --pi-and-jailbreak-filter-settings-confidence-level=MEDIUM_AND_ABOVE
      

      Remplacez PROJECT_ID par l'ID du projet Google Cloud .

      Model Armor est configuré pour détecter les URL malveillantes et les tentatives d'injection de prompt et de jailbreaking.

      Pour en savoir plus sur les filtres Model Armor configurables, consultez Filtres Model Armor.

    3. Ajoutez Model Armor en tant que fournisseur de sécurité du contenu pour les services MCP.

      gcloud beta services mcp content-security add modelarmor.googleapis.com \
          --project=PROJECT_ID
      

      Remplacez PROJECT_ID par l'ID du projet Google Cloud .

    4. Vérifiez que le trafic MCP est envoyé à Model Armor.

      gcloud beta services mcp content-security get \
          --project=PROJECT_ID
      

      Remplacez PROJECT_ID par l'ID du projet Google Cloud .

    Journalisation Model Armor

    Pour en savoir plus sur les journaux d'audit et de plate-forme Model Armor, consultez Journaux d'audit Model Armor.

    Désactiver Model Armor dans un projet

    Pour désactiver Model Armor dans un projet Google Cloud , exécutez la commande suivante :

    gcloud beta services mcp content-security remove modelarmor.googleapis.com \
        --project=PROJECT_ID
    

    Remplacez PROJECT_ID par l'ID du projet Google Cloud .

    Le trafic MCP sur Google Cloud ne sera pas analysé par Model Armor pour le projet spécifié.

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

    Si vous souhaitez toujours utiliser Model Armor dans un projet, mais que vous voulez arrêter d'analyser le trafic MCP avec Model Armor, exécutez la commande suivante :

    gcloud model-armor floorsettings update \
        --full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
        --mcp-sanitization=DISABLED
    

    Remplacez PROJECT_ID par l'ID du projet Google Cloud .

    Model Armor n'analysera pas le trafic MCP sur Google Cloud.

    Contrôle du MCP au niveau de l'organisation

    Vous pouvez créer des règles d'administration personnalisées pour contrôler l'utilisation des serveurs MCP dans votre organisation Google Cloud à l'aide de la contrainte gcp.managed.allowedMCPService. Pour en savoir plus et obtenir des exemples d'utilisation, consultez Contrôle des accès avec IAM.

    Quotas et limites

    Le serveur MCP distant BigQuery ne dispose pas de ses propres quotas. Le nombre d'appels pouvant être effectués sur le serveur MCP n'est pas limité.

    Vous restez soumis aux quotas appliqués par les API appelées par les outils serveur MCP. Les méthodes d'API suivantes sont appelées par les outils du serveur MCP :

    Outil Méthode API Quotas
    list_dataset_ids datasets.list Quotas et limites des ensembles de données
    list_table_ids tables.list Quotas et limites des tables
    get_dataset_info datasets.get Quotas et limites des ensembles de données
    get_table_info tables.get Quotas et limites des tables
    execute_sql jobs.Query Quotas et limites des jobs de requête

    Pour en savoir plus sur les quotas BigQuery, consultez la page Quotas et limites.

    Étapes suivantes