Surveiller Cloud SQL pour MySQL à l'aide du serveur MCP Database Insights

Le serveur MCP distant Database Insights vous permet de surveiller les clusters et les instances Cloud SQL pour MySQL à partir de vos environnements de développement intégrant l'IA et de vos plates-formes d'agents IA en récupérant les métriques de requête et de système.

Ce document explique comment utiliser le serveur MCP distant Model Context Protocol (MCP) de Database Insights pour surveiller Cloud SQL pour MySQL à partir d'applications d'IA telles que Gemini CLI, le mode Agent dans Gemini Code Assist, Claude Code ou des applications d'IA que vous développez.

Le serveur MCP distant Database Insights est activé lorsque vous activez Database Insights.

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

Serveurs MCP Google et Google Cloud 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 gérés, mondiaux ou régionaux
  • Autorisations précises
  • Sécurité facultative des prompts 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 Google Cloud serveurs MCP, consultez Google Cloud Présentation des serveurs 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. 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.

  4. Enable the Cloud SQL, Database Insights APIs.

    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 APIs

  5. Installez la gcloud CLI.

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

  7. Pour initialiser la gcloud CLI, exécutez la commande suivante :

    gcloud init
  8. 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

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

  10. Enable the Cloud SQL, Database Insights APIs.

    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 APIs

  11. Installez la gcloud CLI.

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

  13. 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 Database Insights, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet dans lequel vous souhaitez utiliser le serveur MCP Database Insights :

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 Database Insights. 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 Database Insights :

  • Effectuer des appels d'outils MCP : mcp.tools.call
  • Obtenir des métriques de requête : queryMetrics.fetch
  • Obtenir des métriques système : systemMetrics.fetch
  • Afficher les métriques Monitoring : monitoring.timeseries.list

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 Cloud SQL pour MySQL utilise 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 distant Database Insights 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.

Habilitations OAuth MCP Database Insights

Database Insights dispose des habilitations OAuth d'outil MCP suivantes :

URI du champ d'application pour la gcloud CLI Description
https://www.googleapis.com/auth/cloud-platform Interroge et analyse les performances de la base de données et les métriques système.

Des habilitations supplémentaires peuvent être requises sur les ressources auxquelles vous accédez lors d'un appel d'outil.

Configurer un client MCP pour utiliser le serveur MCP Database Insights

Les applications et agents d'IA, tels que Claude ou Gemini CLI, 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. Pour se connecter à un serveur MCP distant, le client MCP doit connaître l'URL du serveur MCP distant.

Dans votre application d'IA, recherchez un moyen de vous connecter à un serveur MCP distant. Vous êtes invité à saisir des informations sur le serveur, telles que son nom et son URL.

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

  • Nom du serveur : serveur MCP Database Insights
  • URL du serveur ou Point de terminaison : https://databaseinsights.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.
  • Habilitation OAuth : l'habilitation OAuth 2.0 que vous souhaitez utiliser lorsque vous vous connectez au serveur MCP Database Insights.

Pour obtenir des conseils spécifiques à l'hôte sur la configuration et la connexion au serveur MCP, consultez les ressources suivantes :

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

Répertorier les outils

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

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

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

Exemples de cas d'utilisation

Voici des exemples de cas d'utilisation pour la surveillance de Cloud SQL pour MySQL à l'aide du serveur MCP Database Insights.

Surveiller les performances des requêtes

Vous pouvez utiliser le serveur MCP Database Insights pour identifier les requêtes lentes et comprendre les modèles de charge de travail de la base de données.

Exemple de prompt :

Rechercher les cinq principales requêtes avec le temps d'exécution le plus élevé sur mon instance Cloud SQL pour MySQL dans le projet PROJECT_ID au cours de la dernière heure.

Workflow : le workflow de surveillance des performances des requêtes comprend les étapes suivantes :

  • Extraction de données : l'agent appelle l'outil get_query_metrics avec une requête PromQL configurée pour extraire cloudsql.googleapis.com/database/mysql/insights/aggregate/execution_time.

  • Analyse : l'agent traite les données de séries temporelles renvoyées pour identifier les requêtes avec le temps d'exécution cumulé le plus élevé.

  • Rapports : l'agent répertorie les hachages de requête et leurs temps d'exécution respectifs, ce qui vous aide à identifier les goulots d'étranglement potentiels.

Vérification de l'état du système

Vous pouvez surveiller l'utilisation des ressources de vos instances Cloud SQL pour MySQL afin de vous assurer qu'elles sont correctement dimensionnées et qu'elles fonctionnent de manière optimale.

Exemple de prompt :

"Quelle a été l'utilisation moyenne du processeur et la mémoire disponible pour mon instance Cloud SQL pour MySQL INSTANCE_IDau cours des dernières 24 heures ?"

Workflow : le workflow de vérification de l'état du système comprend les étapes suivantes :

  • Récupération des métriques : l'agent utilise l'outil get_system_metrics pour extraire cloudsql.googleapis.com/database/cpu/utilization pour l'instance spécifiée.

  • Récapitulatif : l'agent agrège les données sur la période de 24 heures.

  • Rapports : l'agent fournit un résumé des tendances du processeur et de la mémoire, et vous avertit si l'utilisation a atteint un pic proche des limites.

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 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 à é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 paysage 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.

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 d'utilisation du service (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 gcloud 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 de shell dans lequel la gcloud 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 de votre 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 qu'Agent Platform, 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 des règles de refus IAM

Les règles de refus Identity and Access Management (IAM) vous aident à sécuriser Google Cloud les serveurs MCP distants. 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 éléments suivants :

  • Le compte principal
  • Les propriétés de l'outil, telles que la lecture seule
  • 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