Utiliser des serveurs MCP

Les serveurs MCP vous permettent d'accéder à des outils et de les exécuter pour créer, gérer et interroger des ressourcesGoogle Cloud à l'aide de plates-formes d'agents d'IA. Ce document explique comment se connecter à des serveurs MCP (Model Context Protocol) distants Google Cloud à partir de l'extension Google Cloud Data Agent Kit pour Visual Studio Code.

Serveurs MCP compatibles

Les serveurs MCP distants suivants sont compatibles avec l'extension Data Agent Kit pour VS Code. Pour obtenir des informations spécifiques à chaque produit, consultez les guides suivants :

Un serveur MCP distant est activé lorsque vous activez l'API correspondante. Par exemple, lorsque vous activez l'API Spanner dans votre projet, le MCP distant Spanner est automatiquement activé.

Google Cloud  serveurs MCP distants

Les serveurs MCP Google et Google Cloud distants 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 d'audit centralisée

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.

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.

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 à distance
 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 MCP d'IA et le serveur MCP. Pour en savoir plus sur l'architecture MCP, consultez Architecture MCP.

Avant de commencer

  1. Installez l'extension Data Agent Kit pour VS Code.
  2. Configurez l'extension. Veillez à activer toutes les API.

Rôles requis

Pour obtenir les autorisations nécessaires pour accéder aux serveurs MCP Google Cloud depuis votre IDE, demandez à votre administrateur de vous accorder le rôle IAM Utilisateur de l'outil MCP (roles/mcp.toolUser) sur le projet sur lequel vous travaillez.

En fonction des ressources auxquelles vous prévoyez d'accéder, vous aurez peut-être besoin de rôles supplémentaires en plus de ceux qui vous permettent d'utiliser l'extension. Pour connaître les rôles minimaux requis pour accéder aux serveurs MCP distants pour chaque service Google Cloudcompatible, consultez les guides spécifiques aux produits.

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

Emprunter l'identité d'un compte de service

Lorsque vous vous connectez aux serveurs MCP à partir de l'extension Data Agent Kit pour VS Code, vous pouvez utiliser vos identifiants utilisateur ou l'emprunt d'identité d'un compte de service. Nous vous recommandons d'utiliser l'emprunt d'identité de compte de service pour gcloud CLI et les identifiants par défaut de l'application (ADC) lorsque vous vous connectez aux serveurs MCP.

Pour ce faire, commencez par les identifiants que vous avez utilisés pour vous connecter àGoogle Cloud et à gcloud CLI dans VS Code (généralement votre compte utilisateur). Vous demandez ensuite des identifiants éphémères pour votre compte de service et vous les utilisez à la place de vos identifiants utilisateur. Pour en savoir plus, consultez Utiliser l'emprunt d'identité d'un compte de service.

Pour savoir comment utiliser l'emprunt d'identité d'un compte de service pour vous authentifier auprès des serveurs MCP, consultez Emprunter l'identité d'un compte de service.

Authentification et autorisation

Suivez les étapes d'authentification et d'autorisation ci-dessous. Pour en savoir plus sur l'autorisation de compte Google, consultez Utiliser OAuth 2.0 pour accéder aux API Google.

Lancer le processus d'authentification dans l'IDE

Pour commencer, envoyez une requête au chat agentique dans l'IDE.

  1. Si le panneau "Chat" ne s'affiche pas, ouvrez la palette de commandes en appuyant sur Cmd/Ctrl+Maj+P, puis recherchez et exécutez Ouvrir le chat.
  2. Dans le panneau "Chat", saisissez le prompt suivant :

    list BigQuery datasets using mcp server
    

    L'agent propose la commande gcloud CLI suivante :

    gcloud config get-value project
    
  3. Cliquez sur Autoriser.

    Une boîte de dialogue s'affiche pour vous demander si vous souhaitez fournir un ID client.

  4. Cliquez sur Copier les URI et continuer.

    La palette de commandes s'ouvre et vous demande un ID client OAuth.

Obtenir l'ID client OAuth

Ensuite, obtenez votre ID client OAuth depuis la console Google Cloud .

  1. Dans votre navigateur, ouvrez la consoleGoogle Cloud .
  2. Cliquez sur Sélectionner un projet.
  3. Sélectionnez le projet que vous utilisez dans l'extension Data Agent Kit pour VS Code.
  4. Dans le menu de navigation des API, cliquez sur Identifiants.
  5. Sous ID client OAuth 2.0, cliquez sur l'ID du client que vous souhaitez utiliser.
  6. Dans le volet d'informations, sous Informations supplémentaires, recherchez et copiez la valeur de ID client.

Fournir des identifiants à VS Code

