MCP Ads

Gerencie Google Ads, Meta Ads, TikTok, LinkedIn e Microsoft Ads, além de GA4, Search Console e Tag Manager pelo Claude ou ChatGPT: relatórios de desempenho, auditorias e edições de campanhas (novas campanhas começam pausadas). Código aberto (MIT) ou hospedado com OAuth.

Servidor MCP hospedado

npx add-mcp 'https://mcp-ads.com/mcp-slim'

Instala no Claude Code, Codex, Cursor e outros

Documentação

MCP Ads: servidor MCP do Google Ads + servidor MCP do Meta Ads

MCP Ads, o servidor MCP de anúncios por Roy Azran. Hospedado em mcp-ads.com, código aberto aqui.

Site · Documentação · Preços · Listagem no Registro MCP (com.mcp-ads/mcp-ads)

License: MIT CI

Servidor MCP de código aberto (MIT) para Google Ads, Meta Ads (Facebook e Instagram), GA4, Search Console, Tag Manager, TikTok, LinkedIn, Microsoft Ads e mais. Funciona com Claude, Claude Code, ChatGPT, Cursor, Codex, Gemini CLI, Grok ou qualquer cliente MCP. Leia desempenho, audite gastos desperdiçados, crie relatórios e crie ou altere campanhas. Tudo o que ele cria começa pausado até que você diga o contrário.

3.363 ações registradas em 21 famílias de ferramentas na versão hospedada (setembro de 2026), expostas por meio de um dispatcher por família, para que seu agente carregue cerca de duas dúzias de definições de ferramentas em vez de milhares. Este repositório inclui 18 dessas famílias; veja Categorias de ferramentas.

Como ele se compara

Fatos de setembro de 2026, retirados das páginas públicas de cada produto. Planos e cobertura mudam, então verifique o site deles antes de decidir.

Google Ads MCP do GoogleAds MCP da MetaPipeboardAdspirerMCP Ads
PlataformasGoogle AdsMeta AdsMeta, Google, TikTok, LinkedIn, Microsoft, Pinterest, Snap, Reddit, além de GA4 e Search ConsoleGoogle, Meta, LinkedIn, TikTok, Amazon, ChatGPT AdsGoogle, Meta, TikTok, LinkedIn, Microsoft, Snapchat, X, ChatGPT Ads, além de GA4, Search Console, Tag Manager, Merchant Center, WordPress
O que fazRelatórios e diagnósticos (somente leitura)Relatórios e gerenciamento de campanhasServidor MCP de anúncios nas plataformas listadasServiço de agente hospedado que executa tarefas de anúnciosLeitura e escrita: 755 ações do Google Ads, 230 ações do Meta Ads
HospedagemAutohospedado, com seu próprio token de desenvolvedorHospedado pela MetaHospedado; servidor Meta de código aberto também disponívelHospedadoHospedado ou autohospedado (este repositório, MIT)
PreçosSoftware gratuito; você fornece o acesso à APIVerifique o site da MetaNível gratuito; planos pagos por número de slots de contas de anúnciosPreço por tarefa com um pequeno nível gratuitoUS$ 49/mês fixo, teste gratuito de 3 dias (veja preços); autohospedagem é gratuita

Use o servidor do Google ou da Meta se você precisar de apenas uma plataforma e quiser o código do próprio fornecedor. Use este se quiser um único servidor entre plataformas, acesso de escrita ao Google Ads ou a opção de executar tudo você mesmo.


Escolha seu caminho

☁️ Nuvem — conectado em 2 minutos

Vá para mcp-ads.com, entre, faça OAuth das suas contas de anúncios no navegador e cole uma URL no Claude. Pronto.

  • Sem solicitações de API, sem tokens de desenvolvedor, sem revisões de aplicativos — as aprovações das plataformas (token de desenvolvedor do Google Ads, App Review da Meta e as demais) já estão em vigor
  • US$ 49/mês fixo para todas as plataformas, com teste gratuito de 3 dias (veja preços para a oferta atual)
  • Suas credenciais armazenadas criptografadas; revogue a qualquer momento pelo painel

