100+ integrations are ready to connect to your AI.Connect your first MCP

YouTube Analytics MCP server for your AI

Ask which videos gained the most subscribers last month, where viewers drop off in a video, which search terms find your channel, or how Shorts compare with long-form, and get the rows back straight away.

PopMCPYouTube Analytics

Which of my videos gained the most subscribers in the last 90 days?

Supported YouTube Analytics tools

Every report and group tool on the connection: preset reports with metric combinations YouTube accepts, a raw report runner, analytics groups, and the threshold triggers.

40 tools in the full catalog: 35 read and 5 write. 26 load by default, and the rest are found with tool search.

youtube_analytics_audience_retention

Pass video=VIDEO_ID (exactly one — a list is rejected): the retention curve for that video at 100 evenly spaced points.

youtube_analytics_channel_summary

Headline numbers for the whole channel over a date range: views, watch time, average view duration and percentage, subscribers gained and lost, likes, dislikes, comments and shares.

youtube_analytics_cities

Views and watch time by city.

youtube_analytics_content_type_breakdown

Views and watch time split by the kind of content: SHORTS, VIDEO_ON_DEMAND, LIVE_STREAM, STORY.

youtube_analytics_demographics

Audience age and gender as a PERCENTAGE of views (viewerPercentage), the only metric this report accepts — there are no view counts here, and the percentages are of viewers who are signed in.

youtube_analytics_devices

Views and watch time by device type: MOBILE, DESKTOP, TV, TABLET, GAME_CONSOLE.

youtube_analytics_external_traffic_sources

The websites and apps outside YouTube that sent viewers, ranked by views — Google Search, Reddit, a newsletter, an embed on your own site.

youtube_analytics_geography

Views, watch time and subscribers gained by country (ISO 3166-1 two-letter codes; ZZ is unknown).

youtube_analytics_live_vs_on_demand

Views and watch time split between LIVE and ON_DEMAND playback.

youtube_analytics_playback_locations

Where playback happened: WATCH (the video page), CHANNEL, EMBEDDED (another site), BROWSE, SEARCH, MOBILE, YT_OTHER.

youtube_analytics_playlist_detail

Pass playlist=PLAYLIST_ID (or group=GROUP_ID of a playlist group): daily performance of that playlist.

youtube_analytics_revenue_over_time

Estimated revenue, ad revenue, YouTube Premium partner revenue, gross revenue, CPM, playback CPM, ad impressions and monetized playbacks, per day.

youtube_analytics_run_report

Run an arbitrary YouTube Analytics report — any dimensions × metrics × filters combination.

youtube_analytics_search_terms

The YouTube search queries that brought viewers to the channel, ranked by views.

youtube_analytics_sharing_services

Where viewers shared the channel's videos — WhatsApp, Facebook, Instagram, copy-link and 130+ others — ranked by share count.

youtube_analytics_subscribed_status

Views and watch time split between SUBSCRIBED and UNSUBSCRIBED viewers.

youtube_analytics_subscriber_growth

Subscribers gained and lost per day.

youtube_analytics_suggested_video_sources

The videos that suggested yours (the "Suggested videos" rail), ranked by views.

youtube_analytics_top_playlists

The channel's playlists ranked by views, with watch time, playlist starts, views per start and average time in playlist.

youtube_analytics_top_videos

The channel's best-performing videos over the range, ranked by views, with watch time, average view duration and percentage, subscribers gained, likes, comments and shares.

youtube_analytics_traffic_sources

Where views came from, by source TYPE: YT_SEARCH, RELATED_VIDEO, SHORTS, BROWSE-style surfaces, PLAYLIST, EXT_URL, NOTIFICATION, SUBSCRIBER and the rest.

youtube_analytics_us_states

Views and watch time by US state (ISO 3166-2 codes such as US-CA).

youtube_analytics_video_daily_performance

Pass video=VIDEO_ID: day-by-day performance of that ONE video.

youtube_analytics_views_over_time

Daily trend of views, watch time, average view duration and subscriber change.

youtube_analytics_list_group_items

List the videos or playlists inside one analytics group.

youtube_analytics_list_groups

List the analytics groups on this account.

youtube_analytics_ad_performance

Gross revenue, ad impressions and CPM broken down by ad format (auctionInstream, reservedBumperInstream, auctionDisplay …).

youtube_analytics_card_performance

Card and card-teaser impressions, clicks and click-through rates for the range, as one aggregate row.

youtube_analytics_concurrent_viewers

Pass video=VIDEO_ID of a live stream: average and peak concurrent viewers through it, minute by minute.

youtube_analytics_embedded_players

The specific pages embedding the channel's videos, ranked by views.

youtube_analytics_membership_cancellations

Why channel members cancelled, by survey reason.

youtube_analytics_operating_systems

Views and watch time by operating system.

youtube_analytics_playlist_traffic_sources

The playlists that drove views to the channel's videos, ranked by views.

youtube_analytics_views_by_month

The same trend aggregated by calendar month (YYYY-MM).

youtube_analytics_youtube_product

Views and watch time by which YouTube app the viewing happened in: CORE, MUSIC, KIDS, GAMING.

youtube_analytics_add_group_item

Add one video or playlist to an analytics group.

youtube_analytics_create_group

Create an empty analytics group, then fill it with add_group_item.

youtube_analytics_delete_group

