Utiliser le serveur MCP Bigtable distant

Ce document explique comment utiliser le serveur MCP (Model Context Protocol) Bigtable distant pour vous connecter à des applications d'IA, y compris Gemini CLI, ChatGPT, Claude et les applications personnalisées que vous développez. Les serveurs MCP Bigtable distants vous permettent de gérer les instances et les tables Bigtable, et d'interroger vos données. Utilisez le serveur MCP Admin pour les tâches d'administration et le serveur MCP Data pour interroger vos tables à partir de votre application d'IA. Le serveur MCP Bigtable distant est activé lorsque vous activez les API Bigtable.

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 mises à jour à partir de leur service 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écutent sur l'infrastructure du service et proposent 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.

Avant de commencer

  1. Connectez-vous à votre Google Cloud compte. Si vous n'avez jamais utilisé Google Cloud, créez un compte pour évaluer les performances de nos produits dans des scénarios réels. 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. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Bigtable Admin and Bigtable Data 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. 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

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

  7. Enable the Bigtable Admin and Bigtable Data 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

  8. Exécutez la commande suivante pour installer la cbt CLI :
    gcloud components install cbt

Rôles requis

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

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

Autorisations requises

Les autorisations suivantes sont requises pour utiliser les serveurs MCP Bigtable :

  • Effectuer des appels d'outils MCP : mcp.tools.call
  • Utiliser le serveur MCP Admin :
    • bigtable.instances.create
    • bigtable.instances.delete
    • bigtable.instances.get
    • bigtable.instances.list
    • bigtable.tables.create
    • bigtable.tables.delete
    • bigtable.tables.get
    • bigtable.tables.list
  • Utiliser le serveur MCP Data : bigtable.instances.executeQuery

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

Authentification et autorisation

Les serveurs MCP Bigtable utilisent le protocole OAuth 2.0 avec Identity and Access Management (IAM) pour l'authentification et l'autorisation. Toutes Google Cloud les identités sont compatibles avec l'authentification auprès des serveurs MCP.

Le serveur MCP Bigtable distant n'accepte pas les clés API.

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

OAuth 2.0 utilise des champs d'application et des identifiants pour déterminer si un 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.

Bigtable dispose des champs d'application OAuth d'outil MCP suivants :

URI du champ d'application pour la gcloud CLI Description
https://www.googleapis.com/auth/bigtable.admin Accorde un accès complet aux ressources Bigtable et vous permet d'attribuer des rôles IAM Bigtable.
https://www.googleapis.com/auth/bigtable.data Permet l'accès en lecture et en écriture aux données stockées dans les tables Bigtable.

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 Bigtable, consultez Champs d'application OAuth Bigtable.

Configurer un client MCP pour utiliser les serveurs MCP Bigtable

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 conseils spécifiques au client, vous pouvez utiliser les informations suivantes pour vous connecter à la plupart des applications.

Dans votre application d'IA, recherchez un moyen d'ajouter ou de vous connecter à un serveur MCP distant. Pour les serveurs MCP Bigtable, saisissez les informations suivantes, si nécessaire :

  • Nom du serveur:
    • Serveur MCP Admin Bigtable
    • Serveur MCP Data Bigtable
  • URL du serveur ou Point de terminaison:
    • API Admin : https://bigtableadmin.googleapis.com/mcp
    • API Data : https://bigtable.googleapis.com/mcp
  • Transport: HTTP
  • Informations d'authentification : selon la méthode d'authentification souhaitée, vous pouvez saisir vos Google Cloud identifiants, votre ID client OAuth et votre code secret, ou une identité et des identifiants d'agent. Pour en savoir plus sur l' authentification, consultez S'authentifier auprès des serveurs MCP.
  • Champ d'application OAuth : le champ d'application OAuth Bigtable que vous souhaitez utiliser lorsque vous vous connectez aux serveurs MCP Bigtable.

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 code secret pour l'authentification. Les URI de redirection sont utilisées 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ées ne sont pas acceptées.

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 Bigtable, consultez la documentation de référence MCP Bigtable.

Répertorier les outils

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

Pour le serveur MCP Admin, envoyez la requête à l'adresse suivante :

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

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

Pour le serveur MCP Data, envoyez la requête à l'adresse suivante :

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

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

Exemples de prompts

Vous pouvez utiliser les exemples de prompts suivants pour créer ou supprimer des ressources Bigtable et obtenir des informations à leur sujet.

