kLOsk /adloop
Google Ads MCP server for Claude, ChatGPT and Cursor, with Reddit Ads, GA4 and Tag Manager. Every change is previewed first.
★ 299⑂ 71👁 4⑃ 69● 61▤ 85◈ 5
299
stars
71
forks
4
watchers
69
prs
61
issues
85
releases
5
discussions
README
AdLoop The Google Ads MCP server for Claude, ChatGPT and Cursor. Plus Reddit Ads, GA4 and your tracking code, with a preview before every change. An MCP server that gives your AI assistant read + write access to Google Ads, Reddit Ads and GA4 — with safety guardrails that prevent accidental spend. ☁️ Skip the setup — use AdLoop Cloud (free plan, no card) · or self-host: pip install adloop [!TIP] AdLoop Cloud is the hosted version of this project, with a free plan that needs no credit card. Connect Google in two clicks and use the full toolset from claude.ai, ChatGPT, Claude Code, Cursor, or Gemini. No Google Cloud project, no API access application, no OAuth verification wait. EU-hosted, GDPR-first, DPA included. 📚 Documentation: docs.getadloop.com — setup guides per AI client, toolsets, the safety model, and troubleshooting for both editions. --- Cloud or Self-Hosted? Both versions run the same tools with the same safety model. The difference is who handles the plumbing: | | ☁️ AdLoop Cloud | 🛠️ Self-hosted (this repo) | |---|---|---| | Setup | Connect Google in two clicks | ~5 min: own Google Cloud project + adloop init | | Google Cloud project | Not needed | Required (free) | | Ads API access | Not needed | Granted to your Cloud project (no developer token, no MCC since Sept 2026) | | Works with | claude.ai, ChatGPT, Claude Code, Cursor, Gemini | Claude Code, Cursor, Claude Desktop, any local MCP client | | Where your data flows | EU servers (Germany), GDPR-first, DPA included | 100% your machine — nothing leaves it | | Updates | Automatic | pip install -U adloop | | Price | Free plan, no card; paid plans for more accounts and volume | Free forever (MIT) | Not sure? Start with Cloud — it's the fastest way to see what AdLoop can do, and it's the only way to use AdLoop from claude.ai or ChatGPT. Self-host when you want everything on your own machine or need to modify the code. And if you're here to hack on AdLoop itself: welcome, keep scrolling. What It Solves AdLoop exists because managing Google Ads alongside your code is a mess. These are the specific problems it handles: - "My conversions dropped and I don't know why." AdLoop cross-references Ads clicks, GA4 sessions, and conversion events in one query. It detects whether the gap is from GDPR consent rejection, broken tracking, or an actual landing page problem — before you waste hours checking each dashboard separately. - "I'm wasting ad spend on irrelevant searches." Pull your search terms report, identify the junk, and add negative keywords — all from a single conversation in your IDE. No context-switching to the Ads UI. - "Is my tracking even working?" Compare the event names in your actual codebase against what GA4 is receiving. Find the mismatches: events you fire that GA4 never sees, events GA4 records that you didn't know about. - "I need to create ads but the Google Ads UI is hostile." Draft responsive search ads, create campaigns, add k
Top issues
#67Feature request: optional organic SERP context for keywords and search terms1 comments · 2026-09-19#137Feature request: draft tools for price and promotion assets (+ optional asset start/end dates)0 comments · 2026-11-09#136draft_responsive_search_ad: countdown customizer counted as raw text against the 30-char limit0 comments · 2026-11-09#135URL check rejects public sites on DNS64/NAT64 networks (64:ff9b::/96 treated as non-public)0 comments · 2026-11-09#49`deleted_client: The OAuth client was deleted.` — fix for AdLoop ≤0.9 (retired shared sign-in)0 comments · 2026-07-11
Discussions
#133Thank you for your repo!0 comments · 2026-11-08#101Just wanted to say Thanks!1 comments · 2026-10-14#14Community launch strategy — where and how to spread the word1 comments · 2026-04-13#13Google Cloud OAuth verification — status update4 comments · 2026-04-13#12Welcome to AdLoop Discussions0 comments · 2026-04-13
Latest release
v0.41.4 v0.41.4 2026-11-11Two hardening fixes from the same code review as 0.41.3. Both matter mainly when AdLoop runs as a server for several users; on your own computer they change nothing you would notice. URL checks connect only to the address they checked Before an ad, a sitelink or a Reddit media link is drafted, AdLoop checks that the URL answers. It refused URLs that resolve to internal addresses, but then let the request resolve the name a second time. A DNS server built for it could answer the check with a public address and the request with an internal one (DNS rebinding), and so point that request at a l