Model Context Protocol · Google Ads API v24+
Um servidor MCP que liga o Claude às suas contas Google Ads — leitura, relatórios, pesquisa de keywords e criação de campanhas de Search, com login OAuth embutido. Status: LIVE.
O MCP Google Ads é um servidor Model Context Protocol que dá ao Claude acesso real às suas contas — não um chatbot que adivinha, mas chamadas tipadas na Google Ads API REST (v24+).
Liste campanhas, puxe relatórios de gasto e conversão, pesquise keywords e crie campanhas de Search — tudo conversando com o Claude. O login do Google é OAuth2, embutido no fluxo.
Domínio, aplicação e infraestrutura separados; cliente httpx async puro, sem gRPC. O mesmo core roda local em stdio (single-tenant) ou multi-tenant na Vercel.
Deploy multi-tenant em gamcp.vercel.app — tokens no Supabase, cache no Upstash, e nós somos o OAuth Authorization Server. O modo local guarda o refresh token num arquivo 0600.
37 tools agrupadas por função — da autenticação aos relatórios GAQL, da pesquisa de keywords ao funil de Search que nasce pausado. Tudo abaixo já está implementado e no ar.
confirm).confirm).confirm).confirm).confirm).Há também um prompt MCP analyze_account_performance para relatórios guiados.
Escrever no Google Ads mexe com dinheiro real. Por isso cada write passa por barreiras explícitas — você está sempre no controle do que vira gasto.
Criações nascem PAUSED
Nada gasta até você ativar explicitamente. Toda campanha, grupo e anúncio criado já vem pausado.
Status exige confirm=true
Mudar status é destrutivo. Sem confirm, a tool devolve um preview e não faz nenhuma chamada HTTP.
preview=true = dry-run
Roda um validateOnly server-side: valida a operação sem persistir nada. Cheque antes de executar de verdade.
Sem auto-rollback
O funil é não-atômico: se falhar no meio, devolve os recursos já criados (PAUSED) e onde parou — não apaga nada sozinho.
Dinheiro em unidades
Orçamentos vêm em unidades de moeda (20.0 = R$20/dia) e são convertidos para micros no use case. Sem confusão de centavos.
Whitelist de escopos
A credencial só acessa o que você autorizou no consentimento OAuth — e o google_token_status mostra exatamente quais escopos estão ativos.
Dois caminhos: o hospedado (recomendado, zero setup) e o local stdio (para devs single-tenant). Os dois terminam no mesmo lugar — o Claude operando sua conta.
Adicione o servidor MCP como connector no Claude e faça login. Nada para instalar; nós cuidamos do developer token e dos tokens OAuth.
# Claude Code claude mcp add --transport http \ google-ads https://gamcp.vercel.app
google_login — abre o consentimento no browser e guarda seu refresh token com segurança.google_token_status para validar a credencial e list_accessible_customers para ver suas contas. Pronto para operar.Rode o servidor na sua máquina. O refresh token fica num arquivo 0600 local; você usa seu próprio developer token da MCC.
python -m venv venv
venv/bin/pip install -e ".[dev]"
cp .env.example .env.local.env.local: GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_ADS_DEVELOPER_TOKEN e NGROK_URL (túnel público para o callback OAuth).PYTHONPATH=src venv/bin/python \
-m mcp_google_ads
# depois, no Claude: google_loginFicou alguma dúvida? Escreva para bruno@b2tech.io.
confirm=true; sem confirm, a ferramenta só devolve um preview e não faz nenhuma chamada HTTP.gamcp.vercel.app) o token de plataforma já está configurado; você só faz o login OAuth da sua conta.0600 na sua máquina (single-tenant).list_accessible_customers lista todas, e o manager/login-customer é resolvido automaticamente por credencial no google_login.validateOnly): valida a operação sem persistir nada. Útil para checar um write antes de executá-lo de verdade.gamcp.vercel.app) é o caminho rápido: zero setup, é só adicionar como connector no Claude e logar. Local stdio é single-tenant, para devs que querem rodar tudo na própria máquina com o refresh token num arquivo 0600.Leitura, relatórios, keyword research e campanhas de Search — com OAuth embutido e writes que nascem pausados. Grátis e no ar.
37 tools · OAuth2 embutido · multi-tenant na Vercel