Usar o servidor MCP remoto do Serviço Gerenciado para Apache Airflow

Airflow gerenciado (Geração 3) | Airflow gerenciado (Geração 2) | Airflow gerenciado (Geração 1 legada)

Este documento descreve como usar o servidor remoto do Protocolo de Contexto de Modelo (MCP) do Serviço Gerenciado para Apache Airflow para se conectar ao Serviço Gerenciado para Apache Airflow em aplicativos de IA, como CLI do Gemini, ChatGPT, Claude ou em aplicativos de IA que você está desenvolvendo. O servidor MCP do Airflow Gerenciado permite gerenciar ambientes do Airflow Gerenciado e receber detalhes sobre execuções de DAG e tarefas do Airflow.

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, é possível 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.

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. 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. Enable the Managed Airflow API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. Instale a CLI do Google Cloud.

  6. Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.

  7. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  8. 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

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

  10. Enable the Managed Airflow API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  11. Instale a CLI do Google Cloud.

  12. Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.

  13. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init

Funções exigidas

Para receber as permissões necessárias para ativar o servidor MCP do Serviço Gerenciado para Apache Airflow, 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 Gerenciado para Apache Airflow:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.

Autenticação e autorização

O servidor MCP remoto do Serviço Gerenciado para Apache Airflow 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.

Recomendamos que você crie uma identidade separada para agentes que usam 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 Serviço gerenciado para Apache Airflow

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 Serviço gerenciado para Apache Airflow tem os seguintes escopos OAuth da ferramenta MCP:

URI de escopo para a CLI gcloud Descrição
https://www.googleapis.com/auth/cloudcomposer.readonly Permite o acesso apenas para leitura de dados.
https://www.googleapis.com/auth/cloudcomposer Permite acesso para ler e modificar dados.

Configurar um cliente MCP para usar o servidor MCP do Serviço gerenciado para Apache Airflow

Aplicativos e agentes de IA, como a CLI do Claude ou do Gemini, podem instanciar um cliente do MCP que se conecta a um único servidor do 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 o URL dele.

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 Serviço gerenciado para Apache Airflow, insira o seguinte conforme necessário:

  • Nome do servidor: servidor MCP do Serviço gerenciado para Apache Airflow
  • Endpoint: composer.{region}.rep.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 Serviço gerenciado para Apache Airflow.

Para orientações específicas do host sobre como configurar e se conectar ao servidor MCP, consulte o seguinte:

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

Ferramentas disponíveis

As ferramentas do MCP somente leitura têm o atributo do MCP mcp.tool.isReadOnly definido como true. Talvez você queira permitir apenas ferramentas de leitura em determinados ambientes usando a política da organização.

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

Ferramentas de lista

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

POST /mcp HTTP/1.1
Host: composer.{region}.rep.googleapis.com/mcp
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 gerenciado para Apache Airflow:

Descrever o status do ambiente

Neste exemplo de caso de uso, você faz perguntas sobre ambientes no seu projeto.

Encontre todos os ambientes do Airflow Gerenciado em us-central1 que não estão em execução no momento. Se algum deles estiver no estado de erro, informe o horário em que esse ambiente foi atualizado pela última vez e a configuração das cargas de trabalho do ambiente.

Fluxo de trabalho: a descrição dos ambientes do Airflow gerenciado pode ser semelhante a esta.

  • Ver a lista de ambientes: o agente usa list_environments para receber a lista de ambientes na região especificada, além de informações sobre a hora da última atualização.

Criar um ambiente do Airflow gerenciado com pacotes PyPI personalizados

Neste exemplo de caso de uso, você cria um novo ambiente do Airflow Gerenciado e instala pacotes PyPI personalizados nele.

Comando de exemplo:

Crie um ambiente do Airflow gerenciado (Geração 3) com o Airflow 2 no meu projeto. Em seguida, instale o pacote nltk[machine_learning] nele. Use o exemplo example-account@example-project.iam.gserviceaccount.com conta de serviço do ambiente.

Fluxo de trabalho: a criação de um ambiente Airflow gerenciado e a instalação de pacotes PyPI personalizados nele podem ser semelhantes ao seguinte.

  • Criar um ambiente: o agente usa create_environment para criar um novo ambiente com os parâmetros de configuração fornecidos. O agente pergunta sobre outros parâmetros de configuração, como a lista de endereços IP que podem acessar a interface do Airflow.

  • Instalar pacotes: o agente chama manage_pypi_packages para instalar o pacote PyPI especificado.

Como resolver problemas de execuções e tarefas de DAG com falha

Verifique o ambiente do Airflow gerenciado example-environment-name em us-central1. A example_dag está falhando, e quero saber por quê e em qual tarefa especificamente. Informe também sobre outros DAGs que falharam nesse ambiente nas últimas 24 horas.

Fluxo de trabalho: a solução de problemas de execuções de DAG com falha pode ser semelhante a esta.

  • Receber execuções de DAG com falha: o agente usa find_last_failed_dag_runs para receber a lista de execuções de DAG com falha do DAG example_dag no ambiente especificado. O agente usa a mesma ferramenta para receber a lista de todas as execuções de DAG com falha.

  • Inspecione a execução do DAG com falha: o agente chama list_failed_task_instances para receber a lista de instâncias de tarefa da execução do DAG que estão no estado de falha.

  • Analisar registros de tarefas com falha: o agente usa o get_task_instance para obter os detalhes da instância de tarefa com falha, incluindo os dados necessários para recuperar registros.

  • Inspecione o código-fonte do DAG: o agente usa get_dag_source_code para analisar o código-fonte da tarefa com falha e encontrar erros.

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 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 de forma proativa 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.

Configure uma configuração do Model Armor Floor 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 aplicação.
  • MEDIUM_AND_ABOVE: o nível de confiança das 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 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 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 de negação do IAM

As políticas de negação do Identity and Access Management (IAM) ajudam a proteger os servidores MCP remotos do Google Cloud . 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