Utiliser le serveur MCP BigQuery
Ce document explique comment utiliser le serveur MCP (Model Context Protocol) distant de BigQuery pour vous connecter à des applications d'IA, y compris Antigravity, ChatGPT, Claude et les applications personnalisées que vous développez. Vous pouvez utiliser le serveur MCP distant BigQuery pour effectuer des tâches telles que l'exécution de requêtes, l'obtention de métadonnées et l'affichage de listes de ressources. Le serveur MCP distant BigQuery est activé lorsque vous activez l'API BigQuery.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, leurs ressources et leurs prompts 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
- Ils s'exécutent généralement sur votre ordinateur local 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écuter sur l'infrastructure du service et proposer un point de terminaison HTTP 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.
Noyau sans état
Avec la version 2026-07-28 du MCP, le MCP passe d'un protocole bidirectionnel avec état à un protocole sans état.
Chaque requête MCP est auto-descriptive et peut être acheminée à l'aide d'en-têtes. Le handshake initialize/initialized ou Mcp-Session-Id n'est pas nécessaire, car chaque requête inclut toutes les informations requises dans les en-têtes HTTP ou le paramètre _meta. Les serveurs MCP peuvent demander des informations supplémentaires requises par un outil via des requêtes multi-aller-retour (MRTR).
Pour faciliter le routage et le traitement des requêtes sans analyser le corps de la requête, certains en-têtes MCP sont requis, y compris les suivants :
- En-têtes requis par la spécification MCP, tels que l'en-tête de version du protocole et les en-têtes de requête standards.
- En-têtes personnalisés définis par le serveur MCP. Ces en-têtes sont mis en miroir dans les en-têtes HTTP à partir du schéma d'entrée de l'outil à l'aide de la propriété
x-mcp-header. Par exemple, un serveur MCP peut définir un en-tête personnalisé pour spécifier la région ou l'ID du projet Google Cloud .
Pour en savoir plus sur l'architecture MCP, consultez la spécification et les principaux changements de la version 2026-07-28 de MCP.
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 dans votre projet.
Pour permettre aux agents d'accéder aux fonctionnalités BigQuery avancées telles que la planification, la gestion des autorisations et la gestion des réservations, utilisez l'outil run_bq_command disponible sur le serveur MCP Google Cloud CLI. Pour en savoir plus, consultez Utiliser le serveur MCP distant de la Google Cloud CLI.
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.
Serveurs MCP distants Google et Google Cloud
Les serveurs MCP distants Google et Google Cloud présentent les fonctionnalités et avantages suivants :- Découverte simplifiée et centralisée
- Points de terminaison HTTP gérés mondiaux ou régionaux
- Autorisations précises
- Sécurité facultative des prompts et des réponses avec la protection Model Armor
- Journaux d'audit centralisés
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 la présentation des serveurs MCP Google Cloud.
Avant de commencer
- 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.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
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.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
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.
-
Activez l'API BigQuery si ce n'est pas déjà fait.
Rôles requis pour activer les API
Pour activer des API, vous devez disposer de l'autorisation
serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation via le rôle Propriétaire (roles/owner). Sinon, vous pouvez l'obtenir via le rôle Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.Pour les nouveaux projets, l'API BigQuery est automatiquement activée.
- 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.
Rôles requis
Pour obtenir les autorisations nécessaires pour utiliser le serveur MCP BigQuery, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet dans lequel vous souhaitez utiliser le serveur MCP BigQuery :
-
Effectuer des appels d'outils MCP : Utilisateur de l'outil MCP (
roles/mcp.toolUser) -
Exécuter des jobs BigQuery : Utilisateur de job BigQuery (
roles/bigquery.jobUser) -
Interroger des données BigQuery : Lecteur de données BigQuery (
roles/bigquery.dataViewer)
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 BigQuery. 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 BigQuery :
-
Effectuer des appels d'outils MCP :
mcp.tools.call -
Exécuter des jobs 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.
Des autorisations BigQuery supplémentaires peuvent être requises en fonction de la tâche. Pour en savoir plus sur les autorisations BigQuery, consultez Rôles et autorisations IAM BigQuery.
Authentification et autorisation
Les serveurs MCP BigQuery utilisent le protocole OAuth 2.0 avec IAM pour l'authentification et l'autorisation. Toutes les identitésGoogle Cloud sont compatibles avec l'authentification auprès des serveurs MCP.
Nous vous recommandons de créer une identité distincte pour les agents qui utilisent des 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 BigQuery MCP
OAuth 2.0 utilise des champs d'application 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 champs d'application OAuth suivants pour l'outil MCP :
| URI de champ d'application pour gcloud CLI | Description |
|---|---|
https://www.googleapis.com/auth/bigquery |
Afficher 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 sur les ressources auxquelles vous accédez lors d'un appel d'outil. Pour afficher la liste des champs d'application requis pour BigQuery, consultez Champs d'application OAuth 2.0 pour l'API BigQuery v2.
Configurer un client MCP pour qu'il utilise le serveur MCP BigQuery
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 avoir plusieurs clients qui se connectent à différents serveurs MCP. Si votre application ne figure pas dans les instructions spécifiques au client, vous pouvez utiliser les informations suivantes pour vous connecter à partir de 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 BigQuery, saisissez les informations suivantes, si nécessaire :
- Nom du serveur : serveur MCP BigQuery
- URL du serveur ou point de terminaison : https://bigquery.googleapis.com/mcp
- Transport : HTTP diffusable en streaming
- Détails de l'authentification : selon la façon dont vous souhaitez vous authentifier, vous pouvez saisir vos identifiants Google Cloud , votre ID client et votre code secret OAuth, ou l'identité et les identifiants d'un agent. Pour en savoir plus sur l'authentification, consultez S'authentifier auprès des serveurs MCP.
- Champ d'application OAuth : champ d'application OAuth 2.0 que vous souhaitez utiliser lors de la connexion au serveur MCP BigQuery.
URI de redirection
Pour les applications Web et certaines applications de bureau, vous devez ajouter un URI de redirection à la liste d'autorisation lorsque vous créez un ID client et un code 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 à l'application sur la configuration et la connexion au serveur MCP, consultez Conseils spécifiques au client.
Pour obtenir des conseils plus généraux, consultez les ressources suivantes :
Outils disponibles
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 MCP BigQuery.
Limites
Les outils MCP BigQuery sont soumis aux limites suivantes :
- Les outils
execute_sqletexecute_sql_readonlyne sont pas compatibles avec l'interrogation de tables externes Google Drive. - Par défaut, les outils
execute_sqletexecute_sql_readonlylimitent le temps de traitement des requêtes à trois minutes. Les requêtes qui s'exécutent pendant plus de trois minutes sont automatiquement annulées. - Les résultats de la requête sont limités à 3 000 lignes maximum.
- L'outil
execute_sql_readonlyn'autorise que les opérations en lecture seule sur les données. Les mutations telles que les instructions LMD, les instructions LDD et les fonctions Python définies par l'utilisateur ne sont pas acceptées. - L'outil
execute_sql_readonlyn'est pas compatible avec les requêtes qui utilisent le langage GQL (Graph Query Language).
Lister les outils
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.
curl -X POST https://bigquery.googleapis.com/TOOLSET_ENDPOINT \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'MCP-Protocol-Version: MCP_PROTOCOL_VERSION' \
-H 'Mcp-Method: tools/list' \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list",
"params": {
"_meta": {
"io.modelcontextprotocol/protocolVersion": "MCP_PROTOCOL_VERSION",
"io.modelcontextprotocol/clientCapabilities": {
"extensions": {
"io.modelcontextprotocol/ui": {
"mimeTypes": ["text/html;profile=mcp-app"]
}
}
}
}
}
}'
Remplacez les éléments suivants :
TOOLSET_ENDPOINT: le reste du point de terminaison MCP après le nom du service. Par exemple, pour BigQuery, il peut s'agir demcp/toolset-name.MCP_PROTOCOL_VERSION: version du protocole MCP. Exemple :2026-07-28.
Refuser l'accès aux outils de lecture/écriture
Le seul outil MCP qui n'est pas en lecture seule est execute_sql. Vous pouvez limiter l'accès à l'outil execute_sql en créant une stratégie de refus qui limite l'utilisation de l'outil MCP en lecture-écriture.
Exemples de cas d'utilisation
Voici des exemples de cas d'utilisation du serveur MCP BigQuery :
Créez des workflows qui utilisent les insights 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, telles que les prévisions, pour obtenir des insights de niveau supérieur.
Créez une expérience conversationnelle pour vos utilisateurs avec des instructions d'agent personnalisées.
Interrogez vos données de graphe à l'aide de GQL.
Exemples de prompts
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épertorie les ensembles de données du projet
PROJECT_ID." - "Rechercher toutes les requêtes que j'ai exécutées dans le projet
PROJECT_IDà l'aide du serveur MCP dans la régionREGION. Utilisez le taggoog-mcp-server:truepour identifier les jobs de requête qui ont été exécutés via le serveur MCP." - "Trouve les commandes les plus importantes en volume dans
DATASET_IDdu projetPROJECT_ID. Identifie les tables appropriées, trouve le schéma correct et affiche les résultats." - "Crée une prévision sur la table
PROJECT_ID.DATASET_ID.TABLE_IDpour les années à venir. UtilisezCOLUMN_NAMEcomme colonne de données etCOLUMN_NAMEcomme colonne de code temporel. Affiche les 10 premières prévisions."
Dans les prompts, remplacez les éléments suivants :
PROJECT_ID: ID du projet Google CloudREGION: nom de la régionDATASET_ID: nom de l'ensemble de donnéesTABLE_ID: nom de la tableCOLUMN_NAME: nom de la colonne
Configurations de sécurité 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 analyse de manière proactive les prompts et les réponses des LLM, protège contre divers risques et favorise les pratiques pour une IA responsable. Que vous déployiez l'IA dans votre environnement cloud ou sur des fournisseurs de services cloud externes, Model Armor peut vous aider à empêcher les entrées malveillantes, à vérifier la sécurité du contenu, à protéger les données sensibles, à maintenir la conformité et à appliquer vos règles de sécurité 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 consigne l'intégralité de la charge utile. Cela pourrait exposer des informations sensibles dans vos journaux.
Routage des requêtes 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 compatible avec Model Armor, le comportement de routage de l'appel peut être différent selon les 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
Activez l'API Model Armor, si ce n'est pas déjà fait.
Rôles requis pour activer les API
Pour activer des API, vous devez disposer de l'autorisation
serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation via le rôle Propriétaire (roles/owner). Sinon, vous pouvez l'obtenir via le rôle Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.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 :
Dans la console Google Cloud , activez Cloud Shell.
En bas de la fenêtre de la console Google Cloud , une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement de shell dans lequel la Google Cloud CLI est déjà installée, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.
-
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
LOCATIONpar la région dans laquelle vous souhaitez utiliser Model Armor.
Configurer la protection pour les serveurs MCP Google et Google Cloud distants
Pour protéger les appels et les réponses de vos outils 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 de filtres cohérent à 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 mesure d'application.MEDIUM_AND_ABOVE: niveau de confiance pour les paramètres du filtre "IA responsable - Dangereux". Vous pouvez modifier ce paramètre, mais des valeurs inférieures peuvent entraîner davantage de faux positifs. Pour en savoir plus, consultez Niveaux de confiance de 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 base 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 base 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 sur d'autres éléments que le 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 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.
Quotas et limites
Le serveur MCP BigQuery n'a pas de quotas propres. Le nombre d'appels pouvant être effectués vers le serveur MCP n'est pas limité.
Vous êtes toujours soumis aux quotas appliqués par les API appelées par les outils du 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 |
execute_sql_readonly |
jobs.Query |
Quotas et limites des jobs de requête |
Pour en savoir plus sur les quotas BigQuery, consultez Quotas et limites.
Étapes suivantes
- Consultez la documentation de référence sur le MCP BigQuery.
- En savoir plus sur les serveurs MCP Google Cloud
- Consultez la liste des produits compatibles avec le MCP.