Servidor MCP do Google Ads: guia de integração para desenvolvedores

O Protocolo de Contexto de Modelo (MCP) é um padrão aberto que permite que modelos de linguagem grandes (LLMs) interajam com segurança com dados e aplicativos externos. O servidor MCP do Google Ads fornece uma ponte padronizada para a API Google Ads. Ele permite que os agentes de IA recuperem e analisem dados da conta, criem recursos, façam upload de vídeos e gerenciem rótulos usando linguagem natural.

Recursos e suporte da comunidade

Visão geral técnica

A integração do servidor MCP do Google Ads elimina a necessidade de escrever código personalizado para autenticação da API Google Ads, busca de recursos, análise de dados e mutações de recursos ou rótulos compatíveis. O servidor expõe ferramentas chamáveis e recursos de referência (consulte Recursos principais) que um LLM pode inspecionar e invocar.

Principais especificações

  • Protocolo: MCP (Protocolo de Contexto de Modelo)
  • Modo: leitura e mutação parcial (criação de recursos, uploads de vídeos e gerenciamento de rótulos com validação de proposta e confirmação ou modo somente leitura configurável)
  • Linguagem: Python 3.10 ou mais recente
  • Transporte: entrada padrão (stdio) ou HTTP transmissível (streamable-http no Cloud Run)
  • Autenticação: Application Default Credentials (credenciais de usuário do OAuth 2.0 ou conta de serviço) para stdio local ou credenciais de aplicativo da Web do OAuth 2.0 para HTTP remoto.

Como funciona o ciclo de interação

  1. Solicitação: você envia um comando como "Como está a performance da minha campanha esta semana?" ou "Crie um recurso de frase de destaque para nossa promoção de verão".
  2. Descoberta: o LLM inspeciona as ferramentas e os recursos disponíveis e seleciona uma ferramenta google-ads-mcp correspondente.
  3. Validação de execução ou simulação: as ferramentas de leitura consultam a API Google Ads diretamente. As ferramentas de mutação são executadas primeiro no modo de proposta (validate_only=True) para validar as entradas sem confirmar as mudanças (consulte Fluxo de trabalho de segurança de proposta e confirmação).
  4. Injeção de contexto: o servidor MCP retorna resultados de consulta estruturados ou entradas change_items propostas e um resumo de verificação checksum para a janela de contexto do LLM.
  5. Resposta e confirmação: o LLM apresenta uma resposta ou pede que você confirme as mudanças propostas. Depois que você aprova, o LLM chama a ferramenta de mutação novamente com validate_only=False e o valor checksum correspondente para confirmar a mudança.

Primeiros passos

Siga estas etapas para configurar e executar o servidor MCP do Google Ads localmente. Para implantar um serviço remoto compartilhado, consulte Implantação no Google Cloud.

Pré-requisitos

Antes de configurar o servidor, conclua os seguintes pré-requisitos no ambiente local e no console do Google Cloud:

  • Projeto do Google Cloud: crie ou selecione um projeto do Google Cloud com a API Google Ads ativada. A ativação da API concede acesso de teste para testar fluxos de trabalho de leitura e mutação em contas de teste. Para acessar contas de produção, consulte a página de visão geral da API Google Ads para acesso Explorer, Básico ou Padrão ou solicite um desses níveis de acesso. Caso contrário, as chamadas de produção vão falhar com um erro AuthorizationError.CLOUD_PROJECT_NOT_APPROVED_FOR_PRODUCTION. O Google vai desativar os tokens de desenvolvedor (GOOGLE_ADS_DEVELOPER_TOKEN) em 9 de setembro de 2026. O projeto na nuvem do Google Cloud que possui seu cliente OAuth ou sua conta de serviço determina o nível de acesso à API.
  • Credenciais: o modo stdio local é autenticado com o Application Default Credentials (ADC) de um arquivo JSON de chave secreta do cliente OAuth 2.0 ou de uma conta de serviço no projeto na nuvem. Defina a variável de ambiente GOOGLE_CLOUD_PROJECT quando necessário para especificar a cota padrão ou o projeto do ADC. As implantações remotas do streamable-http exigem um ID do cliente e uma chave secreta do cliente do aplicativo da Web do OAuth 2.0 (consulte Implantar no Google Cloud Run).
  • Software local (para o modo stdio): instale o Python 3.10 ou mais recente, o pipx e a ferramenta de linha de comando gcloud (usada para gerar arquivos ADC do usuário).

