Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

AdLoop

by kLOskversion 0.38.1i★ –iComputer or cloud
Registry namecom.getadloop/adloop

Install

Overview

Description from the maker (original English)

Google Ads, Reddit Ads, GA4 and Tag Manager in your AI client, with a preview before every change.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 2 of 3 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • The registry lists no key to fill in.

You need

  • Runs in the cloudNothing to install; it connects over the internet
  • PyPIPython’s uv installed (for the uvx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Works in Claude on the web, desktop and mobile:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://mcp.getadloop.com/mcp

Or run it on your computer

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "adloop": {
      "command": "uvx",
      "args": [
        "adloop"
      ]
    }
  }
}

Run this in your terminal

claude mcp add --transport http adloop https://mcp.getadloop.com/mcp

Or run it on your computer

claude mcp add adloop -- uvx adloop

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "adloop": {
      "url": "https://mcp.getadloop.com/mcp"
    }
  }
}

Or run it on your computer

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "adloop": {
      "command": "uvx",
      "args": [
        "adloop"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "adloop": {
      "type": "http",
      "url": "https://mcp.getadloop.com/mcp"
    }
  }
}

Or run it on your computer

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "adloop": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "adloop"
      ]
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

ChatGPT connects only to servers on the internet:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://mcp.getadloop.com/mcp

Menu names can differ slightly by plan and over time.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

The server asks you to sign in before it lists its tools.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ! Caution

    Maker matches the repo

    The publisher (getadloop.com) is not the repo owner (kLOsk); someone else may have listed it

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • ✓ Pass

    Endpoint responds

    Responded in 45 ms (HTTP 401)

  • ✓ Pass

    Sign-in with OAuth

    Declares OAuth sign-in, so your AI app can take you to log in

  • … Not checked yet

    No hidden instructions in tool descriptions

    Not checked yet; we read the tool list when we check the endpoint

Compared with others in Marketing & social mediai

  • More stars than 0% of the other 2969 servers in this category
  • Published to the registry more recently than 91% of the other 2969 servers in this category
  • Basic checks equal to or better than 48% of the other 2969 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is AdLoop safe?

It passed 2 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.38.1) reached the registry 2 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

An MCP server retrieving transcripts of YouTube videos

Runs on your computer★ 495MITUpdated 9 days ago
Install

GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.

Runs on your computer★ 244MITUpdated 9 days ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

AdLoop