Saisissez votre ID client et votre code secret du client dans l'IDE.

  1. Revenez à VS Code.
  2. Collez l'ID client dans la boîte de dialogue Ajouter les détails d'enregistrement du client.
  3. Appuyez sur Entrée.
  4. Revenez à la console et copiez la valeur du code secret du client.
  5. Revenez à VS Code.
  6. Collez le code secret du client dans la boîte de dialogue Ajouter les détails d'enregistrement du client, puis appuyez sur Entrée.

    L'agent continue de s'exécuter, puis une boîte de dialogue s'affiche pour indiquer que le serveur MCP souhaite s'authentifier.

  7. Cliquez sur Autoriser.

  8. Si vous êtes à nouveau invité à vous connecter à votre compte Google, suivez les instructions et revenez à l'IDE.

    L'agent obtient les ensembles de données BigQuery que vous avez demandés à partir du serveur MCP et affiche la liste.

Configurer des serveurs MCP distants dans l'extension Google Cloud

À l'aide des outils agentiques de l'IDE, vous pouvez instancier un client MCP qui se connecte à un seul serveur MCP. Vous pouvez avoir plusieurs clients qui se connectent à différents serveurs MCP. Pour se connecter à un serveur MCP distant, le client MCP doit connaître au minimum l'URL du serveur MCP distant.

Pour chaque client, utilisez les éléments suivants selon les besoins.

  • Nom du serveur : SERVER_NAME
  • Point de terminaison : ENDPOINT
  • Transport : HTTP
  • Informations d'authentification : selon la méthode d'authentification choisie, vous pouvez saisir vos identifiants Google Cloud , votre ID client et votre secret OAuth, ou encore une identité et des identifiants d'agent.
  • Champ d'application OAuth : champ d'application OAuth 2.0 que vous souhaitez utiliser lorsque vous vous connectez au serveur AlloyDB MCP.

Remplacez SERVER_NAME et ENDPOINT par les valeurs du service auquel vous vous connectez. Pour AlloyDB, vous devez spécifier une région, par exemple us-east4.

Service

Nom du serveur

Point de terminaison

AlloyDB

Serveur MCP AlloyDB

https://alloydb.REGION.rep.googleapis.com/mcp

BigQuery

Serveur BigQuery MCP

https://bigquery.googleapis.com/mcp

Cloud SQL

Serveur MCP Cloud SQL

https://sqladmin.googleapis.com/mcp

Knowledge Catalog

Serveur MCP du catalogue de connaissances

https://dataplex.googleapis.com/mcp

Managed Service pour Apache Spark

Serveur MCP Managed Service pour Apache Spark

https://dataproc-us-central1.googleapis.com/mcp

Spanner

Serveur MCP Spanner

https://spanner.googleapis.com/mcp

Configurations MCP pour la boîte à outils et les serveurs MCP distants

Utilisez les configurations suivantes pour chaque service Google Cloud Data Agent Kit auquel vous souhaitez vous connecter.

AlloyDB

Distant

