O padrão do Protocolo de Contexto de Modelo (MCP) padroniza como os modelos de linguagem grandes (LLMs) e os aplicativos ou agentes de IA se conectam a fontes de dados externas. Com os servidores MCP, você pode usar as ferramentas, os recursos e os comandos deles para realizar ações e receber dados atualizados do serviço de back-end.
Qual é a diferença entre servidores MCP locais e remotos?
- Servidores MCP locais
- Normalmente executados na máquina local e usam os fluxos de entrada e saída padrão (stdio) para comunicação entre serviços no mesmo dispositivo.
- Servidores MCP remotos
- Executar na infraestrutura do serviço e oferecer um endpoint HTTP para aplicativos de IA se comunicarem entre o cliente MCP de IA e o servidor MCP. Para mais informações sobre a arquitetura do MCP, consulte Arquitetura do MCP.
Convém usar o servidor MCP local do AlloyDB pelos seguintes motivos:
- Desenvolvimento e teste locais
- Uso off-line do MCP
- Gerenciar clusters e instâncias do AlloyDB no aplicativo de IA
Para mais informações sobre como usar o servidor MCP local, consulte Usar o AlloyDB para PostgreSQL com o MCP, a CLI do Gemini e outros agentes ou Servidor MCP do AlloyDB para PostgreSQL. As seções a seguir se aplicam apenas ao servidor MCP remoto do AlloyDB para PostgreSQL.
Google Cloud servidores MCP remotos
O Google e os servidores MCP remotos Google Cloud têm os seguintes recursos e benefícios:- Descoberta simplificada e centralizada
- Endpoints HTTP globais ou regionais gerenciados
- Autorização detalhada
- Segurança opcional de comandos e respostas com a proteção do Model Armor
- Registro de auditoria centralizado
Para obter informações sobre outros servidores MCP e informações sobre controles de segurança e governança disponíveis para servidores Google Cloud MCP, consulte Visão geral dos servidores Google Cloud MCP.
Limitações
O servidor MCP remoto do AlloyDB tem as seguintes limitações:
- A ferramenta
create_usernão permite criar um usuário de autenticação integrada com uma senha. Um usuário só pode ser criado com a autenticação do IAM. - Se a ferramenta
execute_sqlretornar uma resposta maior que 10 MB, ela poderá ser truncada. execute_sql_read_onlyé compatível apenas com as versões 17 e mais recentes do PostgreSQL.
Antes de começar
- Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
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.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
Enable the AlloyDB API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init -
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.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
Enable the AlloyDB API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
Funções exigidas
Para receber as permissões necessárias a fim de usar o servidor MCP do AlloyDB para PostgreSQL, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto em que você quer usar o servidor MCP do AlloyDB para PostgreSQL:
-
Crie uma instância do AlloyDB:
Administrador do AlloyDB (
roles/alloydb.admin) -
Crie um usuário do AlloyDB:
Administrador do AlloyDB (
roles/alloydb.admin) -
Executar consultas SQL no AlloyDB:
- Administrador do AlloyDB (
roles/alloydb.admin) - Usuário do banco de dados do AlloyDB (
roles/alloydb.databaseUser). O usuário de consultas do Studio (roles/databasesconsole.studioQueryUser) também funciona.
- Administrador do AlloyDB (
-
Executar consultas SQL somente leitura no AlloyDB:
- Leitor do AlloyDB (
roles/alloydb.viewer) - Administrador do AlloyDB (
roles/alloydb.admin) - Usuário do banco de dados do AlloyDB (
roles/alloydb.databaseUser)
- Leitor do AlloyDB (
-
Receba uma instância do AlloyDB ou liste todas as instâncias do AlloyDB em um projeto:
Leitor do AlloyDB (
roles/alloydb.viewer) -
Listar usuários do AlloyDB:
Leitor do AlloyDB (
roles/alloydb.viewer)
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esses papéis predefinidos contêm as permissões necessárias para usar o servidor MCP do AlloyDB para PostgreSQL. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para usar o servidor MCP do AlloyDB para PostgreSQL:
-
Fazer chamadas de ferramentas do MCP:
mcp.tools.call -
Crie um cluster do AlloyDB:
alloydb.cluster.create -
Crie um usuário do AlloyDB:
alloydb.users.create -
Clonar uma instância do AlloyDB:
alloydb.instances.create -
Execute consultas SQL em uma instância do AlloyDB:
-
alloydb.instances.executeSql -
alloydb.instances.login
-
-
Execute consultas SQL somente leitura em uma instância do AlloyDB:
-
alloydb.instances.executeSqlReadOnly -
alloydb.instances.login
-
-
Receba um cluster do AlloyDB:
alloydb.instances.get -
Receber uma operação de cluster do AlloyDB:
alloydb.clusters.get -
Importe dados para um cluster do AlloyDB:
alloydb.clusters.import -
Exporte dados de um cluster do AlloyDB para o Cloud Storage:
alloydb.clusters.export -
Liste os clusters do AlloyDB em um projeto:
alloydb.clusters.list -
Listar usuários do AlloyDB:
alloydb.users.list -
Atualize um cluster do AlloyDB:
alloydb.clusters.update -
Atualize um usuário do AlloyDB:
alloydb.users.update
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Autenticação e autorização
O servidor MCP remoto do AlloyDB para PostgreSQL usa o protocolo OAuth 2.0 com o Identity and Access Management (IAM) para autenticação e autorização. Todas as Google Cloud identidades são compatíveis com a autenticação em servidores MCP.O servidor MCP remoto do AlloyDB não aceita chaves de API.
Recomendamos que você crie uma identidade separada para agentes usando ferramentas do MCP para que o acesso aos recursos possa ser controlado e monitorado. Para mais informações sobre autenticação, consulte Autenticar em servidores do MCP.
Escopos do OAuth do MCP do AlloyDB
O OAuth 2.0 usa escopos e credenciais para determinar se um principal autenticado está autorizado a realizar uma ação específica em um recurso. Para mais informações sobre os escopos do OAuth 2.0 no Google, leia Como usar o OAuth 2.0 para acessar as APIs do Google.
O AlloyDB tem os seguintes escopos OAuth da ferramenta MCP:
| URI de escopo para a CLI gcloud | Descrição |
|---|---|
https://www.googleapis.com/auth/alloydb |
Acessar, editar, configurar e excluir seus dados do Google Cloud AlloyDB e ver o endereço de e-mail da sua Conta do Google. |
Outros escopos podem ser necessários nos recursos acessados durante uma chamada de ferramenta. Para conferir uma lista de escopos necessários para o AlloyDB, consulte API AlloyDB Admin.
Configurar um cliente MCP para usar o servidor MCP do AlloyDB
Aplicativos e agentes de IA, como Claude ou Antigravity, podem instanciar um cliente MCP que se conecta a um único servidor MCP. Um aplicativo de IA pode ter vários clientes que se conectam a diferentes servidores do MCP. Se o aplicativo não estiver listado nas orientações específicas do cliente, use as informações a seguir para se conectar na maioria dos aplicativos.
No seu aplicativo de IA, procure uma maneira de adicionar ou se conectar a um servidor MCP remoto. Para o servidor MCP do AlloyDB para PostgreSQL, insira as seguintes informações conforme necessário:
- Nome do servidor: servidor MCP do AlloyDB para PostgreSQL
- URL do servidor ou Endpoint:
https://alloydb.googleapis.com/mcp - Transporte: HTTP
- Detalhes da autenticação: dependendo de como você quer autenticar, é possível inserir suas Google Cloud credenciais, o ID e a chave secreta do cliente OAuth ou uma identidade e credenciais do agente. Para mais informações sobre autenticação, consulte Autenticar em servidores do MCP.
- Escopo do OAuth: o escopo do OAuth 2.0 que você quer usar ao se conectar ao servidor MCP do AlloyDB para PostgreSQL.
Para orientações específicas sobre como configurar e se conectar ao servidor MCP, consulte Orientações específicas do cliente.
Para orientações mais gerais, consulte os seguintes recursos:
Ferramentas disponíveis
Para conferir detalhes das ferramentas do MCP disponíveis e as descrições delas para o servidor MCP do AlloyDB para PostgreSQL, consulte a referência do MCP do AlloyDB para PostgreSQL.
Ferramentas de lista
Use o inspetor do MCP para listar ferramentas ou envie uma
solicitação HTTP tools/list diretamente ao servidor do MCP remoto do AlloyDB para PostgreSQL. O método tools/list não requer autenticação.
Você precisa fornecer uma string ou um ID numérico, por exemplo, 1 ou my-id.
POST /mcp HTTP/1.1
Host: alloydb.googleapis.com
Content-Type: application/json
{
"id": USER_SPECIFIED_ID,
"jsonrpc": "2.0",
"method": "tools/list",
}
Executar SQL
Para executar instruções SQL, siga estas etapas:
Defina a configuração de instância
data_api_accessna instância do AlloyDB como o valorALLOW_DATA_API_ACCESS. Quando você cria uma instância usando a ferramentacreate_instance, a configuraçãodata_api_accessé ativada automaticamente.Se a configuração
data_api_accessnão estiver ativada em uma instância, você poderá ativá-la usando o comando curl para atualizar o valor do campodataApiAccessparaENABLED:curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://alloydb.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID/instances/INSTANCE_ID?updateMask=dataApiAccess \ -d '{ "dataApiAccess": "ENABLED", }'Substitua:
PROJECT_ID: o ID do seu projeto do Google Cloud .LOCATION: a região em que o cluster do AlloyDB está localizado.CLUSTER_ID: o ID do seu cluster do AlloyDB.INSTANCE_ID: o ID da sua instância do AlloyDB.
Na CLI do Gemini, insira um comando semelhante a este:
Ative a autenticação do banco de dados do IAM na instância do AlloyDB INSTANCE_NAME Verifique se as instruções SQL usam os privilégios associados à conta de usuário da autenticação do banco de dados do IAM USER_ACCOUNTSubstitua:
INSTANCE_NAME: o nome da instância do AlloyDB.USER_ACCOUNT: a conta de usuário do IAM a ser usada para autenticação ao executar instruções SQL.
Exemplos de casos de uso
Confira a seguir exemplos de casos de uso do servidor MCP do AlloyDB.
Desenvolvimento de apps da Web
Um exemplo de caso de uso pode ser o desenvolvimento rápido de aplicativos da Web e o provisionamento de instâncias do AlloyDB como banco de dados de origem. Neste caso de uso, o servidor MCP do AlloyDB permite criar um novo banco de dados e preenchê-lo com dados iniciais para um novo projeto usando linguagem natural.
Exemplo de comando:
"Crie uma nova instância de desenvolvimento do PostgreSQL do AlloyDB e configure uma tabela chamada "products"."
Fluxo de trabalho:o fluxo de trabalho para configurar um aplicativo da Web pode ser semelhante a este:
Provisionamento: o agente cria um cluster em que a instância pode ser alocada. Em seguida, o agente chama a ferramenta
create_instancepara criar uma nova instância do AlloyDB com especificações de tamanho do ambiente de desenvolvimento. É possível ativar a conectividade de IP público na nova instância. Também é possível automatizar a configuração de endpoints do Private Service Connect.Verificação: o agente usa a ferramenta
get_operationpara pesquisar o status da operação de criação de instância.Conexão: quando a operação é concluída, o agente usa a ferramenta
get_instancepara recuperar os metadados de conexão da instância.Configuração do esquema: o agente cria o banco de dados e usa o
execute_sqlpara executar a instrução SQLCREATE TABLE products.Início de dados: o agente usa
execute_sqlnovamente para inserir dados iniciais de início (DML) na tabela recém-criada.
Gerenciamento de configuração operacional e de banco de dados
Neste exemplo, você pode analisar as instâncias de banco de dados atuais para garantir que elas atendam aos padrões de configuração operacional. Você também pode usar o agente para gerenciar usuários do banco de dados na instância.
Exemplo de comando:
Liste todas as instâncias do PostgreSQL no meu projeto e mostre os detalhes delas para verificar se estão usando a mesma configuração e se a lista das atividades recentes de usuários do banco de dados foi atualizada.
Fluxo de trabalho: o fluxo de trabalho para verificar a instância do AlloyDB e a configuração do usuário do banco de dados pode ser semelhante a este.
Descoberta: o agente usa
list_instancespara recuperar uma lista de todas as instâncias do AlloyDB no projeto.Inspeção: para cada instância identificada, o agente chama
get_instancepara buscar metadados de configuração detalhados, como a versão do banco de dados, região e tipo de máquina, e chamalist_userspara verificar os usuários do banco de dados na instância. Esses metadados incluem informações sobre se a conectividade IP pública está ativada ou se os endpoints do Private Service Connect estão configurados.Relatórios: o agente resume as descobertas, destacando instâncias ou usuários que se desviam da configuração esperada.
Configurações opcionais de segurança
O MCP apresenta novos riscos e considerações de segurança devido à ampla variedade de ações que podem ser feitas com as ferramentas do MCP. Para minimizar e gerenciar esses riscos, o Google Cloud oferece padrões e políticas personalizáveis para controlar o uso das ferramentas do MCP na sua organização ou projeto do Google Cloud.
Para mais informações sobre segurança e governança do MCP, consulte Segurança e proteção de IA.
Usar o Model Armor
O Model Armor é um Google Cloud serviço projetado para aumentar a segurança dos seus aplicativos de IA. Ele funciona verificando de maneira proativa os comandos e respostas de LLMs, protegendo contra vários riscos e apoiando práticas de IA responsável. Seja no seu ambiente de nuvem ou em provedores externos, o Model Armor ajuda a evitar entradas maliciosas, verificar a segurança do conteúdo, proteger dados sensíveis, manter a conformidade e aplicar suas políticas de segurança de IA de maneira consistente em todo o seu cenário de IA.
Quando o Model Armor está ativado com a geração de registros ativada, ele registra todo o payload. Isso pode expor informações sensíveis nos seus registros.
Roteamento de solicitações do MCP para o Model Armor
O Model Armor está disponível em algumas regiões. Quando o Model Armor está ativado e você usa um servidor MCP em uma jurisdição que não tem suporte do Model Armor, o comportamento de roteamento da chamada pode ser diferente para servidores MCP diferentes e pode violar a conformidade com a residência de dados para dados em uso e em trânsito. Para mais informações sobre o comportamento de servidores MCP individuais, consulte Produtos compatíveis com o Model Armor.Ativar o Model Armor
É necessário ativar as APIs do Model Armor antes de usar o Model Armor.Console
Ative a API Model Armor.
Funções necessárias para ativar APIs
Para ativar APIs, você precisa da permissão
serviceusage.services.enable. Se você criou o projeto, provavelmente já tem essa permissão com o papel de Proprietário (roles/owner). Caso contrário, é possível receber essa permissão com o papel de Administrador do Service Usage (roles/serviceusage.serviceUsageAdmin). Saiba como conceder papéis.Selecione o projeto em que você quer ativar o Model Armor.
gcloud
Antes de começar, siga estas etapas usando a Google Cloud CLI com a API Model Armor:
No console do Google Cloud , ative o Cloud Shell.
Na parte de baixo do console Google Cloud , uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.
-
Execute o seguinte comando para usar o endpoint de API global:
gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.googleapis.com/"
Configurar a proteção para Google Cloud servidores MCP remotos e do Google
Para proteger as chamadas e respostas de ferramentas do MCP, use as configurações mínimas do Model Armor. Uma configuração mínima define os filtros de segurança mínimos que se aplicam a todo o projeto. Essa configuração aplica um conjunto consistente de filtros a todas as chamadas e respostas de ferramentas do MCP no projeto.
Configure uma configuração de valor mínimo do Model Armor com a sanitização da MCP ativada. Para mais informações, consulte Configurar configurações mínimas do Model Armor.
Confira o exemplo de comando a seguir:
gcloud model-armor floorsettings update \ --full-uri='projects/PROJECT_ID/locations/global/floorSetting' \ --enable-floor-setting-enforcement=TRUE \ --add-integrated-services=GOOGLE_MCP_SERVER \ --google-mcp-server-enforcement-type=INSPECT_AND_BLOCK \ --enable-google-mcp-server-cloud-logging \ --malicious-uri-filter-settings-enforcement=ENABLED \ --add-rai-settings-filters='[{"confidenceLevel": "MEDIUM_AND_ABOVE", "filterType": "DANGEROUS"}]'
Substitua PROJECT_ID pelo ID do projeto Google Cloud .
Observe as seguintes configurações:
INSPECT_AND_BLOCK: o tipo de aplicação que inspeciona o conteúdo do servidor MCP do Google e bloqueia solicitações e respostas que correspondem aos filtros.ENABLED: a configuração que ativa um filtro ou uma restrição.MEDIUM_AND_ABOVE: o nível de confiança para as configurações de filtro de IA responsável - perigoso. É possível modificar essa configuração, mas valores mais baixos podem resultar em mais falsos positivos. Para mais informações, consulte Níveis de confiança do Model Armor.
Desativar a verificação do tráfego do MCP com o Model Armor
Para impedir que o Model Armor verifique automaticamente o tráfego de e para os servidores do Google MCP com base nas configurações mínimas do projeto, execute o seguinte comando:
gcloud model-armor floorsettings update \
--full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
--remove-integrated-services=GOOGLE_MCP_SERVER
Substitua PROJECT_ID pelo
Google Cloud ID do projeto. O Model Armor não aplica automaticamente as regras definidas nas configurações mínimas deste projeto ao tráfego de qualquer servidor MCP do Google.
As configurações mínimas e a configuração geral do Model Armor podem afetar mais do que apenas o MCP. Como o Model Armor se integra a serviços como a Vertex AI, as mudanças feitas nas configurações mínimas podem afetar a verificação de tráfego e os comportamentos de segurança em todos os serviços integrados, não apenas no MCP.
Controlar o uso do MCP com políticas do IAM
As políticas de negação e permissão do Identity and Access Management (IAM) ajudam a proteger os servidores Google Cloud e do Google MCP.
É possível combinar vários critérios para criar políticas personalizadas de segurança e governança, permitindo ou negando o acesso com base no seguinte:
- O principal.
- Propriedades da ferramenta, como o atributo somente leitura.
- O nome do serviço ou da ferramenta.
- O ID do cliente OAuth do aplicativo.
Para mais informações, consulte Controlar o uso do MCP com o Identity and Access Management.
A seguir
- Leia a documentação de referência do MCP do AlloyDB.
- Saiba mais sobre os servidores MCP do Google Cloud.