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

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

Programas host, como o Claude ou a CLI do Gemini, podem instanciar clientes MCP que se conectam a um único servidor MCP. Um programa host pode ter vários clientes que se conectam a servidores MCP diferentes. Para se conectar a um servidor MCP remoto, o cliente MCP precisa saber, no mínimo, o URL do servidor MCP remoto.

Use as instruções a seguir para configurar clientes do MCP e se conectar ao servidor MCP remoto do Spanner.

CLI do Gemini

Para adicionar um servidor MCP remoto do Spanner à CLI do Gemini, configure-o como uma extensão.

  1. Crie um arquivo de extensão no seguinte local: ~/.gemini/extensions/EXT_NAME/gemini-extension.json, em que ~/ é seu diretório inicial e EXT_NAME é o nome que você quer dar à extensão.

  2. Adicione o seguinte conteúdo ao arquivo de extensão:

            {
              "name": "EXT_NAME",
              "version": "1.0.0",
              "mcpServers": {
                "Spanner MCP Server": {
                  "httpUrl": "https://spanner.googleapis.com/mcp",
                  "authProviderType": "google_credentials",
                  "oauth": {
                    "scopes": ["https://www.googleapis.com/auth/cloud-platform"]
                  },
                  "timeout": 30000,
                  "headers": {
                    "x-goog-user-project": "PROJECT_ID"
                  }
                }
              }
            }
            
  3. Salve o arquivo de extensões.

  4. Inicie a CLI do Gemini:

            gemini
            
  5. Execute /mcp na CLI para conferir o servidor MCP configurado e as ferramentas dele.

    O resultado parecido com este:

            Configured MCP servers:
            🟢 Spanner MCP Server (from spanner )
              - get_database_ddl
              - get_instance
              - get_operation
              - create_database
              - create_instance
              - create_session
              - commit
              - execute_sql
              - list_databases
              - list_instances
            

O servidor MCP remoto está pronto para uso na CLI do Gemini.

Claude.ai

Você precisa ter o plano Claude Enterprise, Pro, Max ou Team para configurar os servidores do Google e do Google Cloud MCP no Claude.ai. Para informações sobre preços, consulte Preços do Claude.

Para adicionar um servidor MCP remoto do Spanner ao Claude.ai, configure um conector personalizado com um ID do cliente OAuth e uma chave secreta do cliente OAuth:

Criar um ID e uma chave secreta do cliente OAuth 2.0

  1. No console do Google Cloud , acesse Plataforma de autenticação do Google > Clientes > Criar cliente.

    Acesse "Criar cliente"

    Se você não tiver um projeto selecionado, será solicitado a criar um.

  2. Na lista Tipo de aplicativo, selecione Aplicativo da Web.

  3. No campo Nome, insira um nome para o aplicativo.

  4. Na seção URIs de redirecionamento autorizados, clique em + Adicionar URI e adicione https://claude.ai/api/mcp/auth_callback no campo URIs.

  5. Clique em Criar. O cliente é criado. Para acessar o ID do cliente, acesse Plataforma de autenticação do Google > Clientes no console Google Cloud .

  6. Na lista IDs de cliente OAuth 2.0, selecione o nome do cliente.

  7. Na seção Chaves secretas do cliente, copie a Chave secreta do cliente e salve-a em um local seguro. Você só pode copiar uma vez. Se você perder a chave, exclua a chave secreta e crie outra.

Criar um conector personalizado no Claude.ai

  1. No Claude.ai, acesse as configurações de conectores do seu plano:

    • Para o plano Enterprise ou Team, acesse Configurações de administrador > Conectores.
    • Para o plano Pro ou Max, acesse Configurações > Conectores.
  2. Clique em Adicionar conector personalizado.

  3. Na caixa de diálogo Adicionar conector personalizado, insira o seguinte:

    • Nome do servidor: um nome legível para o servidor.
    • URL do servidor MCP remoto: https://spanner.googleapis.com/mcp
  4. Abra o menu Configurações avançadas e insira o seguinte:

    • ID do cliente OAuth: o ID do cliente OAuth 2.0 que você criou.
    • Chave secreta do cliente OAuth (somente planos Pro e Max): a chave secreta do seu cliente OAuth 2.0. Para recuperar o segredo, acesse Plataforma de autenticação do Google > Clientes e selecione o ID do cliente OAuth que você criou. Na seção Chaves secretas do cliente, clique para copiar a Chave secreta do cliente.
  5. Clique em Adicionar.

    O conector personalizado é criado.

  6. Abra o menu Ferramentas e ative o conector.

    O Claude.ai pode usar o servidor MCP.