The AI command center for Google Ads, Reddit Ads, GA4, and tracking code.

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)](https://getadloop.com) · or self-host: pip install adloop

[!TIP]

[AdLoop Cloud](https://getadloop.com) 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](https://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)
SetupConnect Google in two clicks~5 min: own Google Cloud project + adloop init
Google Cloud projectNot neededRequired (free)
Ads API accessNot neededGranted to your Cloud project (no developer token, no MCC since Sept 2026)
Works withclaude.ai, ChatGPT, Claude Code, Cursor, GeminiClaude Code, Cursor, Claude Desktop, any local MCP client
Where your data flowsEU servers (Germany), GDPR-first, DPA included100% your machine — nothing leaves it
UpdatesAutomaticpip install -U adloop
PriceFree plan, no card; paid plans for more accounts and volumeFree forever (MIT)

Not sure? [Start with Cloud](https://getadloop.com) — 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 keywords — all through natural language. Every change shows a preview first. Nothing goes live without your explicit confirmation: in Claude, ChatGPT and VS Code the preview is an approval card, and only your click on Apply changes the account (the AI cannot press it). New ads and campaigns start paused.
  • "My landing page gets paid traffic but nobody converts." AdLoop joins your ad final URLs with GA4 page-level data. See which pages get clicks but no conversions, which have high bounce rates, and which ones are orphaned from any ad campaign.
  • "Are conversions even being tagged on every page?" AdLoop reads your live Google Tag Manager container, joins it against the events in your codebase and the events firing in GA4, and tells you exactly which conversions are being captured, which tags are paused, which page-scope filters are too narrow, and which codebase events have no tag at all — the kind of three-way audit GTM Preview can't give you in a single view.
  • "I don't know if my EU consent setup is causing data gaps." In Europe, 30-70% of users reject analytics cookies. AdLoop accounts for this automatically — it won't diagnose a normal GDPR consent gap as broken tracking.

Built From Real Usage

Every tool exists because of an actual problem hit while running real Google Ads campaigns. The cross-reference tools exist because we kept manually asking the AI to "get Ads data, then get GA4 data, then compare them" — so we automated the join. The Broad Match + Manual CPC safety rule exists because the AI once created that exact combination and wasted budget. The GDPR consent awareness exists because the AI kept diagnosing normal EU cookie rejection as broken tracking.

The best features come from real workflows. If you're using AdLoop and find yourself wishing it could do something it can't, open an issue describing your situation — not just "add feature X" but "I was trying to do Y and couldn't because Z." The context matters more than the request.

All Tools

Quick start: pip install adloop or git clone https://github.com/kLOsk/adloop.git && cd adloop && uv sync && uv run adloop init — or zero setup on AdLoop Cloud

Diagnostics
ToolWhat It Does
health_checkTest OAuth, GA4, and Ads connectivity in one call — actionable error messages if anything is broken. Also reports the pinned Google Ads API version and warns if a newer version is available.
GA4 Read Tools
ToolWhat It Does
get_account_summariesList GA4 accounts and properties
run_ga4_reportCustom reports: sessions, users, key events, page performance. Optional dimension and metric filters, ordering, paging, and a comparison period
run_realtime_reportLive data — verify tracking fires after deploys
get_tracking_eventsAll configured events and their volume
list_key_eventsThe property's key events (conversions) with counting method, create time and whether they can be deleted
list_ga4_dimensions_and_metricsEvery dimension and metric the property can report on, including custom ones, with search
Google Ads Read Tools
ToolWhat It Does
list_accountsDiscover accessible Ads accounts
get_campaign_performanceCampaign metrics: impressions, clicks, cost, conversions, CPA, Search impression share and share lost to budget/rank
get_ad_performanceAd copy analysis: headlines, descriptions, CTR, policy approval status and topics
get_keyword_performanceKeywords — quality scores, competitive metrics
get_search_termsWhat users actually searched before clicking
get_negative_keywordsList direct campaign-level negative keywords
get_negative_keyword_listsList all shared negative keyword lists (SharedSets) — names, IDs, status, keyword count
get_negative_keyword_list_keywordsList the keywords inside a specific shared negative keyword list
get_negative_keyword_list_campaignsList which campaigns a shared negative keyword list is attached to
get_recommendationsGoogle's auto-generated recommendations with type, estimated impact, and campaign context
get_recommendation_subscriptionsWhich recommendation types Google applies automatically (auto-apply), with status and last change; flags any that are on
get_pmax_performancePerformance Max campaign metrics with network breakdown + asset group ad strength
get_pmax_assetsPer-asset details for PMax — field type, serving status, content
get_asset_group_signalsA PMax asset group's search themes and audience signal, plus the audiences available for it
get_detailed_asset_performanceTop-performing asset combinations — which headline+description+image combos Google selects most
get_audience_performanceAudience segment performance — remarketing, in-market, affinity, demographics
get_shopping_product_performanceSpend, conversions, CPA and ROAS per product across Shopping and Performance Max, plus products that spent without converting
get_change_historyWhat changed before the drop: who changed what and when, through which client (UI, API, scripts, auto-applied recommendations), last 30 days
get_demographic_targetingList demographic criteria (age/gender/parental status/income) on an ad group or campaign
get_audience_listsThe account's remarketing and customer lists (size, eligibility, open/closed), custom and combined segments
search_audience_segmentsFind Google's in-market and affinity segments by name
get_audience_targetingAudiences and audience exclusions on a campaign or ad group, plus the audience mode (observation or targeting)
suggest_brandsResolve a brand name to the brands Google recognizes — brand ID, name, state, URLs
check_brand_namesCheck a shortlist of brand names against Google's brand knowledge graph (max 25 per call)
get_brand_listsList brand lists (SharedSets of type BRANDS) — ID, name, status, member count
get_brand_list_brandsList the brands inside a list, with the Commercial KG MID and the criterion ID for removals
get_brand_list_campaignsWhich campaigns a brand list is attached to, and whether each attachment excludes or targets
get_ai_max_settingsAI Max knobs per campaign and ad group — enable_ai_max, bundling_required, the full asset_automation_settings list and each ad group's disable_search_term_matching
get_campaign_settingsOne flat record per Search campaign — networks, location option, campaign-level broad match, bidding, budget, URL options and AI Max — with the settings that widen reach flagged
get_custom_conversion_goalsCustom conversion goals with their actions, plus one campaign's goal config
run_gaqlArbitrary GAQL queries for anything else

Brand lists — a list is a SharedSet of type BRANDS; attaching it to a campaign is a CampaignCriterion.brand_list (negative=true excludes, false restricts), not a CampaignSharedSet like negative keyword lists. remove_from_brand_list and detach_brand_list_from_campaigns remove for real — SharedCriterion has no status field.

Brand targeting — brand criteria (brand lists, brand exclusions) target a brand's Commercial Knowledge Graph ID, not its display name. Use suggest_brands for a single name or check_brand_names for a shortlist to get the ID; exact_match marks a candidate whose name matches apart from case and punctuation, everything else is a Google suggestion.

AI Max is the container for Search brand exclusions — Google rejects a brand lis

Only the beginning is shown; read the rest in the repo

Ask PopNx