Usar o servidor MCP remoto do Spanner

Este documento mostra como usar o servidor remoto do Protocolo de Contexto de Modelo (MCP) do Spanner para se conectar a aplicativos de IA, incluindo a CLI do Gemini, o ChatGPT, o Claude e aplicativos personalizados que você está desenvolvendo. O servidor MCP do Spanner permite acessar e executar ferramentas do Spanner para criar, gerenciar e consultar recursos do Spanner em ambientes de desenvolvimento com tecnologia de IA e plataformas de agentes de IA. .

O servidor MCP remoto do Spanner é ativado quando você ativa a API Spanner.

O padrão 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 do 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 para comunicação entre o cliente MCP de IA e o servidor MCP. Para mais informações sobre a arquitetura do MCP, consulte Arquitetura do MCP.

Para informações sobre o servidor MCP local do Spanner, consulte Servidor MCP do Spanner no GitHub.

Servidores MCP remotos e do Google Google Cloud

Os servidores MCP remotos do Google e do 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 informações sobre outros servidores MCP e controles de segurança e governança disponíveis para servidores MCP do Google Cloud, consulte Visão geral dos servidores MCP do Google Cloud.

Antes de começar

  1. 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.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Ative a API Spanner.

    Funções necessárias para ativar APIs

    Para ativar as APIs, é necessário ter o papel do IAM de administrador de uso do serviço (roles/serviceusage.serviceUsageAdmin), que contém a permissão serviceusage.services.enable. Saiba como conceder papéis.

    Ativar a API

    Para novos projetos, a API Spanner é ativada automaticamente.

Funções exigidas

Para receber as permissões necessárias a fim de usar o servidor MCP do Spanner, peça que o administrador conceda a você os seguintes papéis do IAM no projeto em que você quer usar o servidor MCP do Spanner:

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 Spanner. 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 Spanner:

  • Faça chamadas de ferramentas do MCP: mcp.tools.call
  • Use as ferramentas do MCP do Spanner:
    • spanner.instances.create
    • spanner.instances.get
    • spanner.databases.create
    • spanner.databases.update
    • spanner.sessions.create
    • spanner.instanceOperations.get
    • spanner.databases.getDdl
    • spanner.databases.select
    • spanner.databases.write

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Autenticação e autorização

Os servidores MCP do Spanner usam o protocolo OAuth 2.0 com o gerenciamento de identidade e acesso (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 Spanner não aceita chaves de API.

Recomendamos criar uma identidade separada para agentes que usam ferramentas do MCP. Assim, é possível controlar e monitorar o acesso aos recursos. Para mais informações sobre autenticação, consulte Autenticar em servidores do MCP.

Escopos do OAuth do MCP do Spanner

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 Spanner tem os seguintes escopos OAuth da ferramenta MCP:

URI de escopo para a CLI gcloud Descrição
https://www.googleapis.com/auth/spanner.admin Permite o acesso para administrar suas instâncias e bancos de dados do Spanner.
https://www.googleapis.com/auth/spanner.data Permite o acesso para visualizar e gerenciar dados em um banco de dados do Spanner.

Para mais informações sobre esses escopos, consulte API Spanner.

Configurar um cliente MCP para usar o servidor MCP do Spanner

Aplicativos e agentes de IA, como a CLI do Gemini ou o Claude, 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 MCP. Para se conectar a um servidor MCP remoto, o cliente MCP precisa saber, no mínimo, o URL do servidor MCP remoto.

No seu aplicativo de IA, procure uma maneira de se conectar a um servidor MCP remoto. Você precisa inserir detalhes sobre o servidor, como nome e URL.

Para o servidor MCP do Spanner, insira o seguinte conforme necessário:

  • Nome do servidor: servidor MCP do Spanner
  • URL do servidor ou Endpoint: https://spanner.googleapis.com/mcp
  • Transporte: HTTP
  • Detalhes da autenticação: dependendo de como você quer autenticar, é possível inserir suas Google Cloud credenciais, o ID do cliente e a chave secreta do 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 Spanner.

Para orientações específicas do host, consulte:

Para orientações mais gerais, consulte os seguintes recursos:

Ferramentas disponíveis

Para conferir detalhes das ferramentas MCP disponíveis e as descrições delas para o servidor MCP do Spanner, consulte a referência do MCP do Spanner.

Ferramentas de lista

Use o inspetor do MCP para listar ferramentas ou envie uma solicitação HTTP tools/list diretamente ao servidor remoto do MCP do Spanner. O método tools/list não requer autenticação.

POST /mcp HTTP/1.1
Host: spanner.googleapis.com
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "method": "tools/list",
}