Configuração

  1. Gere o Application Default Credentials (ADC) usando um cliente OAuth do seu projeto na nuvem do Google com a API ativada e inclua o escopo da API Google Ads:

    gcloud auth application-default login \
      --scopes=https://www.googleapis.com/auth/adwords,https://www.googleapis.com/auth/cloud-platform \
      --client-id-file=PATH_TO_CLIENT_SECRET_JSON
    

    Substitua:

    • PATH_TO_CLIENT_SECRET_JSON: o caminho para o arquivo JSON da chave secreta do cliente OAuth 2.0.

    Esse comando mostra Credentials saved to file: [PATH_TO_CREDENTIALS_JSON] (como ~/.config/gcloud/application_default_credentials.json no Linux e no macOS). Para autenticar com uma conta de serviço, pule esta etapa e aponte GOOGLE_APPLICATION_CREDENTIALS para o arquivo JSON da chave da conta de serviço ou transmita --impersonate-service-account para gcloud auth application-default login.

  2. Adicione o servidor ao arquivo de configuração do MCP do host (como ~/.gemini/config/mcp_config.json, ~/.gemini/settings.json ou ~/.claude/settings.json):

    {
      "mcpServers": {
        "google-ads-mcp": {
          "command": "pipx",
          "args": [
            "run",
            "--spec",
            "google-ads-mcp==0.0.6",
            "google-ads-mcp"
          ],
          "env": {
            "GOOGLE_CLOUD_PROJECT": "PROJECT_ID",
            "GOOGLE_APPLICATION_CREDENTIALS": "PATH_TO_CREDENTIALS_JSON"
          }
        }
      }
    }
    

    Substitua:

    • PROJECT_ID: é seu ID do projeto no Google Cloud.
    • PATH_TO_CREDENTIALS_JSON: o caminho para o arquivo JSON do ADC impresso na etapa 1 ou para o arquivo JSON da chave da conta de serviço. É possível omitir GOOGLE_APPLICATION_CREDENTIALS ao usar o local padrão do arquivo ADC gcloud.

    Para acessar contas de cliente usando uma conta de administrador, defina GOOGLE_ADS_LOGIN_CUSTOMER_ID (10 dígitos, sem hifens) em env ou transmita o parâmetro login_customer_id em chamadas de ferramenta individuais.

Opcional: equipe seu agente com habilidades e o Assistente para Desenvolvedores

O servidor MCP do Google Ads oferece ao seu cliente de IA acesso em tempo real aos dados de relatórios da conta, além de ferramentas de criação de recursos, upload de vídeos e gerenciamento de rótulos. Combine o servidor MCP com as seguintes ferramentas complementares para ajudar seu agente a criar consultas válidas da linguagem de consulta do Google Ads (GAQL) e diagnosticar mudanças na performance da conta. Essas ferramentas também geram código de biblioteca de cliente, como scripts para vincular recursos criados a campanhas ou realizar outras mutações não compatíveis:

  • Habilidades do agente da API Google Ads: módulos de fluxo de trabalho portáteis (incluindo google-ads-api-mcp-setup, google-ads-api-account-diagnostics e google-ads-api-quickstart) que ajudam seu agente a usar o servidor MCP do Google Ads com menor sobrecarga de tokens. Execute o comando a seguir para instalá-los (requer o Node.js) ou consulte o guia de habilidades do agente da API Google Ads para configurar o Antigravity, o Claude Code, o Codex e o Cursor:

    npx skills add google/skills/skills/ads
    
  • Assistente para desenvolvedores da API Google Ads: um plug-in modular para o Google Antigravity e o Claude Code que oferece inspeção de esquema Protobuf local, validação de GAQL, geração de código de biblioteca de cliente e solução de problemas de conversão off-line. Leia O que é o Assistente para Desenvolvedores da API Google Ads? ou siga o guia de instalação.

Recursos principais

As seções a seguir descrevem as ferramentas de leitura, de mutação parcial e os recursos de referência do servidor. A partir do v0.0.6, as ferramentas são registradas por padrão com o prefixo de namespace da categoria (como search_search). Ao fazer upgrade de comandos ou listas de permissões de versões sem prefixo, atualize os nomes das ferramentas ou defina um prefixo vazio ("") em tools_config.yaml (consulte Configurar namespaces de ferramentas e modo somente leitura).

