Utiliser Cloud SQL pour MySQL avec MCP, l'interface de ligne de commande Gemini et d'autres agents

Cette page vous explique comment connecter votre instance Cloud SQL à différents outils d'assistance aux développeurs d'IA, y compris les suivants :

Pour une expérience intégrée, nous vous recommandons d'utiliser l'extension CLI Gemini dédiée à Cloud SQL pour MySQL.

L'interface de ligne de commande (CLI) Gemini, qui est la CLI de nouvelle génération d'As Google Cloud, regroupe le serveur MCP sous-jacent directement dans l'extension, ce qui simplifie la configuration. Vous pouvez configurer Gemini Code Assist pour qu'il utilise la CLI Gemini, ce qui offre des avantages de configuration similaires dans votre IDE.

Pour les autres outils pour les développeurs compatibles avec le Model Context Protocol (MCP), vous pouvez vous connecter en configurant manuellement la MCP Toolbox for Databases (Toolbox). Toolbox est un serveur MCP Open Source qui connecte les agents d'IA à vos données en gérant des tâches telles que l'authentification et le regroupement de connexions. Cela vous permet d'interagir avec vos données en langage naturel directement depuis votre IDE. Pour ces outils, cette méthode fournit des fonctionnalités d'interaction de base avec la base de données.

Pour en savoir plus, consultez Outils prédéfinis et MCP Toolbox for Databases sur GitHub.

À propos de la CLI Gemini et des extensions

La CLI Gemini est un agent d'IA Open Source conçu pour vous aider dans vos workflows de développement en vous assistant pour le codage, le débogage, l'exploration de données et la création de contenu. Il fournit une interface agentique pour interagir avec les services de base de données et d'analyse, ainsi qu'avec les bases de données Open Source populaires.

Fonctionnement des extensions

La CLI Gemini est très extensible et permet d'ajouter de nouveaux outils et de nouvelles fonctionnalités grâce aux extensions. Vous pouvez charger les extensions à partir d'une URL GitHub, d'un répertoire local ou d'un registre configurable. Ils fournissent de nouveaux outils, des commandes slash et des requêtes pour vous aider dans votre workflow.

Utiliser les extensions Gemini CLI dans Cloud SQL pour MySQL

L'extension CLI Gemini pour Cloud SQL est basée sur MCP Toolbox for Databases. MCP Toolbox for Databases est actuellement en version bêta (avant la version 1.0) et peut subir des modifications incompatibles jusqu'à la première version stable (v1.0).

L'intégration à la CLI Gemini se fait via une extension dédiée qui offre des fonctionnalités supplémentaires par rapport à la connexion standard à la boîte à outils. L'extension offre un processus d'installation simplifié et un ensemble d'outils.

Pour en savoir plus, consultez la documentation GitHub sur l'extension Gemini CLI pour Cloud SQL pour MySQL.

Extension Gemini CLI pour les bases de données Cloud SQL pour MySQL

L'extension cloud-sql-mysql inclut des outils permettant d'interroger la base de données et de surveiller son état.

Catégorie Outils
Opérations de base de données
  • list_tables : liste toutes les tables et leurs descriptions correspondantes dans une base de données.
  • execute_sql : exécute n'importe quelle instruction SQL.
  • list_active_queries : liste les requêtes en cours d'exécution sur une instance Cloud SQL.
  • list_tables_missing_unique_indexes : recherche les tables sans clé primaire ni clé unique.
  • list_table_fragmentation : obtient des informations sur la fragmentation des tables.
  • get_query_plan : récupère le plan de requête pour une seule instruction à partir d'une instance Cloud SQL.
Gestion des ressources pour les instances et les utilisateurs
  • create_user : crée un utilisateur dans une instance Cloud SQL.
  • list_databases : liste toutes les bases de données d'une instance Cloud SQL.
  • create_database : crée une base de données dans une instance Cloud SQL.
  • list_instances : liste les instances Cloud SQL d'un projet donné.
  • get_instance : obtenir des informations sur une instance Cloud SQL spécifique.
  • create_instance : crée une instance Cloud SQL.
  • wait_for_operation : interroge l'API Operations jusqu'à ce qu'une opération soit terminée.

L'extension cloud-sql-mysql-observability fournit une interface unifiée pour gérer et surveiller les performances et l'état des bases de données directement depuis la CLI Gemini.

