Utiliser AlloyDB Omni avec MCP, la CLI Gemini et d'autres agents

Ce document explique comment connecter votre instance AlloyDB Omni à différents agents compatibles avec le Model Context Protocol (MCP).

Comme AlloyDB Omni est compatible avec PostgreSQL, vous pouvez utiliser des outils et des extensions conçus pour PostgreSQL.

Pour une configuration la plus simple possible, utilisez l'extension PostgreSQL dédiée pour la CLI Gemini. Elle intègre le serveur MCP sous-jacent directement dans l'extension, ce qui vous évite de configurer un serveur distinct. Vous pouvez configurer Gemini Code Assist pour qu'il utilise la Gemini CLI, ce qui offre des avantages de configuration similaires dans votre IDE.

Vous pouvez également connecter d'autres IDE et agents compatibles avec le MCP via MCP Toolbox for Databases. Toolbox est un serveur MCP Open Source conçu pour connecter les agents d'IA à vos données. Il gère des tâches telles que l'authentification et le regroupement de connexions, ce qui vous permet d'interagir avec vos données en langage naturel directement depuis votre IDE.

Avant de commencer

Avant de vous connecter à votre instance AlloyDB Omni, assurez-vous d'effectuer les opérations suivantes :

  1. Installez AlloyDB Omni pour Kubernetes ou AlloyDB Omni pour les conteneurs et disposez d'une instance de base de données en cours d'exécution.
  2. Créez ou réutilisez un utilisateur de base de données. Préparez-vous à saisir le nom d'utilisateur et le mot de passe.

Utiliser l'extension Gemini CLI pour PostgreSQL

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. Sa mission est de fournir une interface agentique pour interagir avec les services Data Cloud et les bases de données Open Source populaires.

L'intégration à Gemini CLI pour AlloyDB Omni s'effectue via l'extension PostgreSQL. Cette extension fournit un ensemble d'outils permettant d'interagir avec PostgreSQL et AlloyDB Omni. Vous pouvez ainsi gérer vos bases de données, exécuter des requêtes et explorer des schémas directement depuis l'interface de ligne de commande Gemini à l'aide d'invites en langage naturel.

Les exemples suivants utilisent un exemple de base de données ecommerce avec les tables suivantes :

  • products : contient des informations sur le produit, y compris product_id, product_name, category et price.
  • customers : stocke les données client, telles que customer_id, first_name, last_name et email.
  • orders : contient les informations de commande, y compris order_id, customer_id et order_date.

Les outils suivants sont disponibles dans l'extension PostgreSQL :

Catégorie Outil Exemple de requête en langage naturel
Opérations de base de données execute_sql Montre-moi les 10 produits les plus chers de la catégorie "Ordinateurs portables".
get_query_plan Expliquez le plan de requête pour une requête qui trouve tous les clients qui n'ont pas passé de commande au cours des six derniers mois.
list_active_queries Quelles requêtes sont exécutées sur la base de données ?
database_overview Donne-moi un aperçu de la base de données actuelle.
list_tables Affiche toutes les tables de la base de données actuelle.
list_views Quelles sont les vues disponibles ?
list_schemas Répertoriez tous les schémas.
list_triggers Montre-moi les déclencheurs dans le tableau des commandes.
list_available_extensions Quelles extensions puis-je installer ?
list_installed_extensions Répertoriez toutes les extensions installées.
list_indexes Lister tous les index
list_sequences Lister toutes les séquences
État et maintenance de la base de données list_autovacuum_configurations Affiche-moi la configuration autovacuum actuelle.
list_memory_configurations Quelles sont les configurations de mémoire actuelles ?
list_top_bloated_tables Liste les cinq tables les plus volumineuses.
list_replication_slots Affichez tous les emplacements de réplication actifs.
list_invalid_indexes Recherchez les index non valides dans la base de données ecommerce.
long_running_transactions Montre-moi les transactions de longue durée.
list_locks Lister tous les verrous.
replication_stats Montre-moi les statistiques de réplication.

Vous pouvez utiliser l'extension Gemini CLI pour PostgreSQL de deux manières :

  • Un outil de ligne de commande autonome
  • Intégré à votre IDE avec Gemini Code Assist

CLI Gemini

  1. Installez la Gemini CLI (version 0.6.0 ou ultérieure).
  2. Installez l'extension PostgreSQL pour Gemini CLI à partir du dépôt GitHub à l'aide de la commande suivante :
    gemini extensions install https://github.com/gemini-cli-extensions/postgres
  3. Définissez des variables d'environnement pour vous connecter à votre instance AlloyDB Omni :
    export POSTGRES_HOST="DATABASE_HOST"
    export POSTGRES_PORT="DATABASE_PORT"
    export POSTGRES_DATABASE="DATABASE_NAME"
    export POSTGRES_USER="DATABASE_USER"
    export POSTGRES_PASSWORD="DATABASE_PASSWORD"
    

    Vous pouvez également charger ces variables à partir d'un fichier .env dans votre répertoire de travail.

  4. Démarrez la CLI Gemini en mode interactif :
    gemini
    L'interface de ligne de commande charge automatiquement l'extension PostgreSQL et ses outils, que vous pouvez utiliser pour interagir avec votre base de données.

Gemini Code Assist

Pour éviter de configurer manuellement un serveur MCP, configurez Gemini Code Assist pour qu'il utilise la CLI Gemini.

  1. Installez et configurez la Gemini CLI et l'extension postgres comme décrit dans l'onglet "Gemini CLI".
  2. Configurez Gemini Code Assist pour utiliser la Gemini CLI.
  3. Commencez à interagir avec votre instance AlloyDB Omni en langage naturel directement dans le chat Gemini Code Assist.