Ferramentas de leitura

  • customers_list_accessible_customers (ferramenta list_accessible_customers): retorna os IDs de cliente do Google Ads diretamente acessíveis ao usuário autenticado.
  • search_search (ferramenta search): cria e executa consultas SearchStream da GAQL com base em parâmetros estruturados (customer_id, resource e fields, além dos opcionais conditions, orderings, limit e login_customer_id) em vez de uma string GAQL bruta. Cada consulta anexa PARAMETERS omit_unselected_resource_names=true para buscar atributos, métricas, segmentos, orçamentos e status de recursos de forma limpa.
  • metadata_get_resource_metadata (ferramenta get_resource_metadata): recupera atributos, métricas e segmentos selecionáveis, filtráveis e classificáveis para um tipo de recurso da API Google Ads (por exemplo, "campaign"). Use esses metadados para descobrir campos de consulta válidos, incluindo métricas e segmentos adicionados em versões secundárias, como a v26.2, antes de chamar a ferramenta search_search.

Ferramentas de mutação (suporte parcial)

  • assets_create_asset (ferramenta create_asset): cria recursos independentes do Google Ads com parâmetros dedicados para os tipos de recursos TEXT, IMAGE, YOUTUBE_VIDEO, SITELINK, CALLOUT e STRUCTURED_SNIPPET. Transmita o dicionário extra_params para outros tipos mutáveis de AssetService (como PRICE, PROMOTION, CALL ou BUSINESS_MESSAGE) e inclua final_urls no nível raiz com sitelink_link_text para recursos SITELINK. Os caminhos de arquivo locais (image_asset_path) funcionam apenas no modo stdio local. Para implantações HTTP remotas, transmita o parâmetro image_asset_data codificado em Base64 com image_asset_mime_type definido como IMAGE_PNG, IMAGE_JPEG ou IMAGE_GIF (até 20 MB).
  • assets_upload_video_asset (ferramenta upload_video_asset): faz upload de um arquivo de vídeo local (.3gp, .avi, .flv, .mkv, .mov, .mp4, .mpeg, .mpg, .ogg, .webm ou .wmv) para o YouTube usando a API Google Ads apenas no modo local stdio. video_title e video_description são parâmetros obrigatórios, e a privacidade é definida como UNLISTED por padrão (ou PUBLIC em brand channels de anunciantes com OAuth do usuário). Essa ferramenta retorna um valor video_upload_id do Google Ads (e o nome do recurso), não o video_id do YouTube de 11 caracteres. Consulte you_tube_video_upload com a ferramenta search_search (filtrando por you_tube_video_upload.video_upload_id) até you_tube_video_upload.state = 'PROCESSED'. Em seguida, transmita you_tube_video_upload.video_id como o parâmetro youtube_video_id para assets_create_asset (asset_type="YOUTUBE_VIDEO").
  • labels_manage_labels (ferramenta manage_labels): cria, atualiza e remove rótulos da conta, incluindo nome, descrição e cor de fundo hexadecimal.
  • labels_manage_label_associations (ferramenta manage_label_associations): oferece suporte a operações de associação de rótulos CREATE e REMOVE (UPDATE não é compatível) em recursos CAMPAIGN, CUSTOMER, AD_GROUP e AD_GROUP_CRITERION. Para recursos CUSTOMER, resource_id é opcional e o padrão é customer_id. Transmita um ID composto de {ad_group_id}~{criterion_id} para recursos AD_GROUP_CRITERION e remova associações transmitindo resource_id e label_id ou association_resource_name. Os rótulos AD_GROUP_AD no nível do anúncio não são aceitos.

Recursos de referência

O servidor expõe quatro recursos MCP somente leitura que permanecem montados, independentemente das suas configurações de tools_config.yaml:

  • resource://discovery-document: visão geral da descoberta REST JSON dos recursos, métodos de serviço e esquemas da API Google Ads. Ele complementa a ferramenta metadata_get_resource_metadata, que retorna campos de consulta da GAQL selecionáveis, filtráveis e classificáveis.
  • resource://metrics: documentação de referência em HTML para métricas da API Google Ads.
  • resource://segments: documentação de referência em HTML para segmentos da API Google Ads.
  • resource://release-notes: notas da versão em HTML da API Google Ads que abordam mudanças de versão e novos recursos.

Fluxo de trabalho de segurança de proposta e confirmação