Esta é a escolha certa para quase todos que querem usar as ferramentas em vez de hospedá-las.

🔧 Autohospedado — gratuito para sempre, suas chaves, sua máquina

Clone este repositório e execute-o com suas próprias credenciais de plataforma. Licença MIT, sem amarras, sem telemetria. Seus tokens nunca saem da sua máquina.

O custo honesto: várias das plataformas de anúncios exigem que você solicite acesso à API (veja a tabela abaixo). Se você já tem essas credenciais — você é uma agência com token de desenvolvedor do Google Ads, um desenvolvedor com um aplicativo revisado da Meta — a autohospedagem leva minutos. Se não, reserve dias a semanas para as filas de aprovação das próprias plataformas, ou use a nuvem.

Mesmo código de qualquer forma. O produto hospedado é este servidor mais autenticação multiusuário, as aprovações já feitas e três famílias que ainda não estão neste repositório (Merchant Center, X Ads, Bing Webmaster Tools).


Conecte-se ao seu cliente de IA

O endpoint hospedado é o mesmo para todos os clientes:

https://mcp-ads.com/mcp-slim

O login é OAuth no navegador no primeiro uso; não há chave de API para colar. Para um servidor autohospedado, use a configuração stdio em Início rápido autohospedado em vez disso; a nota sob cada cliente indica onde ela vai.

Claude.ai e Claude Desktop. Configurações → Conectores → Adicionar conector personalizado, cole a URL acima e aprove a janela de login. (Guia) Autohospedado: o Claude Desktop aceita o bloco command/args em claude_desktop_config.json.

Claude Code.

claude mcp add --transport http mcp-ads https://mcp-ads.com/mcp-slim

A primeira chamada de ferramenta abre o login no navegador. (Guia) Autohospedado: claude mcp add mcp-ads -- python /absolute/path/to/mcp-ads/server.py, ou o mesmo bloco em .mcp.json.

ChatGPT. Conectores personalizados exigem o modo Desenvolvedor:

  1. Configurações → Plugins → Procurar plugins e ative o modo Desenvolvedor (uma vez).
  2. Configurações → Conectores → Adicionar conector personalizado. Nomeie-o como "MCP Ads" e cole a URL acima.
  3. Entre com a identidade do Google que tem acesso às suas contas de anúncios.
  4. Em um novo chat, abra o menu de ferramentas e ative o conector. O ChatGPT mantém os conectores desativados por chat por padrão.

(Guia com gravação)

Cursor. Adicione isto a ~/.cursor/mcp.json (ou .cursor/mcp.json em um projeto) e reinicie o Cursor:

{
  "mcpServers": {
    "mcp-ads": {
      "url": "https://mcp-ads.com/mcp-slim"
    }
  }
}

(Guia) Autohospedado: o mesmo arquivo aceita o bloco command/args em vez de url.

Codex. Adicione [mcp_servers.mcp-ads] com url = "https://mcp-ads.com/mcp-slim" a ~/.codex/config.toml. (Guia)

Gemini CLI. Adicione uma entrada mcp-ads com a URL a ~/.gemini/settings.json e execute /mcp para verificar. (Guia)

Grok. Em grok.com: + → Conectores → Novo conector → Personalizado, cole a URL e conclua o login. (Guia)


Início rápido autohospedado

git clone https://github.com/RoyAzran/mcp-ads.git
cd mcp-ads
pip install -r requirements.txt
cp .env.example .env      # fill in the platforms you use
python server.py doctor   # shows what's connected

Depois adicione ao Claude Desktop (claude_desktop_config.json) ou ao Claude Code (.mcp.json):

