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:
- Instala AlloyDB Omni para Kubernetes o AlloyDB Omni para contenedores y ten una instancia de base de datos en ejecución.
- 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, comoproduct_id,product_name,categoryyprice.customers: almacena datos de clientes, comocustomer_id,first_name,last_nameyemail.orders: contiene información sobre el pedido, comoorder_id,customer_idyorder_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
- Instala la CLI de Gemini (versión 0.6.0 o posterior).
- 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
- 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
.envde tu directorio de trabajo. - Inicia la CLI de Gemini en modo interactivo:
La CLI carga automáticamente la extensión de PostgreSQL y sus herramientas, que puedes usar para interactuar con tu base de datos.gemini
Gemini Code Assist
Para evitar configurar manualmente un servidor MCP, configura Gemini Code Assist para que use Gemini CLI.
- Instala y configura la CLI de Gemini y la extensión
postgrestal como se describe en la pestaña Gemini CLI. - Configura Gemini Code Assist para usar Gemini CLI.
- 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.
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
Convierte el archivo binario en un archivo ejecutable.
chmod +x toolboxVerifica la instalación.
./toolbox --version
Configurar el cliente
Selecciona la herramienta de agente que quieras usar entre las siguientes opciones:
Cursor
- Crea el directorio
.cursoren la raíz de tu proyecto si no existe. - Crea el archivo
.cursor/mcp.jsonsi no existe y ábrelo. - 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"
}
}
}
}
- Abre Cursor y ve a Configuración > Configuración del cursor > MCP. Si el servidor se conecta, aparecerá el estado activo en verde.
Windsurf
- Abre Windsurf y ve al asistente de Cascade.
- Haz clic en el icono de MCP y, a continuación, en Configurar para abrir el archivo de configuración.
- 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)
- Abre VS Code y crea el directorio
.vscodeen la raíz de tu proyecto si no existe. - Crea el archivo
.vscode/mcp.jsonsi no existe y ábrelo. - 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
- Abre la extensión Cline en VS Code y haz clic en el icono Servidores MCP.
- Haz clic en Configure MCP Servers (Configurar servidores MCP) para abrir el archivo de configuración.
- 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"
}
}
}
}
- Si el servidor se conecta correctamente, aparecerá el estado activo en verde.
Claude para ordenadores
- Abre Claude Desktop y ve a Configuración.
- En la pestaña Desarrollador, haz clic en Editar configuración para abrir el archivo de configuración.
- 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"
}
}
}
}
- Reinicia Claude Desktop.
- En la nueva pantalla de chat se muestra un icono de martillo (MCP) con el nuevo servidor MCP.
Código de Claude
- Instala Claude Code.
- Crea el archivo
.mcp.jsonen la raíz de tu proyecto, si no existe. - 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"
}
}
}
}
- Reinicia el código de Claude para aplicar la nueva configuración.