Exemplos de casos de uso

Confira a seguir exemplos de casos de uso do servidor MCP do Spanner.

Desenvolvimento de aplicativos com o Spanner

Um desenvolvedor de aplicativos pode usar o servidor MCP do Spanner para provisionar recursos, criar bancos de dados e preencher dados de amostra.

Comando de exemplo: crie uma instância regional do Spanner no projeto PROJECT_ID na configuração de instância regional us-central1. Crie um banco de dados para rastrear o inventário e preencha cinco produtos de amostra.

Substitua PROJECT_ID pelo ID do projeto Google Cloud .

Fluxo de trabalho:

O fluxo de trabalho para desenvolver um aplicativo pode ser semelhante a este:

  • O agente chama a ferramenta create_instance para provisionar uma nova instância do Spanner usando a configuração especificada. O agente pode invocar a ferramenta get_operation para verificar se a instância está pronta para uso.

  • O agente chama a ferramenta create_database para criar um banco de dados com o esquema necessário. O agente pode chamar a ferramenta get_operation para verificar o status da operação de criação do banco de dados.

  • O agente pode usar uma combinação de create_session, execute_sql e as ferramentas commit para inserir dados de amostra.

  • Opcionalmente, o agente pode chamar a ferramenta execute_sql para consultar e validar a criação de dados de amostra.

Insights operacionais e gerenciamento da configuração do banco de dados

Os administradores do Spanner podem usar o servidor MCP do Spanner para coletar informações sobre instâncias e bancos de dados do Spanner usando ferramentas como list_instances, get_instance, list_databases e get_database_ddl.

Exemplos de comandos:

  • Listar todas as instâncias do Spanner no projeto atual.
  • Liste todos os bancos de dados na instância atual do Spanner.
  • Mostra o esquema do banco de dados atual do Spanner.

Configurações opcionais de segurança

O MCP apresenta novos riscos e considerações de segurança devido à grande variedade de ações que podem ser realizadas com as ferramentas do MCP. Para minimizar e gerenciar esses riscos, o Google Cloud oferece políticas padrão e 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 examinando de forma proativa comandos e respostas de LLMs, protegendo contra vários riscos e apoiando práticas de IA responsável. Se você estiver implantando IA no seu ambiente de nuvem ou em provedores de nuvem externos, o Model Armor pode ajudar a evitar entradas mal-intencionadas, verificar a segurança do conteúdo, proteger dados sensíveis, manter a conformidade e aplicar suas políticas de segurança e proteção de IA de maneira consistente em todo o cenário diversificado de IA.

O Model Armor está disponível apenas em locais regionais específicos. Se o Model Armor estiver ativado para um projeto e uma chamada para esse projeto vier de uma região sem suporte, o Model Armor fará uma chamada entre regiões. Para mais informações, consulte Locais do Model Armor.

Ativar o Model Armor

É necessário ativar as APIs do Model Armor antes de usar o Model Armor.

Console

  1. Ativar a API Model Armor.

    Funções necessárias para ativar APIs

    Para ativar as APIs, é necessário ter o papel do IAM de administrador de uso do serviço (roles/serviceusage.serviceUsageAdmin), que contém a permissão serviceusage.services.enable. Saiba como conceder papéis.

    Ativar a API

  2. 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:

  1. No console do Google Cloud , ative o Cloud Shell.

    Ativar 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.

  2. Execute o comando a seguir para definir o endpoint de API do serviço Model Armor.

    gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.LOCATION.rep.googleapis.com/"

    Substitua LOCATION pela região em que você quer usar o Model Armor.

Configurar a proteção para servidores MCP remotos e do Google Google Cloud

Para proteger as chamadas e respostas da ferramenta 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 da ferramenta MCP no projeto.

Configure uma configuração de valor mínimo do Model Armor com a limpeza do 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 aplicação.
  • MEDIUM_AND_ABOVE: o nível de confiança para as configurações do 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

Se você quiser interromper a verificação do tráfego do Google MCP com o Model Armor, 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 vai verificar o tráfego da MCP no projeto.

Controlar o uso do MCP com políticas de negação do IAM

As políticas de negação do Identity and Access Management (IAM) ajudam a proteger Google Cloud servidores MCP remotos. Configure essas políticas para bloquear o acesso indesejado às ferramentas do MCP.

Por exemplo, é possível negar ou permitir o acesso com base em:

  • O diretor
  • Propriedades da ferramenta, como somente leitura
  • 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