Catégorie Outils
Observabilité
  • get_system_metrics : récupère les métriques système d'une instance Cloud SQL.
  • get_query_metrics : récupère les métriques liées aux requêtes pour une instance Cloud SQL.

Extension de la CLI Gemini pour les bases de données MySQL

Pour obtenir la liste de ces opérations, consultez MCP Toolbox for Databases et l'extension CLI Gemini pour MySQL.

Avant de commencer

Installer la boîte à outils MCP

  1. Pour installer la boîte à outils, téléchargez le fichier binaire correspondant à votre système d'exploitation et à l'architecture de votre processeur.

    linux/amd64

    curl -O https://storage.googleapis.com/genai-toolbox/v0.7.0/linux/amd64/toolbox

    darwin/arm64

    curl -O https://storage.googleapis.com/genai-toolbox/v0.7.0/darwin/arm64/toolbox

    darwin/amd64

    curl -O https://storage.googleapis.com/genai-toolbox/v0.7.0/darwin/amd64/toolbox

    windows/amd64

    curl -O https://storage.googleapis.com/genai-toolbox/v0.7.0/windows/amd64/toolbox
  2. Rendez le binaire exécutable :

    chmod +x toolbox
    
  3. Vérifiez l'installation à l'aide de la commande suivante :

    ./toolbox --version
    

Configurer le client MCP

Cette section explique comment configurer différents outils pour les développeurs afin de se connecter à votre instance Cloud SQL à l'aide de Toolbox. Toolbox agit en tant que serveur MCP (Model Context Protocol) Open Source qui se trouve entre votre IDE et votre base de données. Il fournit un plan de contrôle sécurisé et efficace pour vos outils d'IA. Sélectionnez l'onglet correspondant à votre outil pour afficher les instructions de configuration.

Interface de ligne de commande Gemini pour Cloud SQL pour MySQL


1. Installez la CLI Gemini.
2. Installez l'extension Cloud SQL pour MySQL pour Gemini CLI à partir du dépôt GitHub à l'aide de la commande suivante :
    gemini extensions install https://github.com/gemini-cli-extensions/cloud-sql-mysql
    
3. Définissez des variables d'environnement pour vous connecter à votre instance Cloud SQL :
    export CLOUD_SQL_MYSQL_PROJECT="PROJECT_NAME"
    export CLOUD_SQL_MYSQL_REGION="REGION"
    export CLOUD_SQL_MYSQL_INSTANCE="INSTANCE_NAME"
    export CLOUD_SQL_MYSQL_DATABASE="DATABASE_NAME"
    export CLOUD_SQL_MYSQL_USER="DATABASE_USER_NAME"
    export CLOUD_SQL_MYSQL_PASSWORD="PASSWORD"
    export CLOUD_SQL_MYSQL_IP_TYPE="IP_TYPE"
    
Remplacez les éléments suivants :
  • PROJECT_NAME : ID du projet Google Cloud .
  • REGION : région de votre instance Cloud SQL.
  • INSTANCE_NAME : ID de votre instance Cloud SQL.
  • DATABASE_NAME : nom de la base de données à laquelle se connecter
  • DATABASE_USER_NAME : nom d'utilisateur de la base de données (facultatif). Si aucune valeur n'est spécifiée, l'authentification IAM est utilisée par défaut.
  • PASSWORD : facultatif : mot de passe de l'utilisateur de la base de données. Si aucune valeur n'est spécifiée, l'authentification IAM est utilisée par défaut.
  • IP_TYPE : facultatif, type d'adresse IP, tel que "Public" (par défaut) ou "Private".
4. Démarrez la CLI Gemini en mode interactif :
      gemini
      

La CLI charge automatiquement l'extension CLI Gemini pour Cloud SQL et ses outils, que vous pouvez utiliser pour interagir avec votre base de données.

Dans la Gemini CLI, exécutez la commande /extensions pour vérifier que l'extension est installée et la commande /mcp list pour afficher les outils.

Gemini CLI pour MySQL


1. Installez la CLI Gemini.
2. Installez l'extension logicielle MySQL pour Gemini CLI à partir du dépôt GitHub à l'aide de la commande suivante :
      gemini extensions install https://github.com/gemini-cli-extensions/mysql
      