{
  "mcpServers": {
    "mcp-ads": {
      "command": "python",
      "args": ["/absolute/path/to/mcp-ads/server.py"]
    }
  }
}

Essa é a instalação completa. Peça ao seu agente "audite meu gasto desperdiçado no Google Ads" e veja-o agir.

Docker em vez disso:

cp .env.example .env
docker compose up -d      # HTTP server on 127.0.0.1:8000, MCP endpoint at /mcp

Modo HTTP sem Docker: python server.py serve --transport http

Auxiliar OAuth para as plataformas com token bearer (abre um navegador, armazena e atualiza automaticamente o token):

python server.py auth snapchat_ads

O que funciona de fábrica, honestamente

Autohospedar significa ter suas próprias chaves para cada plataforma. Algumas as entregam em minutos; outras exigem solicitação. Este é o quadro real:

PlataformaAçõesO que você precisaEsforço realista
GA495Cliente OAuth do Google + token de atualizaçãoMinutos–horas
Search Console22Mesmo token do GoogleMinutos
Tag Manager64Mesmo token do GoogleMinutos
WordPress1.843URL do site + senha de aplicativoMinutos
Google Ads755O acima mais um token de desenvolvedor (o Google analisa a solicitação)1–3 semanas
Meta Ads230Um aplicativo Meta; ads_management/ads_read exigem App Review (funciona para os próprios administradores/testadores do aplicativo antes da aprovação)Dias para você, semanas para App Review
Snapchat Ads12Aplicativo OAuth autoatendido no Business ManagerHoras
Microsoft Ads11Aplicativo OAuth Entra + token de desenvolvedor (sandbox instantâneo, produção revisada)Horas–dias
TikTok Ads35Revisão do aplicativo Business APISemanas
LinkedIn Ads26Aprovação da Marketing Developer Platform — rotineiramente recusada a pessoas físicasFrequentemente inacessível
Meta Ad Library7Token de uma identidade verificada por Meta-IDDias
Ads Transparency7Nada — mas leia a nota abaixoDesativado por padrão
Geração criativa7Sua chave de API da OpenAIMinutos

Se essa tabela o cansa, é exatamente para isso que a versão em nuvem serve — as aprovações já estão feitas, você apenas conecta suas contas.

Categorias de ferramentas

Um dispatcher por família. As contagens são ações registradas na versão hospedada (setembro de 2026); cada dispatcher vincula à sua página de referência da API.

DispatcherAçõesExemplos de ações
google_ads_action755google_ads_search_terms, google_ads_add_negative_keywords, google_ads_update_campaign_budget
meta_ads_action230meta_ads_campaign_performance, meta_ads_frequency, meta_ads_update_adset_budget
ga4_action95ga4_landing_pages, ga4_diagnose_missing_conversions, ga4_run_custom_report
gsc_action22gsc_top_keywords, gsc_inspect_url, gsc_submit_sitemap
gtm_action64gtm_audit_container, gtm_setup_google_ads_conversion, gtm_publish_workspace_now
tiktok_ads_action35tiktok_ads_campaign_report, tiktok_ads_create_adgroup, tiktok_ads_upload_video
linkedin_ads_action26linkedin_ads_campaign_report, linkedin_ads_find_targeting_entities, linkedin_ads_update_campaign
microsoft_ads_action11microsoft_ads_campaign_performance, microsoft_ads_list_keywords, microsoft_ads_update_campaign_budget
snapchat_ads_action12snapchat_ads_campaign_report, snapchat_ads_create_campaign, snapchat_ads_update_campaign_status
openai_ads_action (ChatGPT Ads)15openai_ads_ad_insights, openai_ads_create_campaign, openai_ads_set_ad_status
organic_social_action32meta_pages_create_post, linkedin_organic_create_post, tiktok_organic_publish_video
meta_ad_library_action7meta_ad_library_search_ads, meta_ad_library_advertiser_ads, meta_ad_library_creative_angles
google_ads_transparency_action7google_ads_transparency_find_advertiser, google_ads_transparency_advertiser_ads, google_ads_transparency_creative_mix
creative_action7creative_generate_ad_images, creative_start_image_generation, creative_get_image_generation_result
reports_action8report_monthly_executive, report_paid_search_full, report_new_client_audit
agency_action20agency_wasted_spend_report, agency_budget_pacing_all_channels, agency_cross_platform_overview
wordpress_action1.843a11y_audit_page, cf7_list_forms, backup_updraft_run
misc_action8competitor_ads_gallery, media_upload_start, creative_show_images
merchant_action (somente hospedado)123merchant_list_products, merchant_product_status_summary, merchant_account_issues
x_ads_action (somente hospedado)23x_ads_account_stats, x_ads_create_campaign, x_ads_campaign_reach
bing_webmaster_action (somente hospedado)20bing_webmaster_top_queries, bing_webmaster_crawl_issues, bing_webmaster_submit_url