Exemples de prompts d'administration

  • "Crée une instance INSTANCE_ID dans le projet PROJECT_ID dans la zone ZONE_ID avec NODES nœuds."
  • "Répertorie les instances du projet PROJECT_ID."
  • "Obtiens l'instance INSTANCE_ID dans le projet PROJECT_ID."
  • "Supprime l'instance INSTANCE_ID dans le projet PROJECT_ID."
  • "Crée une table TABLE_ID dans l'instance INSTANCE_ID dans le projet PROJECT_ID."
  • "Répertorie les tables dans l'instance INSTANCE_ID du projet PROJECT_ID."
  • "Obtiens la table TABLE_ID dans l'instance INSTANCE_ID du projet PROJECT_ID."
  • "Supprime la table TABLE_ID dans l'instance INSTANCE_ID du projet PROJECT_ID."

Dans les prompts, remplacez les éléments suivants :

  • PROJECT_ID par l'ID du projet. Google Cloud
  • INSTANCE_ID par l'ID de l'instance Bigtable.
  • ZONE_ID par la zone dans laquelle le cluster s'exécute.
  • TABLE_ID par l'ID de la table Bigtable.
  • Si vous souhaitez contrôler le nombre de nœuds dans un cluster, remplacez NODES par le nombre de nœuds souhaité dans le cluster. Si aucune valeur n'est spécifiée, la valeur par défaut est 1.

Exemples de prompts pour interroger des données

  • "Exécute une requête pour récupérer jusqu'à 10 lignes de la table TABLE_ID dans l'instance INSTANCE_ID du projet PROJECT_ID."
  • "Exécute une requête SQL sur l'instance INSTANCE_ID dans le projet PROJECT_ID : SELECT _key, column_family, value FROM TABLE_ID WHERE row_key LIKE USER_ID."
  • "Récupère les données de l'instance Bigtable INSTANCE_ID, du projet PROJECT_ID à l'aide du profil d'application APP_PROFILE_ID avec la requête : SELECT * FROM TABLE_ID WHERE cf1['status'] = 'ERROR'."

Dans les prompts, remplacez les éléments suivants :

  • TABLE_ID par l'ID de la table Bigtable.
  • INSTANCE_ID par l'ID de l'instance Bigtable.
  • PROJECT_ID par l'ID du projet. Google Cloud
  • USER_ID par le modèle ou la clé de ligne de l'utilisateur que vous souhaitez interroger.
  • APP_PROFILE_ID par l'ID du profil d'application.

Configurations de sécurité facultatives

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 afin de contrôler l'utilisation des outils MCP dans votre Google Cloud organisation ou votre projet.

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

Utiliser Model Armor

Model Armor est un Google Cloud service conçu pour améliorer la sécurité de vos applications d'IA. Il fonctionne en analysant de manière proactive les prompts et les réponses des LLM, en protégeant contre divers risques et en favorisant des 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 à éviter 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é de l'IA de manière cohérente dans votre environnement d'IA diversifié.

Lorsque Model Armor est activé avec la journalisation, il enregistre l'intégralité de la charge utile. Cela peut 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 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 serveurs MCP individuels, 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 avez besoin 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 obtenir cette autorisation via le rôle Administrateur d'utilisation du service (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 Google Cloud console, activez Cloud Shell.

    Activer Cloud Shell

    En bas de la Google Cloud console, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement 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.

  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 MCP Google et Google Cloud distants

Pour protéger vos appels et réponses d'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 cohérent de filtres à tous les appels et réponses d'outils MCP du projet.

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

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

Notez les paramètres suivants :

  • INSPECT_AND_BLOCK : type d'application qui inspecte le contenu du serveur MCP Google et bloque les prompts et les réponses qui correspondent aux filtres.
  • ENABLED : paramètre qui active un filtre ou une application.
  • MEDIUM_AND_ABOVE : niveau de confiance pour les paramètres de 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 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' Google Cloud ID du projet. 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 sur plus que le MCP. Étant donné que Model Armor s'intègre à des services tels que Vertex AI, toute modification apportée aux paramètres de plancher peut affecter l'analyse du trafic et les comportements de sécurité dans tous les services intégrés, et pas seulement dans le MCP.

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

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

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

  • Le principal.
  • Les propriétés de l'outil, telles que l'attribut en lecture seule.
  • Le nom du service ou de l'outil.
  • L'ID client OAuth de l'application.

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

Étape suivante