Todas as ferramentas de mutação (assets_create_asset, assets_upload_video_asset, labels_manage_labels e labels_manage_label_associations) aplicam um fluxo de trabalho de duas etapas de proposta e confirmação para evitar modificações não intencionais na conta:

  1. Propor (validate_only=True, padrão): valida as entradas sem confirmar as mudanças. As ferramentas de recursos e rótulos executam uma simulação em tempo real da API Google Ads validate_only. Como o YouTubeVideoUploadService não tem modo de teste, o assets_upload_video_asset valida o arquivo local e vincula o tamanho e o carimbo de data/hora de modificação dele. Cada ferramenta retorna entradas change_items legíveis por humanos e um resumo SHA-256 checksum sem estado vinculado ao parâmetro customer_id e ao payload da solicitação.
  2. Confirmar (validate_only=False): depois de apresentar a lista change_items e receber sua aprovação, o agente chama a ferramenta novamente com validate_only=False, o parâmetro e os argumentos customer_id idênticos e o valor checksum da etapa 1. O servidor rejeita qualquer checksum ausente ou incompatível antes de modificar a conta.

Configurar namespaces de ferramentas e o modo somente leitura

O servidor agrupa um arquivo tools_config.yaml padrão com as cinco categorias de ferramentas (customers, search, metadata, labels e assets) ativadas. Personalize tools_config.yaml para ativar ou desativar seletivamente ferramentas ou namespaces individuais, alterar ou remover prefixos de namespace ou aplicar uma implantação estritamente somente leitura.

Na inicialização, o servidor resolve tools_config.yaml na seguinte ordem:

  1. Um caminho explícito na variável de ambiente GOOGLE_ADS_MCP_TOOLS_CONFIG (recomendado para hosts stdio locais, cujo diretório de trabalho pode ser diferente da pasta do projeto).
  2. Um arquivo tools_config.yaml no diretório de trabalho atual do servidor.
  3. O arquivo tools_config.yaml padrão incluído no pacote.

Se GOOGLE_ADS_MCP_TOOLS_CONFIG apontar para um arquivo ausente ou se algum arquivo de configuração resolvido for inválido, o servidor vai gerar um erro na inicialização em vez de usar os padrões.

O arquivo tools_config.yaml mínimo a seguir aplica uma implantação estritamente somente leitura:

namespaces:
  customers: true
  search: true
  metadata: true
  labels: false
  assets: false

O arquivo tools_config.yaml a seguir personaliza prefixos e filtra ferramentas individuais (por exemplo, expondo a ferramenta base64 create_asset no Cloud Run e desativando a ferramenta upload_video_asset somente local):

namespaces:
  # Default prefix ("customers_list_accessible_customers")
  customers: true

  # Empty prefix mounts unprefixed tool names ("search")
  search: ""

  # Custom prefix ("schema_get_resource_metadata")
  metadata: "schema"

  # Enable only specific tools in a multi-tool category
  assets:
    enabled_tools:
      - create_asset

Exemplos de comandos para começar

Teste os comandos a seguir no cliente do MCP depois de conectar o servidor.

Pergunte o que o servidor pode fazer

What can the google-ads-mcp server do?

Perguntar sobre clientes

What customers do I have access to?

Perguntar sobre campanhas

How many active campaigns do I have?
How is my campaign performance this week?
Give me a report of the top spending campaigns split by device category over the last 7 days for account 1234567890

Criar recursos, enviar vídeos e gerenciar rótulos

Create a callout asset with the text "Free Shipping" for account 1234567890
Upload /path/to/promo.mp4 with title "Summer Sale" and description "Summer promo video" for account 1234567890
Create a label named "Q4 Promo" with background color #34A853 and apply it to campaign 9876543210 in account 1234567890

Implantação no Google Cloud

Para compartilhar o servidor MCP entre vários agentes ou executá-lo como um serviço da Web, hospede-o no Google Cloud Run ou em outro provedor de infraestrutura em nuvem em vez de executá-lo localmente.

Pré-requisitos

  1. Um projeto na nuvem do Google Cloud com a API Google Ads ativada (consulte os pré-requisitos para requisitos de acesso de produção).
  2. A ferramenta de linha de comando gcloud instalada, autenticada e configurada com um projeto ativo:

    gcloud config set project PROJECT_ID
    

    Substitua:

    • PROJECT_ID: é seu ID do projeto no Google Cloud.

Criar e enviar uma imagem Docker