Total: 3.363. Uma compilação autohospedada registra as mesmas famílias, exceto as três marcadas como somente hospedado; social orgânico tem 12 ações aqui em vez de 32, e algumas outras contagens diferem por alguns números conforme ações são adicionadas ou ocultadas. list_actions sempre informa o que sua compilação realmente tem.

Como funciona a superfície de ferramentas

Seu agente vê um dispatcher por plataforma mais list_actions:

1. list_actions(category="meta_ads_action", search="budget")
2. meta_ads_action(action="<name from step 1>", params={...})
  • Ações de escrita criam tudo pausado a menos que explicitamente instruídas a lançar (veja Modelo de segurança)
  • --surface full registra cada ação como sua própria ferramenta MCP — útil para clientes programáticos, ferramentas demais para um cliente de chat

Exemplos de prompts

  • "Quais termos de pesquisa gastaram mais de US$ 50 sem conversões no mês passado? Adicione os dez piores como negativas de correspondência exata."
  • "Pause conjuntos de anúncios com frequência acima de 3 na minha conta Meta principal."
  • "Compare o CPA do Meta e do Google na semana passada com as conversões do GA4."
  • "Quais páginas de destino recebem tráfego pago, mas convertem abaixo da média do site?"
  • "Crie uma campanha de Search pausada para 'encanador de emergência' com três grupos de anúncios e um orçamento diário de US$ 50."
  • "O que meus concorrentes estão veiculando no Facebook e no Instagram agora?"
  • "Verifique meu contêiner GTM para tags pausadas ou não utilizadas."
  • "Escreva o relatório executivo deste mês em Google Ads, Meta e GA4."

A CLI NPX

Sem Python na máquina do cliente? A CLI é um proxy stdio de ~300 linhas (cli/) que encaminha para qualquer servidor MCP Ads:

# against your self-hosted server
MCP_ADS_BASE_URL=http://127.0.0.1:8000 npx -y @marketingmcp/cli

# against the cloud (API key from mcp-ads.com/manage)
MCP_ADS_API_KEY=mcp_live_xxx npx -y @marketingmcp/cli

Uma nota sobre o Google Ads Transparency

tools/google_ads_transparency.py lê o Centro de Transparência de Anúncios público do Google chamando os endpoints que o próprio site utiliza. O Google não documenta nenhuma API para esses dados; os endpoints podem mudar ou começar a recusar sem aviso, e o acesso automatizado a eles não é algo que o Google tenha abençoado. A família está desativada por padrão — defina GOOGLE_ADS_TRANSPARENCY_ENABLED=true somente depois de ler o docstring desse módulo. As ferramentas da Meta Ad Library usam a API oficial da Meta e não têm essa ressalva.

