MCP YouTube Transcript
An MCP server retrieving transcripts of YouTube videos
Description from the maker (original English)
Google Ads, Reddit Ads, GA4 and Tag Manager in your AI client, with a preview before every change.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
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:
https://mcp.getadloop.com/mcpOpen 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/mcpclaude mcp add adloop -- uvx adloopPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"adloop": {
"url": "https://mcp.getadloop.com/mcp"
}
}
}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.
Paste into .vscode/mcp.json in your project
{
"servers": {
"adloop": {
"type": "http",
"url": "https://mcp.getadloop.com/mcp"
}
}
}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:
https://mcp.getadloop.com/mcpMenu 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.
The server asks you to sign in before it lists its tools.
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 6, 2026
The publisher (getadloop.com) is not the repo owner (kLOsk); someone else may have listed it
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 45 ms (HTTP 401)
Declares OAuth sign-in, so your AI app can take you to log in
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
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.
The registry does not list a required key, though some servers ask you to sign in on first use.
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (0.38.1) reached the registry 2 days ago.
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.
In the same category: MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
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
GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.
AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.
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.
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.
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](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.
AdLoop exists because managing Google Ads alongside your code is a mess. These are the specific problems it handles:
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.
Quick start:
pip install adlooporgit clone https://github.com/kLOsk/adloop.git && cd adloop && uv sync && uv run adloop init— or zero setup on AdLoop Cloud
| Tool | What It Does |
|---|---|
health_check | Test 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. |
| Tool | What It Does |
|---|---|
get_account_summaries | List GA4 accounts and properties |
run_ga4_report | Custom reports: sessions, users, key events, page performance. Optional dimension and metric filters, ordering, paging, and a comparison period |
run_realtime_report | Live data — verify tracking fires after deploys |
get_tracking_events | All configured events and their volume |
list_key_events | The property's key events (conversions) with counting method, create time and whether they can be deleted |
list_ga4_dimensions_and_metrics | Every dimension and metric the property can report on, including custom ones, with search |
| Tool | What It Does |
|---|---|
list_accounts | Discover accessible Ads accounts |
get_campaign_performance | Campaign metrics: impressions, clicks, cost, conversions, CPA, Search impression share and share lost to budget/rank |
get_ad_performance | Ad copy analysis: headlines, descriptions, CTR, policy approval status and topics |
get_keyword_performance | Keywords — quality scores, competitive metrics |
get_search_terms | What users actually searched before clicking |
get_negative_keywords | List direct campaign-level negative keywords |
get_negative_keyword_lists | List all shared negative keyword lists (SharedSets) — names, IDs, status, keyword count |
get_negative_keyword_list_keywords | List the keywords inside a specific shared negative keyword list |
get_negative_keyword_list_campaigns | List which campaigns a shared negative keyword list is attached to |
get_recommendations | Google's auto-generated recommendations with type, estimated impact, and campaign context |
get_recommendation_subscriptions | Which recommendation types Google applies automatically (auto-apply), with status and last change; flags any that are on |
get_pmax_performance | Performance Max campaign metrics with network breakdown + asset group ad strength |
get_pmax_assets | Per-asset details for PMax — field type, serving status, content |
get_asset_group_signals | A PMax asset group's search themes and audience signal, plus the audiences available for it |
get_detailed_asset_performance | Top-performing asset combinations — which headline+description+image combos Google selects most |
get_audience_performance | Audience segment performance — remarketing, in-market, affinity, demographics |
get_shopping_product_performance | Spend, conversions, CPA and ROAS per product across Shopping and Performance Max, plus products that spent without converting |
get_change_history | What changed before the drop: who changed what and when, through which client (UI, API, scripts, auto-applied recommendations), last 30 days |
get_demographic_targeting | List demographic criteria (age/gender/parental status/income) on an ad group or campaign |
get_audience_lists | The account's remarketing and customer lists (size, eligibility, open/closed), custom and combined segments |
search_audience_segments | Find Google's in-market and affinity segments by name |
get_audience_targeting | Audiences and audience exclusions on a campaign or ad group, plus the audience mode (observation or targeting) |
suggest_brands | Resolve a brand name to the brands Google recognizes — brand ID, name, state, URLs |
check_brand_names | Check a shortlist of brand names against Google's brand knowledge graph (max 25 per call) |
get_brand_lists | List brand lists (SharedSets of type BRANDS) — ID, name, status, member count |
get_brand_list_brands | List the brands inside a list, with the Commercial KG MID and the criterion ID for removals |
get_brand_list_campaigns | Which campaigns a brand list is attached to, and whether each attachment excludes or targets |
get_ai_max_settings | AI 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_settings | One 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_goals | Custom conversion goals with their actions, plus one campaign's goal config |
run_gaql | Arbitrary GAQL queries for anything else |
Brand lists — a list is a
SharedSetof typeBRANDS; attaching it to a campaign is aCampaignCriterion.brand_list(negative=trueexcludes,falserestricts), not aCampaignSharedSetlike negative keyword lists.remove_from_brand_listanddetach_brand_list_from_campaignsremove for real —SharedCriterionhas 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_brandsfor a single name orcheck_brand_namesfor a shortlist to get the ID;exact_matchmarks 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