Este documento descreve como ligar a sua instância do AlloyDB a vários agentes que suportam o protocolo Model Context Protocol (MCP).
Recomendamos que use a extensão AlloyDB dedicada para a Gemini CLI. A CLI Gemini integra o servidor MCP subjacente diretamente na extensão, pelo que não tem de fazer uma configuração de servidor separada. Pode configurar o Gemini Code Assist para usar o Gemini CLI, o que oferece vantagens de configuração semelhantes no seu IDE.
Em alternativa, outros IDEs e agentes que suportem o MCP podem estabelecer ligação através da caixa de ferramentas do MCP para bases de dados. O Toolbox é um servidor MCP de código aberto concebido para associar agentes de IA aos seus dados. Processa tarefas como a autenticação e a partilha de ligações, o que lhe permite interagir com os seus dados com linguagem natural diretamente a partir do IDE.
Antes de começar
Para se ligar à sua instância do AlloyDB e usar as ferramentas disponíveis, tem de ter uma das seguintes funções de gestão de identidade e acesso (IAM) ou uma função personalizada com autorizações equivalentes:
| Tarefa | Nome da função | Função de gestão de identidade e de acesso (IAM) necessária |
|---|---|---|
| Use ferramentas só de leitura para listar e obter recursos do AlloyDB | Leitor do AlloyDB | roles/alloydb.viewer |
| Associe-se a uma instância e execute consultas | Cliente do AlloyDB na nuvem | roles/alloydb.client |
| Consumidor da utilização do serviço | roles/serviceusage.serviceUsageConsumer |
|
| Realizar tarefas administrativas (como criar ou gerir clusters, instâncias e utilizadores) | Administrador do AlloyDB | roles/alloydb.admin |
| Use a extensão de observabilidade | Visualizador de monitorização | roles/monitoring.viewer |
Antes de se poder ligar à sua instância do AlloyDB, conclua os passos seguintes para configurar o projeto e a base de dados.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Ative as APIs Google Cloud necessárias para criar e estabelecer ligação ao AlloyDB.
No passo Confirmar projeto, clique em Seguinte para confirmar o nome do projeto ao qual vai fazer alterações.
No passo Ativar APIs, clique em Ativar para ativar o seguinte:
- API AlloyDB
- API Compute Engine
- Cloud Resource Manager API
- API de rede de serviços
A API Service Networking é necessária se planear configurar a conetividade de rede ao AlloyDB através de uma rede VPC que resida no mesmo projeto que o AlloyDB. Google Cloud
A API Compute Engine e a API Cloud Resource Manager são necessárias se planear configurar a conetividade de rede ao AlloyDB através de uma rede VPC que reside num projeto Google Cloud diferente.
- Crie ou selecione um cluster e a respetiva instância principal.
- Configure as Credenciais padrão da aplicação (ADC) para o seu ambiente.
- Crie ou reutilize um utilizador da base de dados. Tenha o nome de utilizador e a palavra-passe prontos para introduzir.
products: contém informações sobre o produto, incluindoproduct_id,product_name,categoryeprice.customers: armazena dados de clientes, comocustomer_id,first_name,last_nameeemail.orders: contém informações sobre a encomenda, incluindoorder_id,customer_ideorder_date.- Uma ferramenta de linhas de comandos autónoma
- Integrado no seu IDE com o Gemini Code Assist
- Instale a Gemini CLI.
- Instale a extensão AlloyDB para a Gemini CLI a partir do repositório GitHub com o seguinte comando:
gemini extensions install https://github.com/gemini-cli-extensions/alloydb
- Defina variáveis de ambiente para se ligar à sua instância do AlloyDB:
export ALLOYDB_POSTGRES_PROJECT="PROJECT_ID" export ALLOYDB_POSTGRES_REGION="REGION" export ALLOYDB_POSTGRES_CLUSTER="CLUSTER_NAME" export ALLOYDB_POSTGRES_INSTANCE="INSTANCE_NAME" export ALLOYDB_POSTGRES_DATABASE="DATABASE_NAME"
A extensão Gemini CLI para o AlloyDB usa as suas [Credenciais padrão da aplicação (ADC)](/authentication/application-default-credentials) para autenticação por predefinição. Se quiser estabelecer ligação como utilizador da base de dados, defina as seguintes variáveis de ambiente opcionais:
#Optional: Set for database user authentication export ALLOYDB_POSTGRES_USER="USERNAME" export ALLOYDB_POSTGRES_PASSWORD="PASSWORD"
Para estabelecer ligação através de um endereço IP privado, também tem de definir a seguinte variável de ambiente:
export ALLOYDB_POSTGRES_IP_TYPE="private"
- Inicie a Gemini CLI no modo interativo:
A CLI carrega automaticamente a extensão do AlloyDB para a extensão Gemini CLI e as respetivas ferramentas, que pode usar para interagir com a sua base de dados.gemini
- Certifique-se de que instalou e configurou a CLI do Gemini e a extensão
alloydb. - Configure o Gemini Code Assist para usar o Gemini CLI.
- Comece a interagir com a sua instância do AlloyDB usando linguagem natural diretamente no chat do Gemini Code Assist.
- Usar a loja do MCP
- Com uma configuração personalizada
- Abra o Antigravity e o painel do agente do editor.
- Clique no ícone "…" na parte superior do painel e selecione Servidores MCP.
- Localize o AlloyDB para PostgreSQL na lista de servidores disponíveis e clique em Instalar.
- Siga as instruções no ecrã para associar as suas contas de forma segura (quando aplicável).
- Abra o Antigravity e o painel do agente do editor.
- Clique no ícone "…" na parte superior do painel e selecione Servidores MCP.
- Clique em Gerir servidores de MCP > Ver configuração não processada para abrir o ficheiro
mcp_config.json. - Adicione e guarde a seguinte configuração no ficheiro
mcp_config.json. PROJECT_ID: o ID do seu Google Cloud projeto.REGION: o nome da região do AlloyDB.CLUSTER_NAME: o nome do cluster do AlloyDB.INSTANCE_NAME: o nome da sua instância do AlloyDB.DATABASE_NAME: o nome da base de dados do AlloyDB.USERNAME: o seu nome de utilizador do AlloyDB para a variávelALLOYDB_POSTGRES_USER.PASSWORD: a sua palavra-passe do AlloyDB para a variávelALLOYDB_POSTGRES_PASSWORD.Transfira a versão mais recente da caixa de ferramentas como um ficheiro binário. Selecione o binário correspondente ao seu sistema operativo (SO) e arquitetura da CPU. Tem de usar a versão v0.15.0 ou posterior da caixa de ferramentas.
linux/amd64
curl -O https://storage.googleapis.com/genai-toolbox/v0.15.0/linux/amd64/toolbox
darwin/arm64
curl -O https://storage.googleapis.com/genai-toolbox/v0.15.0/darwin/arm64/toolbox
darwin/amd64
curl -O https://storage.googleapis.com/genai-toolbox/v0.15.0/darwin/amd64/toolbox
windows/amd64
curl -O https://storage.googleapis.com/genai-toolbox/v0.15.0/windows/amd64/toolbox
Transformar o ficheiro binário num ficheiro executável.
chmod +x toolboxValide a instalação.
./toolbox --version- Instale o Claude Code.
- Crie o ficheiro
.mcp.jsonna raiz do projeto, se não existir. - Adicione a configuração, substitua as variáveis de ambiente pelos seus valores e guarde.
- Abra o Claude Desktop e navegue para Definições.
- No separador Programador, clique em Editar configuração para abrir o ficheiro de configuração.
- Adicione a configuração, substitua as variáveis de ambiente pelos seus valores e guarde.
- Reinicie o Claude Desktop.
- O novo ecrã de chat apresenta um ícone de martelo (MCP) com o novo servidor MCP.
- Abra a extensão Cline no VS Code e toque no ícone Servidores MCP.
- Clique em Configurar servidores MCP para abrir o ficheiro de configuração.
- Adicione a seguinte configuração, substitua as variáveis de ambiente pelos seus valores e guarde.
- Crie o diretório
.cursorna raiz do projeto, se não existir. - Crie o ficheiro
.cursor/mcp.json, se não existir, e abra-o. - Adicione a seguinte configuração, substitua as variáveis de ambiente pelos seus valores e guarde.
- Abra o Cursor e navegue para Definições > Definições do cursor > MCP. É apresentado um estado ativo verde quando o servidor se liga.
- Abra o VS Code e crie o diretório
.vscodena raiz do projeto, se não existir. - Crie o ficheiro
.vscode/mcp.json, se não existir, e abra-o. - Adicione a seguinte configuração, substitua as variáveis de ambiente pelos seus valores e guarde.
- Abra o Windsurf e navegue para o assistente Cascade.
- Clique no ícone do MCP e, de seguida, clique em Configurar para abrir o ficheiro de configuração.
- Adicione a seguinte configuração, substitua as variáveis de ambiente pelos seus valores e guarde.
Use as extensões da Gemini CLI para o AlloyDB
O Gemini CLI é um agente de IA de código aberto concebido para ajudar nos fluxos de trabalho de desenvolvimento, auxiliando na programação, na depuração, na exploração de dados e na criação de conteúdo. A sua missão é fornecer uma interface de agente para interagir com os serviços do Data Cloud e as bases de dados de código aberto populares.
A integração com a CLI do Gemini é feita através de extensões dedicadas que oferecem capacidades adicionais em comparação com uma ligação padrão da caixa de ferramentas do MCP. As secções seguintes descrevem as extensões alloydb e alloydb-observability, que oferecem um processo de instalação e um conjunto de ferramentas. As extensões de código aberto contêm informações detalhadas sobre a instalação, a configuração e exemplos de utilização. Para mais informações, consulte o artigo Extensão da CLI Gemini – AlloyDB para PostgreSQL.
Extensão AlloyDB
A extensão alloydb inclui ferramentas para consultar a base de dados, gerir recursos do AlloyDB e monitorizar o estado da base de dados.
Os exemplos seguintes usam uma base de dados de amostra ecommerce com as seguintes tabelas:
| Categoria | Ferramentas | Exemplo de comando de linguagem natural |
|---|---|---|
| Operações de base de dados |
database_overview |
Dá-me uma vista geral da base de dados atual. |
list_tables |
Mostra-me todas as tabelas na base de dados atual. | |
execute_sql |
Mostra-me os 10 produtos mais caros na categoria "Portáteis". | |
list_active_queries |
Que consultas estão a ser executadas na base de dados? | |
get_query_plan |
Explique o plano de consulta para uma consulta que encontra todos os clientes que não fizeram uma encomenda nos últimos 6 meses. | |
list_available_extensions |
Quais são as extensões disponíveis que posso instalar? | |
list_installed_extensions |
Liste todas as extensões instaladas. | |
list_indexes |
Indicar todos os índices na tabela products. |
|
list_locks |
Mostrar todos os bloqueios ativos na base de dados. | |
list_schemas |
Liste todos os esquemas na base de dados. | |
list_sequences |
Mostrar todas as sequências no esquema atual. | |
list_triggers |
Listar todos os acionadores da tabela orders. |
|
list_views |
Mostra-me todas as vistas no esquema sales. |
|
| Gestão de recursos clusters, instâncias, utilizadores |
create_cluster |
Crie um cluster do AlloyDB denominado sales-quarterly-db na região us-east1. |
get_cluster |
Obtenha os detalhes do cluster sales-quarterly-db. |
|
list_clusters |
Lista todos os meus clusters do AlloyDB. | |
create_instance |
Crie uma nova instância de leitura no cluster sales-quarterly-db. |
|
get_instance |
Mostra-me as informações da instância sales-quarterly-db-rp. |
|
list_instances |
Liste todas as instâncias no cluster sales-quarterly-db. |
|
create_user |
Crie um novo utilizador da base de dados com o nome reporting_user e a palavra-passe report_password.Crie um novo utilizador da base de dados de IAM para reporting_user@example.com. |
|
get_user |
Obtenha as informações do utilizador reporting_user. |
|
list_users |
Liste todos os utilizadores da base de dados. | |
wait_for_operation |
Qual é o estado da operação operation-163562789? |
|
| Manutenção e estado de funcionamento da base de dados | list_autovacuum_configurations |
Mostra-me a configuração atual do autovacuum. |
list_memory_configurations |
Quais são as configurações de memória atuais para a instância principal? | |
list_top_bloated_tables |
Apresentar as cinco tabelas mais sobrecarregadas. | |
list_replication_slots |
Apresenta todos os slots de replicação ativos. | |
replication_stats |
Mostrar as estatísticas de replicação atuais. | |
list_invalid_indexes |
Verifique se existem índices inválidos na base de dados ecommerce. |
|
long_running_transactions |
Existem transações de longa duração? |
Extensão de observabilidade do AlloyDB
A extensão alloydb-observability oferece uma interface unificada para gerir e monitorizar o desempenho e o estado da base de dados diretamente a partir da Gemini CLI.
| Categoria | Ferramentas | Exemplo de comando de linguagem natural |
|---|---|---|
| Observabilidade | get_system_metrics |
Quais são as métricas do sistema, como a utilização da CPU, para a última hora? |
get_query_metrics |
Mostra-me as métricas de desempenho das consultas dos últimos 15 minutos. |
Pode usar a extensão Gemini CLI para o AlloyDB de duas formas:
CLI do Gemini
Gemini Code Assist
Recomendamos que configure o Gemini Code Assist para usar o Gemini CLI. Esta abordagem elimina a necessidade de configurar manualmente um servidor MCP.
Interaja com o Antigravity
Pode ligar o AlloyDB ao Antigravity das seguintes formas:
Nota: não precisa de transferir o ficheiro binário da caixa de ferramentas do MCP para usar estes métodos.
MCP Store
O método mais recomendado para estabelecer ligação ao AlloyDB no Antigravity é usar a MCP Store integrada.
Depois de instalar o AlloyDB na loja do MCP, os recursos e as ferramentas do servidor ficam automaticamente disponíveis para o editor.
Configuração personalizada
Para estabelecer ligação a um servidor MCP personalizado, siga estes passos:
{
"mcpServers": {
"alloydb-postgres": {
"command": "npx",
"args": ["-y","@toolbox-sdk/server","--prebuilt","alloydb-postgres","--stdio"],
"env": {
"ALLOYDB_POSTGRES_PROJECT": "PROJECT_ID",
"ALLOYDB_POSTGRES_REGION": "REGION",
"ALLOYDB_POSTGRES_CLUSTER": "CLUSTER_NAME",
"ALLOYDB_POSTGRES_INSTANCE": "INSTANCE_NAME",
"ALLOYDB_POSTGRES_DATABASE": "DATABASE_NAME",
"ALLOYDB_POSTGRES_USER": "USERNAME",
"ALLOYDB_POSTGRES_PASSWORD": "PASSWORD"
}
}
}
}
Estabeleça ligação a outros IDEs através da caixa de ferramentas MCP para bases de dados
Esta secção descreve como estabelecer ligação à sua instância do AlloyDB a partir de vários agentes através da MCP Toolbox for Databases. A caixa de ferramentas funciona como um servidor Model Context Protocol (MCP) de código aberto que se encontra entre o seu IDE e a sua base de dados, fornecendo um plano de controlo para as suas ferramentas de IA. Esta secção fornece instruções para estabelecer ligação a uma instância do AlloyDB através de um endereço IP público ou privado. Por predefinição, a caixa de ferramentas usa um endereço IP público, mas pode configurar uma ligação IP privada definindo a variável de ambiente ALLOYDB_POSTGRES_IP_TYPE, conforme mostrado nos exemplos de configuração.
Instale o MCP Toolbox for Databases
Para associar o seu IDE ao AlloyDB, tem de instalar o MCP Toolbox for Databases, um servidor de código aberto que associa os agentes de IA aos seus dados.
Configure o cliente
Selecione a ferramenta do agente a partir das seguintes opções:
Código do Claude
{
"mcpServers": {
"alloydb": {
"command": "./PATH/TO/toolbox",
"args": ["--prebuilt","alloydb-postgres","--stdio"],
"env": {
"ALLOYDB_POSTGRES_PROJECT": "PROJECT_ID",
"ALLOYDB_POSTGRES_REGION": "REGION",
"ALLOYDB_POSTGRES_CLUSTER": "CLUSTER_NAME",
"ALLOYDB_POSTGRES_INSTANCE": "INSTANCE_NAME",
"ALLOYDB_POSTGRES_DATABASE": "DATABASE_NAME",
"ALLOYDB_POSTGRES_USER": "USERNAME",
"ALLOYDB_POSTGRES_PASSWORD": "PASSWORD"
}
}
}
}
Claude para computador
{
"mcpServers": {
"alloydb": {
"command": "./PATH/TO/toolbox",
"args": ["--prebuilt","alloydb-postgres","--stdio"],
"env": {
"ALLOYDB_POSTGRES_PROJECT": "PROJECT_ID",
"ALLOYDB_POSTGRES_REGION": "REGION",
"ALLOYDB_POSTGRES_CLUSTER": "CLUSTER_NAME",
"ALLOYDB_POSTGRES_INSTANCE": "INSTANCE_NAME",
"ALLOYDB_POSTGRES_DATABASE": "DATABASE_NAME",
"ALLOYDB_POSTGRES_USER": "USERNAME",
"ALLOYDB_POSTGRES_PASSWORD": "PASSWORD"
}
}
}
}
Cline
{
"mcpServers": {
"alloydb": {
"command": "./PATH/TO/toolbox",
"args": ["--prebuilt","alloydb-postgres","--stdio"],
"env": {
"ALLOYDB_POSTGRES_PROJECT": "PROJECT_ID",
"ALLOYDB_POSTGRES_REGION": "REGION",
"ALLOYDB_POSTGRES_CLUSTER": "CLUSTER_NAME",
"ALLOYDB_POSTGRES_INSTANCE": "INSTANCE_NAME",
"ALLOYDB_POSTGRES_DATABASE": "DATABASE_NAME",
"ALLOYDB_POSTGRES_USER": "USERNAME",
"ALLOYDB_POSTGRES_PASSWORD": "PASSWORD"
}
}
}
}
É apresentado um estado ativo verde depois de o servidor se ligar com êxito.
Cursor
{
"mcpServers": {
"alloydb": {
"command": "./PATH/TO/toolbox",
"args": ["--prebuilt","alloydb-postgres","--stdio"],
"env": {
"ALLOYDB_POSTGRES_PROJECT": "PROJECT_ID",
"ALLOYDB_POSTGRES_REGION": "REGION",
"ALLOYDB_POSTGRES_CLUSTER": "CLUSTER_NAME",
"ALLOYDB_POSTGRES_INSTANCE": "INSTANCE_NAME",
"ALLOYDB_POSTGRES_DATABASE": "DATABASE_NAME",
"ALLOYDB_POSTGRES_USER": "USERNAME",
"ALLOYDB_POSTGRES_PASSWORD": "PASSWORD"
}
}
}
}
Visual Studio Code (Copilot)
{
"servers": {
"alloydb": {
"command": "./PATH/TO/toolbox",
"args": ["--prebuilt","alloydb-postgres","--stdio"],
"env": {
"ALLOYDB_POSTGRES_PROJECT": "PROJECT_ID",
"ALLOYDB_POSTGRES_REGION": "REGION",
"ALLOYDB_POSTGRES_CLUSTER": "CLUSTER_NAME",
"ALLOYDB_POSTGRES_INSTANCE": "INSTANCE_NAME",
"ALLOYDB_POSTGRES_DATABASE": "DATABASE_NAME",
"ALLOYDB_POSTGRES_USER": "USERNAME",
"ALLOYDB_POSTGRES_PASSWORD": "PASSWORD"
}
}
}
}
Windsurf
{
"mcpServers": {
"alloydb": {
"command": "./PATH/TO/toolbox",
"args": ["--prebuilt","alloydb-postgres","--stdio"],
"env": {
"ALLOYDB_POSTGRES_PROJECT": "PROJECT_ID",
"ALLOYDB_POSTGRES_REGION": "REGION",
"ALLOYDB_POSTGRES_CLUSTER": "CLUSTER_NAME",
"ALLOYDB_POSTGRES_INSTANCE": "INSTANCE_NAME",
"ALLOYDB_POSTGRES_DATABASE": "DATABASE_NAME",
"ALLOYDB_POSTGRES_USER": "USERNAME",
"ALLOYDB_POSTGRES_PASSWORD": "PASSWORD"
}
}
}
}