Saiba como usar o servidor MCP do serviço de migração do BigQuery

Neste documento, mostramos como usar o servidor do Protocolo de Contexto de Modelo (MCP) remoto do BigQuery para se conectar a aplicativos de IA, incluindo a CLI do Gemini, o ChatGPT, o Claude e aplicativos personalizados que você está desenvolvendo. Você pode usar o servidor do protocolo de contexto do modelo (MCP) do serviço de migração do BigQuery para realizar tarefas como traduzir consultas SQL para a sintaxe do GoogleSQL, gerar instruções DDL de consultas de entrada SQL e receber explicações sobre traduções de SQL.

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

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.

Os servidores MCP locais geralmente são executados na sua máquina local e usam os fluxos de entrada e saída padrão (stdio) para comunicação entre serviços no mesmo dispositivo. Os servidores MCP são executados na infraestrutura do serviço e oferecem um endpoint HTTPS 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.

Os servidores do Google e do Google Cloud MCP têm os seguintes recursos e benefícios:

  • Descoberta simplificada e centralizada
  • Endpoints HTTPS 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 do MCP e controles de segurança e governança disponíveis para servidores do MCP no Google Cloud, consulte a Visão geral dos servidores do MCP no 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. 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.

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

  6. Ative a API BigQuery Migration Service.

    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

Funções exigidas

Para receber as permissões necessárias para ativar o servidor MCP do serviço de migração do BigQuery, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto em que você quer ativar o servidor MCP do serviço de migração do BigQuery:

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 ativar o servidor MCP do BigQuery Migration Service. 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 ativar o servidor MCP do serviço de migração do BigQuery:

  • Faça chamadas de ferramentas do MCP: mcp.tools.call
  • Use o serviço de migração do BigQuery:
    • bigquerymigration.workflows.create
    • bigquerymigration.workflows.get
    • bigquerymigration.workflows.list
    • bigquerymigration.workflows.delete
    • bigquerymigration.subtasks.get
    • bigquerymigration.subtasks.list

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

Outras permissões do serviço de migração do BigQuery podem ser necessárias, dependendo da tarefa. Para informações sobre papéis e permissões do serviço de migração do BigQuery, consulte Papéis e permissões do serviço de migração do BigQuery.

Autenticação e autorização

Os servidores do serviço de migração do BigQuery MCP 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 do BigQuery Migration Service não aceita chaves de API.

Escopos do OAuth do MCP do serviço de migração do BigQuery

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, consulte Como usar o OAuth 2.0 para acessar as APIs do Google.

O serviço de migração do BigQuery tem os seguintes escopos OAuth da ferramenta MCP:

URI de escopo para a CLI gcloud Descrição
https://www.googleapis.com/auth/bigquerymigration Acessar e gerenciar seus fluxos de trabalho no serviço de migração do BigQuery e consultar o endereço de e-mail da sua Conta do Google.
https://www.googleapis.com/auth/devstorage.read_only Esse escopo é necessário para traduções de consultas que leem dados do Cloud Storage.

Os recursos acessados durante uma chamada de ferramenta podem exigir escopos adicionais.

Configurar um cliente do MCP para usar o servidor do MCP do serviço de migração do BigQuery

Programas host, como a CLI do Claude ou 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, o cliente precisa saber pelo menos o URL dele.

No host, procure uma maneira de se conectar a um servidor MCP. Você vai precisar inserir detalhes sobre o servidor, como nome e URL.

Para o servidor MCP do serviço de migração do BigQuery, insira o seguinte conforme necessário:

  • Nome do servidor: servidor MCP do serviço de migração do BigQuery
  • URL do servidor ou Endpoint: bigquerymigration.googleapis.com/mcp
  • Transporte: HTTP
  • Detalhes da autenticação: suas credenciais Google Cloud , seu ID do cliente OAuth e chave secreta, ou uma identidade e credenciais do agente.

    Os detalhes de autenticação escolhidos dependem de como você quer fazer a autenticação. Para mais informações, consulte Autenticar em servidores do MCP.

Para orientações específicas sobre hosts, consulte:

Para orientações mais gerais, consulte Conectar-se a servidores MCP remotos.

Ferramentas disponíveis

Para conferir detalhes das ferramentas da MCP disponíveis e as descrições delas para o servidor da MCP do serviço de migração do BigQuery, consulte a referência da MCP do serviço de migração do BigQuery.

Ferramentas de lista

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

POST /mcp HTTP/1.1
Host: bigquerymigration.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 serviço de migração do BigQuery:

  • Usando um cliente MCP com um ambiente de desenvolvimento integrado, traduza um arquivo de consulta para a sintaxe do GoogleSQL.
  • Usando um cliente MCP sem uma IDE, traduza uma consulta especificada para a sintaxe do GoogleSQL.
  • Avaliar a qualidade da tradução.
  • Receber explicações sobre conversões de SQL.
  • Gere uma instrução DDL para uma consulta especificada.