Modelo de segurança

  • Aprovação antes de gravações. Cada dispatcher carrega anotações de ferramentas MCP: uma família com qualquer ação de gravação é marcada como readOnlyHint: false, destructiveHint: true. A verificação falha de forma segura, então ações de gravação ocultas também contam, e a geração de imagens paga nunca é marcada como somente leitura. Clientes como Claude e ChatGPT usam essas dicas para perguntar a você antes da chamada ser executada. As instruções do próprio servidor também dizem ao modelo para declarar uma gravação claramente e obter confirmação antes de tocar em gastos ao vivo ou conteúdo público.
  • Criado pausado. A criação de campanha, conjunto de anúncios, grupo de anúncios e anúncio tem como padrão PAUSED no Google Ads e na Meta. Nada começa a gastar até que você peça para ser ativado.
  • Controle de função de leitura/gravação. permissions.py lista as ferramentas de gravação em WRITE_TOOLS, e uma heurística de nomes falha de forma segura para verbos de gravação ausentes dessa lista. Ferramentas de gravação chamam require_editor(), que recusa a função viewer; somente editor e admin podem gravar. No serviço hospedado, um assento de visualizador recebe essa recusa.
  • Executando somente leitura quando auto-hospedado. Ainda não há um interruptor de configuração. A versão auto-hospedada tem um usuário, SelfHostPrincipal em credentials_env.py, cuja função é admin. Altere esse role para "viewer" e toda ferramenta de gravação recusa. Para uma segunda camada, use credenciais somente leitura onde a plataforma as oferece: um token da Meta com apenas ads_read, e os escopos somente leitura do GA4 e do Search Console (analytics.readonly, webmasters.readonly). A API do Google Ads não tem escopo somente leitura, então para o Google Ads a mudança de função é o controle.

Postura de segurança

  • As credenciais vêm do seu .env e de um armazenamento local opcional criptografado com Fernet (MCP_ADS_SECRET_KEY). Nada envia dados para casa: a telemetria é totalmente opcional e desativada, a menos que você configure seu próprio projeto de análise.
  • O modo HTTP não é autenticado por design (é você, no loopback). O servidor recusa vincular uma interface pública a menos que você defina MCP_ADS_ALLOW_PUBLIC_BIND=true, porque ele contém credenciais que podem gastar dinheiro real.
  • A CI executa uma verificação de limite (tests/test_no_private_imports.py) que falha em qualquer coisa com formato de segredo entrando na árvore.

Veja SECURITY.md para relatar problemas.

Contribuindo

Issues e PRs são bem-vindos — veja CONTRIBUTING.md. Os scripts de verificação em scripts/ são o padrão de revisão: cada um fixa uma falha que realmente aconteceu em produção, e python scripts/check_tools_execute.py antes de um PR pega a maior parte do que a revisão pegaria.

Uma coisa com a qual não podemos ajudar: obter acesso à API da plataforma. Essas filas de aprovação pertencem ao Google, Meta, LinkedIn, TikTok e Microsoft.

FAQ

Existe um servidor MCP do Google Ads que pode fazer alterações? Sim, este. O servidor MCP oficial do Google Ads é somente leitura (relatórios e diagnósticos). O MCP Ads tem 755 ações do Google Ads, incluindo criar campanhas, grupos de anúncios, palavras-chave e anúncios de pesquisa responsivos, adicionar negativas e alterar orçamentos e lances. Novas campanhas são criadas pausadas.

Funciona com o ChatGPT? Sim. Adicione-o como um conector personalizado no modo Desenvolvedor com a URL https://mcp-ads.com/mcp-slim; os passos estão em Conecte-se ao seu cliente de IA e no guia do ChatGPT.

Preciso de um token de desenvolvedor? Não para a versão hospedada: o token de desenvolvedor do Google Ads e as outras aprovações de plataforma já estão em vigor, e você só faz login. Para o Google Ads auto-hospedado, sim: você precisa do seu próprio token de desenvolvedor da API do Google Ads, e o Google analisa a aplicação (veja O que funciona pronto para uso).

Licença

MIT.