3. Définissez des variables d'environnement pour vous connecter à votre instance MySQL :
      export MYSQL_HOST="HOST"
      export MYSQL_PORT="PORT"
      export MYSQL_DATABASE="DATABASE"
      export MYSQL_USER="USER"
      export MYSQL_PASSWORD="PASSWORD"
      export MYSQL_QUERY_PARAMETERS="QUERY_PARAMETERS"
      
Remplacez les éléments suivants :
  • HOST : nom d'hôte ou adresse IP du serveur MySQL.
  • PORT : numéro de port du serveur MySQL.
  • DATABASE : nom de la base de données à laquelle se connecter
  • USER : nom d'utilisateur de la base de données.
  • PASSWORD : mot de passe de l'utilisateur de la base de données.
  • QUERY_PARAMETERS : (facultatif) requête brute à ajouter à la chaîne de connexion db.
4. Démarrez la CLI Gemini en mode interactif :
      gemini
      

La CLI charge automatiquement l'extension CLI Gemini pour MySQL et ses outils, que vous pouvez utiliser pour interagir avec votre base de données.

Gemini Code Assist


1. Installez l'extension Gemini Code Assist dans Visual Studio Code.
2. Activez le mode Agent dans le chat Gemini Code Assist.
3. Dans votre répertoire de travail, créez un dossier nommé .gemini. Dans ce dossier, créez un fichier settings.json.
4. Ajoutez la configuration suivante, remplacez les variables d'environnement par vos valeurs, puis enregistrez :


{
  "mcpServers": {
    "cloud-sql-mysql": {
      "command": "./PATH/TO/toolbox",
      "args": ["--prebuilt","cloud-sql-mysql","--stdio"],
      "env": {
          "CLOUD_SQL_MYSQL_PROJECT": "PROJECT_ID",
          "CLOUD_SQL_MYSQL_REGION": "REGION",
          "CLOUD_SQL_MYSQL_INSTANCE":"INSTANCE_ID",
          "CLOUD_SQL_MYSQL_DATABASE": "DATABASE_NAME",
          "CLOUD_SQL_MYSQL_USER": "USER_ID",
          "CLOUD_SQL_MYSQL_PASSWORD": "PASSWORD"
      }
    }
  }
}

Code Claude


1. Installez Claude Code.
2. Créez un fichier .mcp.json à la racine de votre projet s'il n'existe pas.
3. Ajoutez la configuration, remplacez les variables d'environnement par vos valeurs et enregistrez :


{
  "mcpServers": {
    "cloud-sql-mysql": {
      "command": "./PATH/TO/toolbox",
      "args": ["--prebuilt","cloud-sql-mysql","--stdio"],
      "env": {
        "CLOUD_SQL_MYSQL_PROJECT": "PROJECT_ID",
        "CLOUD_SQL_MYSQL_REGION": "REGION",
        "CLOUD_SQL_MYSQL_INSTANCE":"INSTANCE_ID",
        "CLOUD_SQL_MYSQL_DATABASE": "DATABASE_NAME",
        "CLOUD_SQL_MYSQL_USER": "USER_ID",
        "CLOUD_SQL_MYSQL_PASSWORD": "PASSWORD"
      }
    }
  }
}

Claude sur ordinateur


1. Ouvrez Claude Desktop et accédez aux paramètres.
2. Dans l'onglet "Développeur", appuyez sur "Modifier la configuration" pour ouvrir le fichier de configuration.
3. Ajoutez la configuration, remplacez les variables d'environnement par vos valeurs et enregistrez :


{
  "mcpServers": {
    "cloud-sql-mysql": {
      "command": "./PATH/TO/toolbox",
      "args": ["--prebuilt","cloud-sql-mysql","--stdio"],
      "env": {
        "CLOUD_SQL_MYSQL_PROJECT": "PROJECT_ID",
        "CLOUD_SQL_MYSQL_REGION": "REGION",
        "CLOUD_SQL_MYSQL_INSTANCE":"INSTANCE_ID",
        "CLOUD_SQL_MYSQL_DATABASE": "DATABASE_NAME",
        "CLOUD_SQL_MYSQL_USER": "USER_ID",
        "CLOUD_SQL_MYSQL_PASSWORD": "PASSWORD"
      }
    }
  }
}


5. Redémarrez Claude Desktop.
6. Le nouvel écran de chat affiche une icône en forme de marteau (MCP) avec le nouveau serveur MCP disponible.

Cline