Comandos de amostra

Use os exemplos de comandos a seguir para criar e gerenciar recursos do serviço de migração do BigQuery:

  • Traduza a consulta DIALECT neste FILENAME. Use PROJECT_ID e LOCATION. Persista os registros de saída e tradução em diretórios separados.

    Quando você usa esse comando, o cliente do MCP chama a ferramenta translate_query para traduzir a consulta no arquivo especificado. O cliente do MCP chama periodicamente a ferramenta get_translation para receber os resultados. Depois que a tradução é concluída, o cliente grava a saída no diretório de saída e os registros no diretório de registros.

  • Traduza esta consulta de DIALECT: QUERY. Use PROJECT_ID e LOCATION.

    Quando você usa esse comando, o cliente do MCP chama a ferramenta translate_query para traduzir a consulta especificada e mostra os resultados da tradução.

  • Avalie a qualidade da tradução.

    Quando você usa esse comando, o cliente MCP lê e examina os registros de tradução e mostra um resumo dos problemas de tradução com as próximas etapas sugeridas.

  • Explique a tradução.

    Quando você usa esse comando, o cliente do MCP chama a ferramenta explain_translation para receber uma explicação da tradução. Se os registros de tradução contiverem erros RelationNotFound ou AttributeNotFound, o cliente do MCP vai sugerir que você crie um pacote de metadados. Se não for possível gerar os metadados, envie um comando que solicite a instrução DDL.

    Exemplo de resposta:

    The translated code converts Teradata-specific features into their
    BigQuery equivalents. Here's a breakdown of the key changes:
    * `MACRO` to `PROCEDURE`: The `YourMacroName` macro was converted
    into a BigQuery stored procedure because
    BigQuery doesn't support macros.
    * `SELECT INTO` to `SET`:
      * For setting multiple `OUT` parameters in `YourStoredProcedureName`, the
        `SELECT ... INTO` is changed to `SET (...) = (SELECT STRUCT(...))`.
      * For single variable assignment in `YourOtherProcedureName`,
        `SELECT ... INTO` is replaced by `SET variable = (SELECT ...)` which is
        the standard in BigQuery.
    * Atomic Operations to `MERGE: The BEGIN REQUEST ... END REQUEST` blocks in
      the `ProcedureA`, `ProcedureB`, and `ProcedureC` procedures,
      which perform atomic "update or insert" operations, are translated into
      standard SQL `MERGE` statements. This is the correct and modern way to
      handle this logic in BigQuery.
    
  • Gere DDL para esta consulta de entrada.

    O cliente do MCP chama a ferramenta generate_ddl_suggestion para iniciar um job de sugestão. O cliente recebe os resultados da sugestão chamando a ferramenta fetch_ddl_suggestion. Quando a sugestão está disponível, o cliente do MCP a mostra.

    Se as instruções DDL estiverem corretas, envie um comando para adicionar as instruções DDL geradas à consulta e melhorar a qualidade da tradução.

  • Adicione as instruções DDL geradas à consulta de entrada e traduza novamente.

    Quando você usa esse comando, o cliente do MCP adiciona as instruções DDL à consulta de entrada original e chama a ferramenta translate_query. O cliente chama a ferramenta get_translation para receber a tradução. A nova tradução de consulta e os registros são mantidos quando estão disponíveis.

    Se as instruções DDL geradas estiverem corretas, os erros RelationNotFound ou AttributeNotFound serão resolvidos, o que resulta em uma melhor qualidade da tradução.

Nas solicitações, substitua o seguinte:

  • DIALECT: o dialeto da consulta SQL que você está traduzindo.
  • QUERY: a consulta que você está traduzindo.
  • FILENAME: o arquivo que contém a consulta que você está traduzindo.
  • PROJECT_NUMBER: o número do projeto do Google Cloud .
  • LOCATION: o local do tradutor de SQL.

Configurações opcionais de segurança

A MCP apresenta novos riscos e considerações de segurança devido à grande variedade de ações que podem ser realizadas com as ferramentas dela. 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 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 maliciosas, 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 não será chamado e o conteúdo não será verificado por ele. 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 restriçã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.

Cotas e limites

O servidor MCP do BigQuery Migration Service não tem cotas próprias. Não há limite para o número de chamadas que podem ser feitas ao servidor do MCP.

Você ainda está sujeito às cotas aplicadas pelas APIs chamadas pelas ferramentas do servidor MCP. Para mais informações, consulte API BigQuery Migration Service na página "Cotas e limites".

A seguir