MCP META ADS B2 TECH

Model Context Protocol · Meta Marketing API — Graph v25

Comande suas campanhas
direto pelo Claude.

Um servidor MCP que liga o Claude à Meta Marketing API — leia insights com ROAS por campanha, crie campanhas, conjuntos, anúncios e criativos, duplique o que funciona e mande conversões server-side (CAPI), sem abrir o Gerenciador de Anúncios. Login Meta embutido, token que não expira. Status: LIVE.

29 tools · Graph API v25 · login Meta · multi-tenant

Meta Marketing API — Graph v25 Writes nascem em PAUSED Insights com resumo context-safe CAPI server-side · PII hasheada Token BISU: não expira confirm=true para pausar Multi-tenant na Vercel Meta Marketing API — Graph v25 Writes nascem em PAUSED Insights com resumo context-safe CAPI server-side · PII hasheada Token BISU: não expira confirm=true para pausar Multi-tenant na Vercel
O que é

Sua conta de anúncios, operada em linguagem natural

O MCP META ADS B2 TECH é um servidor Model Context Protocol que dá ao Claude acesso real às suas contas de anúncio — não um chatbot que adivinha, mas chamadas tipadas na Meta Marketing API (Graph v25).

Conexão real

Claude fala com a sua conta de anúncios

Liste contas, campanhas, conjuntos, anúncios, criativos, páginas e pixels; leia insights síncronos com resumo que cabe no contexto ou rode relatórios assíncronos para períodos grandes. "Qual o ROAS das campanhas ativas?" vira uma chamada, não um palpite.

O loop completo

Fecha o loop de mídia da frota

Os MCPs irmãos (GA4, Google Ads, GTM, Cloudflare, Instagram) medem, taggeiam e publicam; o Meta Ads cria a campanha, sobe o criativo, lê o resultado e devolve a conversão via CAPI. Tudo numa conversa.

Status

LIVE em produção

Deploy multi-tenant em mcp-meta-ads-alpha.vercel.app — OAuth 2.1 Authorization Server embutido com Login for Business da Meta, tokens cifrados em Supabase, cache no Upstash. Mesmo stack dos MCPs irmãos.

O que ele já faz

O catálogo completo de ferramentas

29 tools agrupadas por função — da descoberta da conta ao relatório de ROAS, do criativo à conversão server-side. Tudo abaixo já está implementado e no ar.

Auth & onboarding

5 tools
  • meta_loginInicia o Login for Business da Meta (consentimento no browser).
  • meta_token_statusDiz se a credencial é válida e o que ela alcança.
  • meta_refresh_tokenRenova a credencial quando aplicável (BISU nem precisa — não expira).
  • connect_hotmartVincula sua compra de aluno: envia um código de 6 dígitos pro email da compra.
  • confirm_hotmartConfirma o código e libera o acesso.

Descoberta

7 tools
  • list_ad_accountsTodas as contas de anúncio que a credencial enxerga.
  • list_campaignsCampanhas de uma conta, com objetivo e status.
  • list_adsetsConjuntos de anúncios, com orçamento e otimização.
  • list_adsAnúncios, com status efetivo de veiculação.
  • list_creativesCriativos da conta.
  • list_pagesPáginas que a credencial administra.
  • list_pixelsPixels da conta — insumo direto do CAPI.

Insights

2 · destaque
  • get_insightsUma linha por campanha/conjunto/anúncio com spend, cliques, CPC, purchases e ROAS — resumo que cabe no contexto. Filtre por effective_status=["ACTIVE"] server-side, numa chamada só.
  • run_insights_reportRelatório assíncrono para períodos grandes ou muitos objetos.

Criação — nasce PAUSED

5 tools
  • create_campaignCria a campanha com objetivo — pausada.
  • create_adsetSegmentação, orçamento e otimização — pausado.
  • create_adLiga criativo ao conjunto — pausado.
  • create_creativeCriativo de link (object_story_spec), imagem por URL/hash, enhancements Advantage+ opt-in por feature.
  • create_pixelCria um pixel novo na conta.

Otimização

3 tools
  • update_campaignAltera nome, orçamento ou status (update parcial).
  • update_adsetAjusta orçamento, lances e segmentação.
  • update_adTroca nome, status ou criativo do anúncio.

Pausar

3 · confirm=true
  • pause_campaignSem confirm, devolve o preview do que seria pausado — e não executa.
  • pause_adsetMesma trava: preview primeiro, pausa só com confirm=true.
  • pause_adIdem — nada sai do ar por acidente.

Duplicação

3 tools
  • copy_campaignDuplica a campanha campeã — a cópia nasce pausada.
  • copy_adsetDuplica um conjunto no mesmo lugar ou em outra campanha.
  • copy_adDuplica um anúncio para outro conjunto.

Conversões — CAPI

1 · server-side
  • send_capi_eventPosta eventos na Conversions API com o token do próprio tenant — sem token do Events Manager. PII normalizada + SHA-256 no servidor; event_id uuid4 para dedup com o Pixel; test_event_code mira a aba Test Events.

Do diagnóstico ao resultado numa conversa: get_insights → duplicar o que funciona → subir criativo novo → send_capi_event fechando a medição.

Modelo de segurança dos writes

O Claude não gasta seu orçamento sozinho

Campanha ativa é dinheiro saindo — por isso cada write passa por barreiras explícitas, herdadas dos MCPs irmãos.

Writes nascem em PAUSED

create_campaign, create_adset, create_ad e as cópias entregam o objeto pausado. Nada entra em veiculação sem você mandar ativar explicitamente.

Pausar exige confirm=true

pause_campaign, pause_adset e pause_ad sem confirm devolvem um preview do que seria pausado e não executam nada — nada sai do ar por acidente.

