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.
Vous pouvez utiliser le serveur MCP local AlloyDB pour les raisons suivantes :
- Développement et tests locaux
- Utilisation hors connexion de MCP
- Gérer les clusters et les instances AlloyDB depuis votre application d'IA
Pour en savoir plus sur l'utilisation de votre serveur MCP local, consultez Utiliser AlloyDB pour PostgreSQL avec MCP, l'interface de ligne de commande Gemini et d'autres agents ou Serveur MCP AlloyDB pour PostgreSQL. Les sections suivantes ne s'appliquent qu'au serveur MCP AlloyDB pour PostgreSQL distant.
Google Cloud serveurs MCP distants
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.
Limites
Le serveur MCP AlloyDB distant présente les limites suivantes :
- L'outil
create_userne permet pas de créer un utilisateur d'authentification intégrée avec un mot de passe. Un utilisateur ne peut être créé qu'avec l'authentification IAM. - Si l'outil
execute_sqlrenvoie une réponse de plus de 10 Mo, elle peut être tronquée. execute_sql_read_onlyn'est compatible qu'avec PostgreSQL version 17 et versions ultérieures.
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.
Enable the AlloyDB API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
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.
Enable the AlloyDB API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init
Rôles requis
Pour obtenir les autorisations nécessaires pour utiliser le serveur MCP AlloyDB pour PostgreSQL, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet dans lequel vous souhaitez utiliser le serveur MCP AlloyDB pour PostgreSQL :
-
Créez une instance AlloyDB :
Administrateur AlloyDB (
roles/alloydb.admin) -
Créez un utilisateur AlloyDB :
Administrateur AlloyDB (
roles/alloydb.admin) -
Exécuter des requêtes SQL dans AlloyDB :
- Administrateur AlloyDB (
roles/alloydb.admin) - Utilisateur de base de données AlloyDB (
roles/alloydb.databaseUser) (Utilisateur de requêtes Studio (roles/databasesconsole.studioQueryUser) fonctionne également)
- Administrateur AlloyDB (
-
Exécuter des requêtes SQL en lecture seule dans AlloyDB :
- Lecteur AlloyDB (
roles/alloydb.viewer) - Administrateur AlloyDB (
roles/alloydb.admin) - Utilisateur de base de données AlloyDB (
roles/alloydb.databaseUser)
- Lecteur AlloyDB (
-
Obtenir une instance AlloyDB ou lister toutes les instances AlloyDB d'un projet : Lecteur AlloyDB (
roles/alloydb.viewer) -
Lister les utilisateurs AlloyDB :
Lecteur AlloyDB (
roles/alloydb.viewer)
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 AlloyDB pour PostgreSQL. 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 AlloyDB pour PostgreSQL :
-
Effectuer des appels d'outils MCP :
mcp.tools.call -
Créez un cluster AlloyDB :
alloydb.cluster.create -
Créez un utilisateur AlloyDB :
alloydb.users.create -
Cloner une instance AlloyDB :
alloydb.instances.create -
Exécutez des requêtes SQL sur une instance AlloyDB :
-
alloydb.instances.executeSql -
alloydb.instances.login
-
-
Exécutez des requêtes SQL en lecture seule sur une instance AlloyDB :
-
alloydb.instances.executeSqlReadOnly -
alloydb.instances.login
-
-
Obtenez un cluster AlloyDB :
alloydb.instances.get -
Obtenir une opération de cluster AlloyDB :
alloydb.clusters.get -
Importer des données dans un cluster AlloyDB :
alloydb.clusters.import -
Exporter des données d'un cluster AlloyDB vers Cloud Storage :
alloydb.clusters.export -
Répertoriez les clusters AlloyDB dans un projet :
alloydb.clusters.list -
Lister les utilisateurs AlloyDB :
alloydb.users.list -
Mettez à jour un cluster AlloyDB :
alloydb.clusters.update -
Mettre à jour un utilisateur AlloyDB :
alloydb.users.update
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 AlloyDB pour PostgreSQL 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 AlloyDB distant n'accepte pas les clés API.
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.
Habilitations OAuth AlloyDB 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.
AlloyDB dispose des niveaux d'accès OAuth suivants pour l'outil MCP :
| URI du champ d'application pour gcloud CLI | Description |
|---|---|
https://www.googleapis.com/auth/alloydb |
Consulter, modifier, configurer et supprimer vos données Google Cloud AlloyDB, et voir l'adresse e-mail de votre compte Google |
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 AlloyDB, consultez API AlloyDB Admin.
Configurer un client MCP pour qu'il utilise le serveur MCP AlloyDB
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 AlloyDB pour PostgreSQL, saisissez les informations suivantes, selon les besoins :
- Nom du serveur : serveur MCP AlloyDB pour PostgreSQL
- URL du serveur ou point de terminaison :
https://alloydb.googleapis.com/mcp - Transport : HTTP
- Informations d'authentification : selon la méthode d'authentification choisie, 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.
- Champ d'application OAuth : champ d'application OAuth 2.0 que vous souhaitez utiliser lorsque vous vous connectez au serveur MCP AlloyDB pour PostgreSQL.
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 :
Outils disponibles
Pour afficher les détails des outils MCP disponibles et leurs descriptions pour le serveur MCP AlloyDB pour PostgreSQL, consultez la documentation de référence sur le MCP AlloyDB pour PostgreSQL.
Outils de liste
Utilisez l'inspecteur MCP pour lister les outils ou envoyez une requête HTTP tools/list directement au serveur MCP distant AlloyDB for PostgreSQL. La méthode tools/list ne nécessite pas d'authentification.
Vous devez fournir une chaîne ou un ID numérique, par exemple 1 ou my-id.
POST /mcp HTTP/1.1
Host: alloydb.googleapis.com
Content-Type: application/json
{
"id": USER_SPECIFIED_ID,
"jsonrpc": "2.0",
"method": "tools/list",
}
Exécuter le code SQL
Pour exécuter des instructions SQL, procédez comme suit :
Définissez le paramètre d'instance
data_api_accesssur l'instance AlloyDB sur la valeurALLOW_DATA_API_ACCESS. Lorsque vous créez une instance à l'aide de l'outilcreate_instance, la configurationdata_api_accessest automatiquement activée.Si la configuration
data_api_accessn'est pas activée sur une instance, vous pouvez l'activer à l'aide de la commande curl pour mettre à jour la valeur du champdataApiAccesssurENABLED:curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://alloydb.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID/instances/INSTANCE_ID?updateMask=dataApiAccess \ -d '{ "dataApiAccess": "ENABLED", }'Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet Google Cloud .LOCATION: région dans laquelle se trouve votre cluster AlloyDB.CLUSTER_ID: ID de votre cluster AlloyDB.INSTANCE_ID: ID de votre instance AlloyDB.
Dans Gemini CLI, saisissez un prompt semblable à celui-ci :
Activez l'authentification IAM pour les bases de données sur l'instance AlloyDB INSTANCE_NAME Assurez-vous que les instructions SQL utilisent les droits d'accès associés au compte utilisateur de l'authentification IAM pour les bases de données USER_ACCOUNTRemplacez les éléments suivants :
INSTANCE_NAME: nom de l'instance AlloyDB.USER_ACCOUNT: compte utilisateur IAM à utiliser pour l'authentification lors de l'exécution d'instructions SQL.
Exemples de cas d'utilisation
Voici des exemples de cas d'utilisation du serveur AlloyDB MCP.
Développement d'applications Web
Un exemple de cas d'utilisation pourrait être le développement rapide d'applications Web et le provisionnement d'instances AlloyDB comme base de données source. Dans ce cas d'utilisation, le serveur MCP AlloyDB vous permet de créer une base de données et de l'alimenter avec des données initiales pour un nouveau projet en langage naturel.
Exemple de requête :
"Crée une instance de développement AlloyDB pour PostgreSQL et configure une table appelée "products"."
Workflow : le workflow de configuration d'une application Web peut se présenter comme suit :
Provisionnement : l'agent crée un cluster dans lequel l'instance peut être allouée. L'agent appelle ensuite l'outil
create_instancepour créer une instance AlloyDB avec des spécifications adaptées à un environnement de développement. Vous pouvez activer la connectivité IP publique sur la nouvelle instance. Vous pouvez également automatiser la configuration des points de terminaison Private Service Connect.Validation : l'agent utilise l'outil
get_operationpour interroger l'état de l'opération de création d'instance.Connexion : une fois l'opération terminée, l'agent utilise l'outil
get_instancepour récupérer les métadonnées de connexion de l'instance.Configuration du schéma : l'agent crée la base de données, puis utilise
execute_sqlpour exécuter l'instruction SQLCREATE TABLE products.Amorçage des données : l'agent utilise à nouveau
execute_sqlpour insérer les données d'amorçage initiales (LMD) dans la table nouvellement créée.
Gestion de la configuration opérationnelle et de la base de données
Dans cet exemple d'utilisation, vous pouvez examiner les instances de base de données existantes pour vous assurer qu'elles respectent les normes de configuration opérationnelle. Vous pouvez également utiliser l'agent pour gérer les utilisateurs de la base de données sur l'instance.
Exemple de requête :
"Liste toutes les instances PostgreSQL de mon projet et affiche leurs détails pour vérifier qu'elles utilisent la même configuration et que la liste la plus récente des utilisateurs de la base de données a bien été mise à jour."
Workflow : le workflow pour vérifier la configuration de l'instance et de l'utilisateur de la base de données AlloyDB peut se présenter comme suit.
Découverte : l'agent utilise
list_instancespour récupérer la liste de toutes les instances AlloyDB du projet.Inspection : pour chaque instance identifiée, l'agent appelle
get_instanceafin d'extraire les métadonnées de configuration détaillées, telles que la version de la base de données, la région et le type de machine, et appellelist_userspour vérifier les utilisateurs de la base de données sur l'instance. Ces métadonnées incluent des informations indiquant si la connectivité IP publique est activée ou si des points de terminaison Private Service Connect sont configurés.Rapports : l'agent résume les résultats, en mettant en évidence les instances ou les utilisateurs qui s'écartent de la configuration attendue.
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 qui peuvent être effectuées 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
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 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.
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.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 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.
-
Exécutez la commande suivante pour utiliser le point de terminaison de l'API globale :
gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.googleapis.com/"
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 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
- Consultez la documentation de référence sur AlloyDB MCP.
- En savoir plus sur les serveurs MCP Google Cloud