ChatGPT

Você precisa ter uma assinatura do ChatGPT Business para usar os servidores MCP do Google e do Spanner com o ChatGPT.

Para adicionar um servidor MCP remoto do Spanner ao ChatGPT, crie um ID do cliente e uma chave secreta do Google OAuth 2.0 e adicione o servidor MCP como um app no ChatGPT.

Criar um ID e uma chave secreta do cliente OAuth 2.0

  1. No console do Google Cloud , acesse Plataforma de autenticação do Google > Clientes > Criar cliente.

    Acesse "Criar cliente"

    Se você não tiver um projeto selecionado, será solicitado a criar um.

  2. Na lista Tipo de aplicativo, selecione Aplicativo da Web.

  3. No campo Nome, insira um nome para o aplicativo.

  4. Na seção Origens JavaScript autorizadas, clique em + Adicionar URI e adicione https://chatgpt.com no campo URIs.

  5. Na seção URIs de redirecionamento autorizados, clique em + Adicionar URI e adicione https://chatgpt.com/connector_platform_oauth_redirect no campo URIs.

  6. Clique em Criar. O cliente é criado. Para acessar o ID do cliente, acesse Plataforma de autenticação do Google > Clientes no console Google Cloud .

  7. Na lista IDs de cliente OAuth 2.0, selecione o nome do cliente.

  8. Na seção Chaves secretas do cliente, copie a Chave secreta do cliente e salve-a em um local seguro. Você só pode copiar uma vez. Se você perder a chave, exclua a chave secreta e crie outra.

Adicionar o servidor MCP como um app no ChatGPT

  1. Faça login no ChatGPT.
  2. Ative o modo de desenvolvedor:
    1. No ChatGPT, clique no seu nome de usuário para abrir o menu de perfil e selecione Configurações.
    2. No menu "Configurações", selecione Apps e clique em Configurações avançadas.
    3. Em Configurações avançadas, clique na chave Modo de desenvolvedor para ativar.
  3. Em Configurações > Apps, clique no botão Criar app.
  4. Na caixa de diálogo Novo app, insira as seguintes informações:
    • Nome: o nome do servidor MCP.
    • Descrição: uma descrição opcional do servidor MCP.
    • URL do servidor MCP: https://spanner.googleapis.com/mcp
    • Autenticação:
      • No menu Autenticação, selecione OAuth.
      • No campo ID do cliente OAuth, insira seu ID do cliente OAuth do Google.
      • No campo chave secreta OAuth, insira a chave secreta do cliente OAuth do Google.
    • Confirme que você entende o risco associado ao uso do servidor MCP e clique em Criar.

O servidor MCP aparece no menu Apps e está pronto para uso com comandos de chat.

Orientação geral para clientes da MCP

Se as instruções específicas para seu cliente MCP não estiverem incluídas em Configurar um cliente MCP para usar o servidor MCP do Spanner, use as informações a seguir para se conectar a um servidor MCP remoto no programa host ou no aplicativo de IA. Você vai precisar inserir detalhes sobre o servidor, como nome e URL.

Para o servidor MCP remoto do Spanner, insira as seguintes informações:

  • 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 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",
}

Observabilidade

O servidor MCP do Spanner é compatível com ferramentas de introspecção e observabilidade do Spanner.

Tags de solicitação

As consultas executadas ou transações confirmadas usando o servidor MCP do Spanner recebem autotagging com tags de solicitação específicas. Você pode usar essas tags para depurar consultas e transações. Para mais informações, consulte Resolver problemas com tags de solicitação e de transação.

Nome da ferramenta Tag de solicitação
execute_sql mcp_execute_sql
execute_sql_readonly mcp_execute_sql_readonly
commit mcp_commit

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:

  • Liste todas as instâncias do Spanner no projeto atual.
  • Liste todos os bancos de dados na instância atual do Spanner.
  • Mostre 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 dele. Para minimizar e gerenciar esses riscos, o Google Cloud oferece configurações padrão 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 proativamente os 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.

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.

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.

Configurar um valor mínimo do Model Armor com a limpeza 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 das 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

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 de limite mínimo 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 plataforma de agentes, 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 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