Token BISU cifrado, logs limpos

O login emite um token de System User (BISU) que não expira, cifrado com AES-GCM no Supabase com RLS default-deny. Nenhuma tool devolve token; os loggers HTTP são silenciados para ele nunca vazar.

appsecret_proof em toda chamada

Toda request ao Graph vai assinada, com retry/backoff limitado. Erros da Meta viram mensagens seguras com dica de "o que fazer" — payload cru e token nunca chegam ao modelo.

PII hasheada no CAPI

Identificadores do send_capi_event são normalizados e hasheados (SHA-256) no servidor — nunca logados nem ecoados. event_id uuid4 por padrão para dedup com o Pixel do browser.

Tenant nunca é argumento

O tenant é derivado do seu login Meta e resolvido por request. Nenhuma tool aceita "de qual cliente" — impossível operar a conta errada. OAuth com PKCE e validação de state.

Como conectar

Em pé em poucos minutos

Servidor hospedado e multi-tenant, zero setup: adicione o connector, faça login com sua conta Meta e o Claude já opera suas campanhas. Um login só — o token não expira.

Zero setup

Hospedado — mcp-meta-ads-alpha.vercel.app

Adicione o servidor MCP como connector no Claude e faça login na Meta. Nada para instalar; um login resolve tudo.

  1. Adicione o connector. No Claude.ai → Configurações → Conectores → Adicionar conector personalizado, cole https://mcp-meta-ads-alpha.vercel.app/api/mcp. No Claude Code, use o comando abaixo.
    # Claude Code
    claude mcp add --transport http \
      meta-ads https://mcp-meta-ads-alpha.vercel.app/api/mcp
  2. Faça login na Meta. O handshake OAuth abre o Login for Business automaticamente; no Claude Code, complete via /mcp. O login emite um token que não expira — um login, acesso durável, CAPI incluído. Aluno B2Tech com o mesmo email da compra? O acesso vincula sozinho — senão, rode connect_hotmart.
  3. Confirme. Rode meta_token_status para validar a credencial e list_ad_accounts para ver suas contas de anúncio. Pronto para operar.
Primeiros passos

O que pedir ao Claude

Pedidos reais que o servidor resolve de ponta a ponta — criação sempre nasce pausada.

  1. Reporte.
    # você, no chat:
    "Quanto gastei por campanha ativa nos
     últimos 7 dias e qual foi o ROAS?"
    # → get_insights level=campaign, só ACTIVE
  2. Crie.
    "Cria uma campanha de conversão com um
     conjunto pra esse público e este criativo"
    # → tudo nasce PAUSED; você ativa quando quiser
  3. Converta.
    "Duplica o conjunto campeão e manda um
     Purchase de teste pro pixel"
    # → copy_adset + send_capi_event (PII hasheada)

Perguntas frequentes

Ficou alguma dúvida? Escreva para bruno@b2tech.io.

Quanto custa?
O MCP Meta Ads é um benefício exclusivo para alunos do treinamento Claude Code Architect: o acesso ao servidor hospedado é liberado por compra ativa na Hotmart. Se o email do seu login Meta for o mesmo da compra, o vínculo é automático; senão, connect_hotmart envia um código de 6 dígitos para o email da compra e confirm_hotmart conclui o vínculo. Ainda não é aluno? Conheça o treinamento em claude-code.b2tech.io.
É seguro? O Claude pode gastar meu orçamento sozinho?
Não. Todo objeto criado (campanha, conjunto, anúncio) nasce PAUSED — ativação é sempre um pedido explícito seu. E pausar o que está rodando exige confirm=true: sem ele, as tools pause_* devolvem um preview do que seria pausado e não executam nada.
Preciso instalar alguma coisa?
Não. O servidor é hospedado e multi-tenant (mcp-meta-ads-alpha.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 Meta; nós cuidamos do resto.
O login expira?
Não. O Login for Business configurado emite tokens de System User de Integração de Negócios (BISU) que não expiram — um login, acesso durável, CAPI incluído. Se a credencial for revogada na Meta, meta_token_status aponta o problema e meta_login refaz o vínculo.
Onde ficam meus tokens?
Cifrados com AES-GCM num projeto Supabase com RLS default-deny em todas as tabelas. O tenant é derivado do seu login Meta e resolvido por request — nenhuma tool aceita token ou tenant como argumento. Toda chamada ao Graph vai assinada com appsecret_proof, e os logs estruturados não carregam PII nem token.
Como leio métricas sem estourar o contexto?
get_insights com o resumo padrão devolve spend, cliques, CPC, purchases e ROAS já achatados — uma linha por campanha/conjunto/anúncio — e filtra por effective_status=["ACTIVE"] server-side, numa chamada só. Relatórios grandes voltam com a cauda de baixo gasto cortada numa linha _truncated informativa — não é erro. Para períodos longos ou muitos objetos, run_insights_report roda assíncrono.
Posso mandar conversões sem o token do Events Manager?
Sim. send_capi_event posta eventos na Conversions API usando o token do próprio tenant — nenhum token do Events Manager é necessário. A PII é normalizada e hasheada (SHA-256) no servidor, nunca logada nem devolvida; event_id sai como uuid4 por padrão para dedup com o Pixel do browser; test_event_code direciona o evento para a aba Test Events antes de ir para produção.
Comece agora

Pare de clicar no Gerenciador de Anúncios.
Peça ao Claude e ele cria, otimiza e reporta.

Campanhas, conjuntos, anúncios, criativos, duplicação do que funciona, insights com ROAS e conversões server-side — do diagnóstico ao resultado numa conversa, com writes nascendo em PAUSED e pausa travada por confirm=true.

29 tools · login Meta · multi-tenant na Vercel