Usar AlloyDB Omni con MCP, Gemini CLI y otros agentes

En este documento se describe cómo conectar tu instancia de AlloyDB Omni a varios agentes que admiten el Model Context Protocol (MCP).

Como AlloyDB Omni es compatible con PostgreSQL, puede usar herramientas y extensiones diseñadas para PostgreSQL.

Para disfrutar de la configuración más sencilla, usa la extensión de PostgreSQL específica para Gemini CLI, que integra el servidor MCP subyacente directamente en la extensión, por lo que no tendrás que configurar un servidor aparte. Puedes configurar Gemini Code Assist para que use Gemini CLI, lo que te ofrece ventajas de configuración similares en tu IDE.

También puedes usar otros IDEs y agentes que admitan el MCP para conectarte a través de MCP Toolbox for Databases. Toolbox es un servidor MCP de código abierto diseñado para conectar agentes de IA a tus datos. Se encarga de tareas como la autenticación y la agrupación de conexiones, lo que te permite interactuar con tus datos en lenguaje natural directamente desde tu IDE.

Antes de empezar

Antes de conectarte a tu instancia de AlloyDB Omni, asegúrate de hacer lo siguiente:

  1. Instala AlloyDB Omni para Kubernetes o AlloyDB Omni para contenedores y ten una instancia de base de datos en ejecución.
  2. Crea o reutiliza un usuario de base de datos. Ten a mano el nombre de usuario y la contraseña.

Usar la extensión de Gemini CLI para PostgreSQL

Gemini CLI es un agente de IA de código abierto diseñado para ayudar con los flujos de trabajo de desarrollo, como la programación, la depuración, la exploración de datos y la creación de contenido. Su misión es proporcionar una interfaz de agente para interactuar con los servicios de Data Cloud y las bases de datos de código abierto más populares.

La integración con Gemini CLI para AlloyDB Omni se realiza a través de la extensión de PostgreSQL. Esta extensión proporciona un conjunto de herramientas para interactuar con PostgreSQL y AlloyDB Omni, lo que te permite gestionar tus bases de datos, ejecutar consultas y explorar esquemas directamente desde la CLI de Gemini mediante peticiones en lenguaje natural.

En los siguientes ejemplos se usa una base de datos de ecommerce de ejemplo con las siguientes tablas:

  • products: contiene información del producto, como product_id, product_name, category y price.
  • customers: almacena datos de clientes, como customer_id, first_name, last_name y email.
  • orders: contiene información sobre el pedido, como order_id, customer_id y order_date.

Las siguientes herramientas están disponibles en la extensión de PostgreSQL:

Categoría Herramienta Ejemplo de petición de lenguaje natural
Operaciones de base de datos execute_sql Muéstrame los 10 productos más caros de la categoría "Portátiles".
get_query_plan Explica el plan de consulta de una consulta que busca todos los clientes que no han hecho ningún pedido en los últimos seis meses.
list_active_queries ¿Qué consultas se están ejecutando en la base de datos?
database_overview Dame un resumen de la base de datos actual.
list_tables Muéstrame todas las tablas de la base de datos actual.
list_views ¿Qué vistas hay disponibles?
list_schemas Muestra todos los esquemas.
list_triggers Muéstrame los activadores de la tabla de pedidos.
list_available_extensions ¿Qué extensiones puedo instalar?
list_installed_extensions Lista todas las extensiones que están instaladas.
list_indexes Muestra todos los índices.
list_sequences Mostrar todas las secuencias.
Estado y mantenimiento de la base de datos list_autovacuum_configurations Muéstrame la configuración actual de autovacuum.
list_memory_configurations ¿Cuáles son las configuraciones de memoria actuales?
list_top_bloated_tables Enumera las cinco tablas más hinchadas.
list_replication_slots Muestra todos los slots de replicación activos.
list_invalid_indexes Comprueba si hay algún índice no válido en la base de datos ecommerce.
long_running_transactions Muéstrame las transacciones de larga duración.
list_locks Mostrar todas las cerraduras.
replication_stats Muéstrame las estadísticas de replicación.

Puedes usar la extensión de Gemini CLI para PostgreSQL de dos formas:

  • Herramienta de línea de comandos independiente
  • Integrado en tu IDE con Gemini Code Assist