'alloydb': {
  remote: {
    vscode: {
      'datacloud_alloydb_remote': {
        type: 'http',
        url: 'https://alloydb.REGION.rep.googleapis.com/mcp',
        authProviderType: 'google_credentials',
        oauth: {
          scopes: ['https://www.googleapis.com/auth/cloud-platform'],
        },
      },

Local

'datacloud_alloydb-postgres-admin_toolbox': {
  '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
  'command': 'npx',
  'args': [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'alloydb-postgres-admin',
    '--stdio'
  ],
  'env': {},
},
'datacloud_alloydb-postgres_toolbox': {
  '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
  'command': 'npx',
  'args': [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'alloydb-postgres',
    '--stdio'
  ],
  'env': {
    'ALLOYDB_POSTGRES_CLUSTER': '',
    'ALLOYDB_POSTGRES_DATABASE': '',
    'ALLOYDB_POSTGRES_INSTANCE': '',
    'ALLOYDB_POSTGRES_IP_TYPE': '',
    'ALLOYDB_POSTGRES_PASSWORD': '',
    'ALLOYDB_POSTGRES_PROJECT': '',
    'ALLOYDB_POSTGRES_REGION': '',
    'ALLOYDB_POSTGRES_USER': '',
  },
},

BigQuery

Distant

'datacloud_bigquery_remote': {
  type: 'http',
  url: 'https://bigquery.googleapis.com/mcp',
  authProviderType: 'google_credentials',
  oauth: {
    scopes: [
      'https://www.googleapis.com/auth/bigquery',
      'https://www.googleapis.com/auth/cloud-platform',
    ],
  },
},

Local

'datacloud_bigquery_toolbox': {
  command: 'npx',
  args: [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'bigquery',
    '--stdio'
  ],
  env: {
    'BIGQUERY_LOCATION': '',
    'BIGQUERY_PROJECT': '',
  },
},

Cloud SQL

Distant

'datacloud_cloud-sql_remote': {
  type: 'http',
  url: 'https://sqladmin.googleapis.com/mcp',
  authProviderType: 'google_credentials',
  oauth: {
    scopes: ['https://www.googleapis.com/auth/cloud-platform'],
  },
},

Local

'datacloud_cloud-sql-postgresql-admin_toolbox': {
  '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
  'command': 'npx',
  'args': [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'cloud-sql-postgres-admin',
    '--stdio'
  ],
  'env': {},
},
'datacloud_cloud-sql-postgresql_toolbox': {
  '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
  'command': 'npx',
  'args': [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'cloud-sql-postgres',
    '--stdio'
  ],
  'env': {
    'CLOUD_SQL_POSTGRES_DATABASE': '',
    'CLOUD_SQL_POSTGRES_INSTANCE': '',
    'CLOUD_SQL_POSTGRES_IP_TYPE': '',
    'CLOUD_SQL_POSTGRES_PASSWORD': '',
    'CLOUD_SQL_POSTGRES_PROJECT': '',
    'CLOUD_SQL_POSTGRES_REGION': '',
    'CLOUD_SQL_POSTGRES_USER': '',
  },
},

Knowledge Catalog

Distant

'datacloud_knowledge_catalog_remote': {
  type: 'http',
  url: 'https://dataplex.googleapis.com/mcp',
  authProviderType: 'google_credentials',
  oauth: {
    scopes: ['https://www.googleapis.com/auth/cloud-platform'],
  },

Local

'datacloud_knowledge_catalog_toolbox': {
  '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
  'command': 'npx',
  'args': [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'dataplex',
    '--stdio'
  ],
  'env': {
      'DATAPLEX_PROJECT': '${PROJECT_ID}',
    }

Managed Service pour Apache Spark

Distant

'datacloud_managed_apache_spark_remote': {
          type: 'http',
          url: 'https://dataproc-${REGION}.googleapis.com/mcp',
          authProviderType: 'google_credentials',
          oauth: {
            scopes: ['https://www.googleapis.com/auth/dataproc'],
          },
        },

Local

'datacloud_managed_apache_spark_toolbox': {
        '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
        'command': 'npx',
        'args': [
          '-y',
          TOOLBOX_VERSION,
          '--prebuilt',
          'dataproc',
          '--stdio',
          '--user-agent-metadata',
          'google-cloud-data-agent-kit-${IDE_TYPE}',
        ],
        'env': {
          'DATAPROC_PROJECT': '${PROJECT_ID}',
          'DATAPROC_REGION': '${REGION}',
        },
      },
      'datacloud_serverless-spark_toolbox': {
        '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
        'command': 'npx',
        'args': [
          '-y',
          TOOLBOX_VERSION,
          '--prebuilt',
          'serverless-spark',
          '--stdio',
          '--user-agent-metadata',
          'google-cloud-data-agent-kit-${IDE_TYPE}',
        ],
        'env': {
          'SERVERLESS_SPARK_PROJECT': '${PROJECT_ID}',
          'SERVERLESS_SPARK_LOCATION': '${REGION}',
        },
      },

Spanner

Distant

'datacloud_spanner_remote': {
  type: 'http',
  url: 'https://spanner.googleapis.com/mcp',
  authProviderType: 'google_credentials',
  oauth: {
    scopes: [
      'https://www.googleapis.com/auth/spanner.admin',
      'https://www.googleapis.com/auth/spanner.data',
    ],
   },
},

Local

'datacloud_spanner_toolbox': {
  '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
  'command': 'npx',
  'args': [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'spanner',
    '--stdio'
  ],
  'env': {
    'SPANNER_DATABASE': '',
    'SPANNER_DIALECT': '',
    'SPANNER_INSTANCE': '',
    'SPANNER_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 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 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é 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.

Activer Model Armor

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

Console

  1. Activer l'API Model Armor

    Rôles requis pour activer les API

    Pour activer les API, vous avez besoin du rôle IAM Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin), qui contient l'autorisation serviceusage.services.enable. 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 MCP Google et Google Cloud 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 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'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.

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

Les stratégies de refus Identity and Access Management (IAM) vous aident à sécuriser les serveurs MCP à distance. Google Cloud Configurez ces règles pour bloquer l'accès indésirable aux outils MCP.

Par exemple, vous pouvez refuser ou autoriser l'accès en fonction des critères suivants :

  • Le compte principal
  • Propriétés de l'outil, comme la lecture seule
  • ID client OAuth de l'application

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

Résoudre les problèmes

Pour connaître les méthodes de diagnostic et de résolution des erreurs liées à l'extension Data Agent Kit pour VS Code, consultez Résoudre les problèmes liés à l'extension Data Agent Kit pour VS Code.

Étapes suivantes