Use o Cloud Build para criar e enviar a imagem do contêiner para o Artifact Registry sem instalar o Docker localmente:

  1. Crie um repositório no Artifact Registry:

    gcloud artifacts repositories create mcp-servers \
      --repository-format=docker --location=us-central1
    
  2. Crie e envie a imagem de uma tag de lançamento no repositório do GitHub (ou de . em um checkout local se você personalizou Dockerfile ou tools_config.yaml):

    gcloud builds submit https://github.com/googleads/google-ads-mcp \
      --git-source-revision=v0.0.6 \
      --tag=us-central1-docker.pkg.dev/PROJECT_ID/mcp-servers/google-ads-mcp:v0.0.6
    

    Substitua:

    • PROJECT_ID: é seu ID do projeto no Google Cloud.

    Recrie e reimplante a imagem sempre que atualizar google-ads-mcp ou fizer upgrade da biblioteca de cliente do Python google-ads para novas versões da API Google Ads (como a v26.2).

Implantar no Google Cloud Run

Configure as seguintes variáveis de ambiente e secrets para o serviço do Cloud Run:

  • GOOGLE_ADS_MCP_OAUTH_CLIENT_ID: o ID do cliente do aplicativo da Web do OAuth 2.0 do seu projeto na nuvem do Google Cloud com API ativada para autenticação OAuth no nível do aplicativo. Siga estas etapas de configuração do OAuth:
    • Adicione os URIs de redirecionamento autorizados para todos os clientes de IA que você planeja conectar (como https://claude.ai/api/mcp/auth_callback, https://chatgpt.com/connector_platform_oauth_redirect ou https://antigravity.google/oauth-callback).
    • Adicione o escopo https://www.googleapis.com/auth/adwords à tela de permissão OAuth em APIs e serviços > Tela de permissão OAuth > Acesso a dados (Adicionar ou remover escopos).
    • Se o status de publicação da tela de permissão OAuth estiver definido como Teste (o padrão), adicione as Contas do Google que se conectam ao servidor MCP como Usuários de teste em APIs e serviços > Tela de permissão OAuth > Público-alvo (Usuários de teste > + Adicionar usuários).
  • GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET: a chave secreta do cliente OAuth correspondente ao ID do cliente OAuth.
  • GOOGLE_ADS_MCP_BASE_URL: o URL de base público do servidor MCP (por exemplo, https://google-ads-mcp-xyz-uc.a.run.app). O Cloud Run atribui esse URL durante a implantação inicial. Portanto, implante sem essa variável primeiro e atualize o serviço depois.
  • GOOGLE_ADS_MCP_JWT_SIGNING_KEY (recomendado para o Cloud Run de várias instâncias): um secret permanente que assina JWTs do FastMCP em reinicializações de contêiner e escalonamento horizontal.
  • GOOGLE_ADS_MCP_STORAGE_TYPE (recomendado para o Cloud Run de várias instâncias): back-end persistente para registros e tokens de cliente OAuth (redis com GOOGLE_ADS_MCP_STORAGE_REDIS_URL ou firestore). Como o Dockerfile v0.0.6 de estoque instala apenas o back-end na memória, instale py-key-value-aio[redis] ou .[firestore] em um Dockerfile personalizado primeiro. O uso de firestore também requer um banco de dados do Firestore e o papel do IAM roles/datastore.user na conta de serviço do Cloud Run. Para testes de instância única com armazenamento na memória, transmita --max-instances=1.
  • GOOGLE_ADS_LOGIN_CUSTOMER_ID (opcional): ID de cliente de administrador padrão de 10 dígitos (sem hifens) usado quando as chamadas de ferramenta omitem o parâmetro login_customer_id.
  • GOOGLE_ADS_MCP_TOOLS_CONFIG (opcional): caminho do contêiner para um arquivo tools_config.yaml personalizado (por exemplo, montado do Secret Manager em /etc/mcp/tools_config.yaml para aplicar o modo somente leitura sem recriar a imagem). Consulte Configurar namespaces de ferramentas e o modo somente leitura.

Armazene GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET e GOOGLE_ADS_MCP_JWT_SIGNING_KEY no Secret Manager e implante o serviço no Google Cloud Run:

gcloud run deploy google-ads-mcp \
  --image=us-central1-docker.pkg.dev/PROJECT_ID/mcp-servers/google-ads-mcp:v0.0.6 \
  --platform=managed \
  --region=us-central1 \
  --allow-unauthenticated \
  --set-env-vars="GOOGLE_ADS_MCP_OAUTH_CLIENT_ID=CLIENT_ID" \
  --set-secrets="GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET=MCP_OAUTH_CLIENT_SECRET:latest,GOOGLE_ADS_MCP_JWT_SIGNING_KEY=MCP_JWT_SIGNING_KEY:latest"

Depois que o Cloud Run concluir a implantação, recupere o URL de serviço atribuído e atualize o serviço com a variável de ambiente GOOGLE_ADS_MCP_BASE_URL:

gcloud run services update google-ads-mcp \
  --region=us-central1 \
  --update-env-vars="GOOGLE_ADS_MCP_BASE_URL=https://CLOUD_RUN_SERVICE_URL"

Substitua:

  • PROJECT_ID: é seu ID do projeto no Google Cloud.
  • CLIENT_ID: o ID do cliente do aplicativo da Web OAuth 2.0.
  • MCP_OAUTH_CLIENT_SECRET: o nome do secret do Secret Manager que armazena a chave secreta do cliente OAuth 2.0.
  • MCP_JWT_SIGNING_KEY: o nome do secret do Secret Manager que armazena sua chave de assinatura JWT.
  • CLOUD_RUN_SERVICE_URL: o nome do host atribuído ao serviço do Cloud Run (por exemplo, google-ads-mcp-xyz-uc.a.run.app).

Modelo de autenticação e segurança

A implantação com --allow-unauthenticated desativa a verificação do IAM da infraestrutura do Cloud Run (roles/run.invoker) para que os clientes de IA externos possam se conectar sem tokens de conta de serviço do Google Cloud. A autenticação é delegada à camada do aplicativo:

  • Quando GOOGLE_ADS_MCP_OAUTH_CLIENT_ID e GOOGLE_ADS_MCP_OAUTH_CLIENT_SECRET são definidos, o servidor aplica o OAuth 2.0 do Google em cada solicitação e retorna um código de status HTTP 401 Unauthorized para autores de chamadas não autenticados. Cada chamada de ferramenta é executada com a identidade OAuth do autor da chamada autenticado.
  • Omitir --allow-unauthenticated exige que os autores de chamada transmitam tokens de identidade do OIDC do Google Cloud em cada solicitação. Os clientes de IA padrão (como Claude e ChatGPT) usam o OAuth do usuário final em vez de tokens do IAM do Google Cloud. Portanto, as conexões diretas exigem que o --allow-unauthenticated seja pareado com o OAuth no nível do aplicativo.

Configurar o cliente MCP

Após a implantação, configure o cliente MCP com o URL do serviço do Cloud Run. Como o servidor aplica o OAuth 2.0, seu cliente precisa oferecer suporte ao fluxo OAuth do MCP ou fornecer um token do portador autorizado:

  • Clientes com OAuth ativado: em clientes que oferecem suporte à descoberta de OAuth do MCP (como o Antigravity), a conexão aciona uma solicitação de login do Google para conceder o escopo https://www.googleapis.com/auth/adwords (mostrado como .../auth/adwords no console do Google Cloud).
  • Plataformas de IA de terceiros (Claude, ChatGPT): nas configurações do conector do cliente, adicione um conector personalizado que aponte para o URL do serviço com o caminho /mcp (por exemplo, https://google-ads-mcp-xyz-uc.a.run.app/mcp). Selecione a autenticação OAuth 2.0 com o ID do cliente OAuth e a chave secreta do cliente e confirme se o URI de callback do cliente está nos URIs de redirecionamento autorizados do cliente OAuth.
  • Clientes sem suporte ao OAuth: os clientes que não são compatíveis com fluxos OAuth HTTP recebem um código de status HTTP 401 Unauthorized. Para esses clientes, use a configuração stdio local.

O exemplo a seguir configura a ferramenta de linha de comando gemini em ~/.gemini/settings.json (para o Google Antigravity em ~/.gemini/config/mcp_config.json, substitua "httpUrl" por "serverUrl" ou "url"):

{
  "mcpServers": {
    "google-ads-mcp": {
      "httpUrl": "https://CLOUD_RUN_SERVICE_URL/mcp"
    }
  }
}

Substitua:

  • CLOUD_RUN_SERVICE_URL: o nome do host atribuído ao serviço do Cloud Run (por exemplo, google-ads-mcp-xyz-uc.a.run.app).

Próximas etapas