Gemini CLI

  1. Instala la CLI de Gemini (versión 0.6.0 o posterior).
  2. Instala la extensión de PostgreSQL para Gemini CLI desde el repositorio de GitHub con el siguiente comando:
    gemini extensions install https://github.com/gemini-cli-extensions/postgres
  3. Define variables de entorno para conectarte a tu instancia de 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"
    

    También puedes cargar estas variables desde un archivo .env de tu directorio de trabajo.

  4. Inicia la CLI de Gemini en modo interactivo:
    gemini
    La CLI carga automáticamente la extensión de PostgreSQL y sus herramientas, que puedes usar para interactuar con tu base de datos.

Gemini Code Assist

Para evitar configurar manualmente un servidor MCP, configura Gemini Code Assist para que use Gemini CLI.

  1. Instala y configura la CLI de Gemini y la extensión postgres tal como se describe en la pestaña Gemini CLI.
  2. Configura Gemini Code Assist para usar Gemini CLI.
  3. Empieza a interactuar con tu instancia de AlloyDB Omni usando el lenguaje natural directamente en el chat de Gemini Code Assist.

Conectarse con otros IDEs mediante MCP Toolbox for Databases

En esta sección se describe cómo conectarse a su instancia de AlloyDB Omni desde varios agentes mediante MCP Toolbox for Databases.

Instalar MCP Toolbox for Databases

Para conectar tu IDE a AlloyDB Omni, debes instalar MCP Toolbox for Databases, un servidor de código abierto que conecta agentes de IA a tus datos.

  1. Descarga la versión más reciente de Toolbox como archivo binario. Selecciona el binario correspondiente a tu sistema operativo y a la arquitectura de tu CPU.

    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. Convierte el archivo binario en un archivo ejecutable.

    chmod +x toolbox
    
  3. Verifica la instalación.

    ./toolbox --version
    

Configurar el cliente

Selecciona la herramienta de agente que quieras usar entre las siguientes opciones:

Cursor

  1. Crea el directorio .cursor en la raíz de tu proyecto si no existe.
  2. Crea el archivo .cursor/mcp.json si no existe y ábrelo.
  3. Añade la siguiente configuración, sustituye las variables de entorno por tus valores y guarda los cambios.
{
  "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. Abre Cursor y ve a Configuración > Configuración del cursor > MCP. Si el servidor se conecta, aparecerá el estado activo en verde.

Windsurf

  1. Abre Windsurf y ve al asistente de Cascade.
  2. Haz clic en el icono de MCP y, a continuación, en Configurar para abrir el archivo de configuración.
  3. Añade la siguiente configuración, sustituye las variables de entorno por tus valores y guarda los cambios.
{
  "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. Abre VS Code y crea el directorio .vscode en la raíz de tu proyecto si no existe.
  2. Crea el archivo .vscode/mcp.json si no existe y ábrelo.
  3. Añade la siguiente configuración, sustituye las variables de entorno por tus valores y guarda los cambios.
{
  "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. Abre la extensión Cline en VS Code y haz clic en el icono Servidores MCP.
  2. Haz clic en Configure MCP Servers (Configurar servidores MCP) para abrir el archivo de configuración.
  3. Añade la siguiente configuración, sustituye las variables de entorno por tus valores y guarda los cambios.
{
  "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. Si el servidor se conecta correctamente, aparecerá el estado activo en verde.

Claude para ordenadores

  1. Abre Claude Desktop y ve a Configuración.
  2. En la pestaña Desarrollador, haz clic en Editar configuración para abrir el archivo de configuración.
  3. Añade la configuración, sustituye las variables de entorno por tus valores y guarda los cambios.
{
  "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. Reinicia Claude Desktop.
  2. En la nueva pantalla de chat se muestra un icono de martillo (MCP) con el nuevo servidor MCP.

Código de Claude

  1. Instala Claude Code.
  2. Crea el archivo .mcp.json en la raíz de tu proyecto, si no existe.
  3. Añade la configuración, sustituye las variables de entorno por tus valores y guarda los cambios.
{
  "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. Reinicia el código de Claude para aplicar la nueva configuración.