Se connecter à d'autres IDE à l'aide de MCP Toolbox for Databases

Cette section explique comment vous connecter à votre instance AlloyDB Omni à partir de différents agents à l'aide de la boîte à outils MCP pour les bases de données.

Installer MCP Toolbox for Databases

Pour connecter votre IDE à AlloyDB Omni, vous devez installer MCP Toolbox for Databases, un serveur Open Source qui connecte les agents d'IA à vos données.

  1. Téléchargez la dernière version de Toolbox en tant que fichier binaire. Sélectionnez le fichier binaire correspondant à votre système d'exploitation et à l'architecture de votre processeur.

    linux/amd64

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

    darwin/arm64

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

    darwin/amd64

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

    windows/amd64

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

    chmod +x toolbox
    
  3. Vérifiez l'installation.

    ./toolbox --version
    

Configurer votre client

Sélectionnez votre outil d'agent parmi les options suivantes :

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, puis ouvrez-le.
  3. Ajoutez la configuration suivante, remplacez les variables d'environnement par vos valeurs, puis enregistrez.
{
  "mcpServers": {
    "alloydbomni": {
      "command": "PATH_TO_TOOLBOX",
      "args": ["--prebuilt","postgres","--stdio"],
      "env": {
        "POSTGRES_HOST": "DATABASE_HOST",
        "POSTGRES_PORT": "DATABASE_PORT",
        "POSTGRES_DATABASE": "DATABASE_NAME",
        "POSTGRES_USER": "DATABASE_USER",
        "POSTGRES_PASSWORD": "DATABASE_PASSWORD"
      }
    }
  }
}
  1. 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.

Windsurf

  1. Ouvrez Windsurf et accédez à l'assistant Cascade.
  2. Cliquez 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": {
    "alloydbomni": {
      "command": "PATH_TO_TOOLBOX",
      "args": ["--prebuilt","postgres","--stdio"],
      "env": {
        "POSTGRES_HOST": "DATABASE_HOST",
        "POSTGRES_PORT": "DATABASE_PORT",
        "POSTGRES_DATABASE": "DATABASE_NAME",
        "POSTGRES_USER": "DATABASE_USER",
        "POSTGRES_PASSWORD": "DATABASE_PASSWORD"
      }
    }
  }
}

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": {
    "alloydbomni": {
      "command": "PATH_TO_TOOLBOX",
      "args": ["--prebuilt","postgres","--stdio"],
      "env": {
        "POSTGRES_HOST": "DATABASE_HOST",
        "POSTGRES_PORT": "DATABASE_PORT",
        "POSTGRES_DATABASE": "DATABASE_NAME",
        "POSTGRES_USER": "DATABASE_USER",
        "POSTGRES_PASSWORD": "DATABASE_PASSWORD"
      }
    }
  }
}

Cline

  1. Ouvrez l'extension Cline dans VS Code, puis cliquez sur l'icône Serveurs MCP.
  2. Cliquez 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": {
    "alloydbomni": {
      "command": "PATH_TO_TOOLBOX",
      "args": ["--prebuilt","postgres","--stdio"],
      "env": {
        "POSTGRES_HOST": "DATABASE_HOST",
        "POSTGRES_PORT": "DATABASE_PORT",
        "POSTGRES_DATABASE": "DATABASE_NAME",
        "POSTGRES_USER": "DATABASE_USER",
        "POSTGRES_PASSWORD": "DATABASE_PASSWORD"
      }
    }
  }
}
      
  1. Un état actif vert s'affiche une fois que le serveur est connecté.

Claude sur ordinateur

  1. Ouvrez Claude Desktop et accédez à Settings (Paramètres).
  2. Dans l'onglet Développeur, cliquez sur Modifier la configuration pour ouvrir le fichier de configuration.
  3. Ajoutez la configuration, remplacez les variables d'environnement par vos valeurs, puis enregistrez.
{
  "mcpServers": {
    "alloydbomni": {
      "command": "PATH_TO_TOOLBOX",
      "args": ["--prebuilt","postgres","--stdio"],
      "env": {
        "POSTGRES_HOST": "DATABASE_HOST",
        "POSTGRES_PORT": "DATABASE_PORT",
        "POSTGRES_DATABASE": "DATABASE_NAME",
        "POSTGRES_USER": "DATABASE_USER",
        "POSTGRES_PASSWORD": "DATABASE_PASSWORD"
      }
    }
  }
}
  1. Redémarrez Claude Desktop.
  2. Le nouvel écran de chat affiche une icône en forme de marteau (MCP) avec le nouveau serveur MCP.

Code Claude

  1. Installez Claude Code.
  2. Créez le 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, puis enregistrez.
{
  "mcpServers": {
    "alloydbomni": {
      "command": "PATH_TO_TOOLBOX",
      "args": ["--prebuilt","postgres","--stdio"],
      "env": {
        "POSTGRES_HOST": "DATABASE_HOST",
        "POSTGRES_PORT": "DATABASE_PORT",
        "POSTGRES_DATABASE": "DATABASE_NAME",
        "POSTGRES_USER": "DATABASE_USER",
        "POSTGRES_PASSWORD": "DATABASE_PASSWORD"
      }
    }
  }
}
  1. Redémarrez le code Claude pour appliquer la nouvelle configuration.