1. Ouvrez l'extension Cline dans VS Code, puis appuyez sur l'icône Serveurs MCP.
2. Appuyez sur "Configurer les serveurs MCP" pour ouvrir le fichier de configuration.
3. Ajoutez la configuration suivante, remplacez les variables d'environnement par vos valeurs, puis enregistrez :


{
  "mcpServers": {
    "cloud-sql-mysql": {
      "command": "./PATH/TO/toolbox",
      "args": ["--prebuilt","cloud-sql-mysql","--stdio"],
      "env": {
        "CLOUD_SQL_MYSQL_PROJECT": "PROJECT_ID",
        "CLOUD_SQL_MYSQL_REGION": "REGION",
        "CLOUD_SQL_MYSQL_INSTANCE":"INSTANCE_ID",
        "CLOUD_SQL_MYSQL_DATABASE": "DATABASE_NAME",
        "CLOUD_SQL_MYSQL_USER": "USER_ID",
        "CLOUD_SQL_MYSQL_PASSWORD": "PASSWORD"
      }
    }
  }
}


4. Un état actif vert s'affiche une fois que le serveur est connecté.

Cursor


1. Créez le répertoire .cursor dans la racine de votre projet s'il n'existe pas.
2. Créez le fichier .cursor/mcp.json s'il n'existe pas et ouvrez-le.
3. Ajoutez la configuration suivante, remplacez les variables d'environnement par vos valeurs, puis enregistrez :


{
  "mcpServers": {
    "cloud-sql-mysql": {
      "command": "./PATH/TO/toolbox",
      "args": ["--prebuilt","cloud-sql-mysql","--stdio"],
      "env": {
        "CLOUD_SQL_MYSQL_PROJECT": "PROJECT_ID",
        "CLOUD_SQL_MYSQL_REGION": "REGION",
        "CLOUD_SQL_MYSQL_INSTANCE":"INSTANCE_ID",
        "CLOUD_SQL_MYSQL_DATABASE": "DATABASE_NAME",
        "CLOUD_SQL_MYSQL_USER": "USER_ID",
        "CLOUD_SQL_MYSQL_PASSWORD": "PASSWORD"
      }
    }
  }
}


4. Ouvrez Cursor, puis accédez à Settings > Cursor Settings > MCP (Paramètres > Paramètres du curseur > MCP). Un état actif vert s'affiche lorsque le serveur se connecte.

Visual Studio Code (Copilot)


1. Ouvrez VS Code et créez le répertoire .vscode à la racine de votre projet s'il n'existe pas.
2. Créez le fichier .vscode/mcp.json s'il n'existe pas, puis ouvrez-le.
3. Ajoutez la configuration suivante, remplacez les variables d'environnement par vos valeurs, puis enregistrez :


{
  "servers": {
    "cloud-sql-mysql": {
      "command": "./PATH/TO/toolbox",
      "args": ["--prebuilt","cloud-sql-mysql","--stdio"],
      "env": {
        "CLOUD_SQL_MYSQL_PROJECT": "PROJECT_ID",
        "CLOUD_SQL_MYSQL_REGION": "REGION",
        "CLOUD_SQL_MYSQL_INSTANCE":"INSTANCE_ID",
        "CLOUD_SQL_MYSQL_DATABASE": "DATABASE_NAME",
        "CLOUD_SQL_MYSQL_USER": "USER_ID",
        "CLOUD_SQL_MYSQL_PASSWORD": "PASSWORD"
      }
    }
  }
}

Windsurf


1. Ouvrez Windsurf et accédez à l'assistant Cascade.
2. Appuyez sur l'icône MCP, puis sur Configurer pour ouvrir le fichier de configuration.
3. Ajoutez la configuration suivante, remplacez les variables d'environnement par vos valeurs, puis enregistrez :


{
  "mcpServers": {
    "cloud-sql-mysql": {
      "command": "./PATH/TO/toolbox",
      "args": ["--prebuilt","cloud-sql-mysql","--stdio"],
      "env": {
          "CLOUD_SQL_MYSQL_PROJECT": "PROJECT_ID",
          "CLOUD_SQL_MYSQL_REGION": "REGION",
          "CLOUD_SQL_MYSQL_INSTANCE":"INSTANCE_ID",
          "CLOUD_SQL_MYSQL_DATABASE": "DATABASE_NAME",
          "CLOUD_SQL_MYSQL_USER": "USER_ID",
          "CLOUD_SQL_MYSQL_PASSWORD": "PASSWORD"
      }
    }
  }
}