Model Context Protocol · GA4 Admin API + Data API v1
Um servidor MCP que liga o Claude às suas properties GA4 — audite key events e retenção, rode relatórios core e realtime, marque conversões, registre dimensões custom e linke o Google Ads sem abrir a UI do Analytics. Login Google embutido. Status: LIVE.
O MCP GA4 B2 TECH é um servidor Model Context Protocol que dá ao Claude acesso real às suas properties — não um chatbot que adivinha, mas chamadas tipadas nas duas APIs oficiais do Google Analytics 4.
Audite a hierarquia conta → property → stream, key events, dimensões custom e retenção pela Admin API; rode relatórios core e realtime pela Data API. "Quem está no site agora?" vira uma chamada, não um palpite.
Os MCPs irmãos (Meta Ads, Google Ads, GTM, Cloudflare, Instagram) criam campanha, tag e tracking; o GA4 audita a property, cria o que falta, linka o Google Ads e lê o resultado. Tudo numa conversa.
Deploy multi-tenant em mcp-ga4-one.vercel.app — OAuth 2.1 Authorization Server embutido com login Google nativo, tokens cifrados em Supabase dedicado, cache no Upstash. Mesmo stack dos MCPs irmãos.
36 tools agrupadas por função — da auditoria da property ao relatório realtime, do key event ao link com o Google Ads. Tudo abaixo já está implementado e no ar.
G-.last_28d etc.), com filtro, ordenação e limite. Linhas voltam flat e coeridas.G-.once_per_event / once_per_session).2m/14m) — encolher a janela apaga dados antigos permanentemente.confirm) — o import de conversões para.confirm) — também é o caminho de rotação.Do raio-X ao resultado numa conversa: auditar a property → criar o que falta → create_google_ads_link → run_report.
Retenção, conversões e definições custom mexem com dados que não voltam — por isso cada write passa por barreiras explícitas, herdadas dos MCPs irmãos.
preview=true por padrão
Todo write devolve o payload exato que seria enviado sem chamar a API. Só executa quando você passa preview=false.
Irreversíveis exigem confirm=true
delete_key_event, os archive_* e update_data_retention — que avisa que encolher a janela apaga dados antigos. Sem confirm, devolvem um aviso e não executam nada.
Validação local antes de qualquer chamada
Ids precisam ser resource names numéricos (defesa contra path injection); enums aceitam aliases amigáveis (web, 2m) e rejeitam o resto com a lista permitida; regras de naming do GA4 são checadas com mensagem clara.
Tenant nunca é argumento
O tenant é derivado da sua conta Google e resolvido por request. Nenhuma tool aceita "de qual cliente" — impossível operar a property errada.
Tokens cifrados, logs limpos
Refresh tokens com AES-256-GCM em Supabase dedicado, RLS default-deny em todas as tabelas; logs JSON sem PII (email só como SHA-256) e erros sanitizados — payload cru do Google nunca vaza.
Least privilege nos escopos
Só analytics.readonly e analytics.edit (+ openid/email/profile). Escopos de gestão de usuários não são pedidos — o MCP não mexe em quem acessa sua conta.
Servidor hospedado e multi-tenant, zero setup: adicione o connector, faça login com sua conta Google e o Claude já opera suas properties. Depois, é só pedir.
Adicione o servidor MCP como connector no Claude e faça login no Google. Nada para instalar; um login resolve tudo.
https://mcp-ga4-one.vercel.app/api/mcp. No Claude Code, use o comando abaixo.# Claude Code claude mcp add --transport http \ ga4 https://mcp-ga4-one.vercel.app/api/mcp
/mcp. Aluno B2Tech com o mesmo email da compra? O acesso vincula sozinho — senão, rode connect_hotmart.ga4_token_status para validar a credencial e list_accounts para ver suas contas GA4. Pronto para operar.Pedidos reais que o servidor resolve de ponta a ponta — writes sempre em preview primeiro.
# você, no chat: "Audita a property 123: quais key events existem e qual a retenção de dados?" # → raio-X completo via Admin API
"Sessões e usuários ativos por dia nos
últimos 28 dias" · "Quem está no site agora?"
# → run_report + run_realtime_report"Marca generate_lead como conversão e
linka o Google Ads 123-456-7890"
# → preview primeiro; executa com preview=falseFicou alguma dúvida? Escreva para bruno@b2tech.io.
connect_hotmart envia um código de 6 dígitos para o email da compra e confirm_hotmart conclui o vínculo.preview=true — a tool devolve o payload exato sem chamar a API e só executa com preview=false. Irreversíveis (delete_key_event, archive de dimensões/métricas custom, update_data_retention) exigem confirm=true e carregam destructiveHint; encolher a janela de retenção avisa explicitamente que apaga dados antigos de forma permanente.mcp-ga4-one.vercel.app) e o código-fonte é privado — não existe versão para rodar na sua máquina. Você só adiciona o connector no Claude e faz login com sua conta Google; nós cuidamos do resto.analytics.readonly, analytics.edit, openid, email e profile. Escopos de gestão de usuários (analytics.manage.users) não são pedidos — o MCP não tem como mexer nas permissões de acesso da sua conta.run_report cruza métricas × dimensões num período (presets como last_28d ou datas explícitas), com filtro, ordenação e limite; run_realtime_report mostra os últimos 30 minutos. get_metadata lista todas as dimensões/métricas válidas da property (inclusive as custom) e check_compatibility diz se uma combinação funciona — sem queimar quota de report._truncated informativa — não é erro, é a cauda cortada para caber no contexto.Properties, streams, key events, dimensões custom, link com o Google Ads e relatórios core + realtime — do raio-X ao resultado numa conversa, com writes em preview e irreversíveis travados por confirm=true.
36 tools · login Google · multi-tenant na Vercel