Delete an analytics group.

youtube_analytics_remove_group_item

Remove one item from an analytics group.

youtube_analytics_update_group

Rename an analytics group.

Connect YouTube Analytics to Claude, ChatGPT and Claude Code

Authorize once, then an endpoint your client signs into. Nothing to deploy, and nothing to install on the YouTube Analytics side.

Enable the YouTube Analytics API and YouTube Data API v3 in your Google Cloud project, create a Web application OAuth client with PopMCP's callback URL, paste its Client ID and Secret, authorize, then pick the channel and its workspace.

OAuth Client ID1234567890-abc.apps.googleusercontent.com
OAuth Client Secret••••••••••••3f7a
Authorize PopMCP on YouTube AnalyticsAuthorize

Then just ask for the work

  • “Which of my videos gained the most subscribers in the last 90 days?”

    • top_videos
  • “Where do viewers drop off in this video, and is that better or worse than similar videos?”

    • audience_retention
  • “What search terms brought people to my channel last month, and how much of my traffic was search?”

    • traffic_sources
    • search_terms
  • “Compare Shorts with long-form on views and watch time for this quarter”

    • content_type_breakdown
    • channel_summary

Use YouTube Analytics from the assistant you already open

One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.

Claude DesktopCustom connector

Add the PopMCP URL under Customize → Connectors and the tools appear in every chat.

Claude WebCustom connector

The same endpoint, registered in the browser. Nothing to install on the machine you are working from.

ChatGPTCustom connector

Register PopMCP as a custom connector, then let ChatGPT read and update the account.

CodexDesktop & CLI

Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.

OpenCodeCoding agent

Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.

ZCodeDesktop app

Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.

YouTube Analytics MCP server questions

What teams ask before putting YouTube Analytics behind an AI client.

How is this different from PopMCP's YouTube Data and YouTube Reporting connectors?

YouTube Analytics answers targeted questions on demand: pick a report, a date range and filters, and the rows come back in the same call. YouTube Data manages the channel itself, with videos, playlists, comments and captions. YouTube Reporting schedules daily bulk CSV exports for archives and warehouses. Analytics rows are keyed by bare video and playlist ids, so pair this connector with YouTube Data when you want titles next to the numbers.

Why are the last few days missing from my YouTube report?

YouTube finalises a day's analytics two to three days late, so the end of a range that finishes near today is incomplete rather than a real drop. The report tools default to the last 28 days ending yesterday, and channel_summary works with no arguments at all. When there is no data for a range, the response simply has no rows. Pick an end date three or more days back when you compare periods.

Can the AI see my estimated YouTube revenue?

Not on an ordinary creator channel. YouTube only returns revenue and ad-performance metrics on content owner reports, so revenue_over_time and ad_performance return an error on a channel connection whatever permissions were granted. That is YouTube's restriction, not a setup mistake, and earnings stay in YouTube Studio. The Revenue dropped trigger has the same limit. Everything else, from watch time to traffic sources and audience demographics, works for any channel you own.

Which channel does a YouTube Analytics connection read?

Exactly one. After you authorize, PopMCP lists the channels the Google account owns, and you choose which to connect and which workspace each belongs in. Every report is then pinned to that channel, and the content owner parameter is stripped, so the connection cannot widen to other channels. If the list is empty, that Google account has no channel: reconnect, and for a Brand Account pick it on Google's account chooser.

What Google permissions does it ask for?

Three read-only scopes and no write scope: yt-analytics.readonly for reports, yt-analytics-monetary.readonly for the revenue view, and youtube.readonly, which Google requires alongside analytics for reports and group items. Nothing on the consent screen asks to manage your channel. One setup step matters: if your project's Audience says Testing, publish the app before connecting, because Google expires Testing tokens after 7 days and the connection would stop.

Which YouTube Analytics events can PopMCP watch?

Eight thresholds, each with a level you choose. They fire when daily views drop against the previous period, watch time falls, subscriber losses spike in a day, one video's views take off, views from YouTube search drop, likes, comments and shares fall, the split between Shorts and long-form moves past your line, or estimated revenue drops, which only works on content owner accounts. Each hands the numbers to whatever runs next.

Do I have to run or host the YouTube Analytics MCP server myself?

No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.

Which AI clients can use this MCP server?

Any client that supports a remote Streamable HTTP MCP server: Claude Desktop, Claude Web, Claude Code, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.

How do I connect YouTube Analytics to Claude Code?

Connect YouTube Analytics in PopMCP first, then run claude mcp add --transport http popmcp https://app.popmcp.com/mcp in a terminal. Inside Claude Code, run /mcp and sign in to PopMCP in the browser window it opens, ticking YouTube Analytics on the consent screen. The YouTube Analytics tools are then available in that session, and no YouTube Analytics credential is stored on your machine.

Why do only 26 of the 40 tools load by default?

Loading 40 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 26-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. Every tool stays searchable, and on Scale the owner can load the full catalog for a teammate's connection.

What is the difference between a tool and a trigger?

A tool is something your AI calls, and there are 40 here. A trigger is something PopMCP watches for you: 8 YouTube Analytics events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into YouTube Analytics.

Connect YouTube Analytics to your AI in minutes

Launch a hosted MCP endpoint for YouTube Analytics, keep tool access under control, and start testing real workflow prompts right away.

Connect your first MCP