---
title: "YouTube MCP Server for Claude, ChatGPT, Cursor | Scrape.ly"
description: "A YouTube MCP server for Claude, ChatGPT and Cursor: public videos, channels and comments with no API key or quota. Setup, real runs and costs."
url: https://scrape.ly/blog/youtube-mcp
markdown: https://scrape.ly/blog/youtube-mcp.md
---

[AI agents](https://scrape.ly/blog/category/ai-agents.md)

# YouTube MCP: Video, Channel and Comment Data for Claude, ChatGPT and Cursor

A YouTube MCP server lets your AI agent read public videos, channels, captions and comments right in the chat. Connect Scrape.ly's hosted server to Claude, ChatGPT or Cursor without a YouTube Data API key or quota, and see the exact tool calls, real output and costs.

[Scrape.ly Team The team behind Scrape.ly](https://scrape.ly/blog/author/scrapely-team.md)

- Published

  Oct 26, 2026

- Reading time

  9 min read

![Pixel-art robot with an orange >\_ on its terminal head carries a cable from a monitor showing the red YouTube logo above a video thumbnail and its title into a server rack labelled MCP](https://scrape.ly/media/youtube-mcp.png?w=1080)

A YouTube MCP server is a Model Context Protocol server that gives an AI agent such as Claude, ChatGPT or Cursor tools for YouTube data: video titles, views and likes, channel stats, caption tracks and comments. The best YouTube MCP setup for research is the hosted Scrape.ly MCP server, because your agent runs ready-made YouTube scrapers in the cloud against public pages, for any channel, with no YouTube Data API key, no Google Cloud project and no daily quota to plan around.

This guide covers the setup for each client, the two YouTube Actors your agent uses, the tool calls it makes, and what came back from real runs: NASA's five newest videos in 6.7 seconds for two cents, a comments request that taught the agent something about NASA, and five top comments from a NASA JPL video.

## Two kinds of YouTube MCP server

Most of page one for "youtube mcp" is servers that wrap the official YouTube Data API. The top result on 26 October 2026, [ZubeidHendricks/youtube-mcp-server](https://github.com/ZubeidHendricks/youtube-mcp-server), exposes 10 tools for videos, transcripts, channels and playlists, and needs a YouTube Data API key in `YOUTUBE_API_KEY`. It accepts up to three keys, and its README explains why: "When a request fails because a key has exhausted its quota, the server retries the same request with the next configured key."

That quota is the catch. Google's [YouTube Data API overview](https://developers.google.com/youtube/v3/getting-started) says you need a Google Account, a Cloud project and an API key, and that a project's default allocation is "100 `search.list` calls" per day, plus 10,000 units a day for the other endpoints. An agent comparing ten creators burns through that in an afternoon.

The rest of page one connects your own channel (Composio's toolkit lets agents "list your most recent uploaded videos, get subscriber count for your channel") or publishes to it (Blotato calls its server one "that publishes, not scrapes"). Those are tools for an account you own. Research questions are usually about channels you don't own.

|               | Scrape.ly MCP server                                   | YouTube Data API servers         | Account connectors       |
| ------------- | ------------------------------------------------------ | -------------------------------- | ------------------------ |
| What you need | A Scrape.ly account                                    | Google Cloud project and API key | Your YouTube account     |
| Daily limit   | None; you pay per result                               | 100 searches a day by default    | Depends on the connector |
| Whose data    | Any public video, channel, playlist, hashtag or search | Public data within quota         | Mostly your own channel  |
| Comments      | Yes, with likes, reply counts and creator hearts       | Depends on the server            | Depends on the connector |
| Where it runs | Hosted at `https://mcp.scrape.ly`                      | Usually on your machine          | Hosted                   |
| Cost control  | Pay per result, a dollar cap per run, scoped keys      | Quota units                      | The vendor's plan        |

## How to connect the Scrape.ly MCP server

The [Scrape.ly MCP server](https://scrape.ly/mcp.md) is hosted at `https://mcp.scrape.ly`, speaks MCP's streamable HTTP transport and signs you in with OAuth or a Scrape.ly API token. Create a free account first; the free plan includes $5 of usage every month, no card needed.

**Claude Code.** One command, then `/mcp` inside Claude Code to sign in:

```shell
claude mcp add --transport http scrapely https://mcp.scrape.ly
```

**Claude Desktop and claude.ai.** Add `https://mcp.scrape.ly` as a custom connector under **Customize → Connectors** and sign in with OAuth. Our [Claude MCP guide](https://scrape.ly/blog/claude-mcp-web-data.md) has the click-by-click steps.

**Cursor.** Add this to `~/.cursor/mcp.json`, or leave out `headers` to sign in with OAuth:

```json
{
  "mcpServers": {
    "scrapely": {
      "url": "https://mcp.scrape.ly",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}
```

**ChatGPT, VS Code, Windsurf and others.** Use the same URL with OAuth or a Bearer header; the [MCP docs](https://scrape.ly/docs/mcp.md) list each format.

**A YouTube-only server.** To give the agent exactly the two YouTube tools, put them in the URL:

```plaintext
https://mcp.scrape.ly?actors=echofield/youtube-scraper,echofield/youtube-comments-scraper
```

## The YouTube scrapers your agent can use

| Actor                                                                                     | Input                                                              | What comes back                                                                                                                                           | Price per 1,000 |
| ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- |
| [YouTube Scraper](https://scrape.ly/store/echofield/youtube-scraper.md)                   | Search terms, or video, channel, playlist, hashtag and search URLs | Title, views, likes, upload date, duration, description, tags, chapters, channel name and subscribers, caption tracks; regular videos, Shorts and streams | $3.95 results   |
| [YouTube Comments Scraper](https://scrape.ly/store/echofield/youtube-comments-scraper.md) | Video URLs (watch, youtu.be, Shorts, live)                         | Comment text, author, likes, reply count, creator heart, channel-owner flag, the video's title and total comment count                                    | $1.44 comments  |

Both are pay per result with platform usage included, as listed on their Store pages on 26 October 2026. The YouTube Scraper adds $0.00106 per result when you use its date filter; subtitles cost nothing extra. Inputs that give no videos, like a channel that doesn't exist, are listed in the run's output record and never charged.

## What the agent does: the four tool calls

1. **`search-actors`** with "youtube" finds the Actors above.
2. **`fetch-actor-details`** returns the input schema, README and price, so the agent knows that a channel goes in `startUrls` and the cap goes in `maxResults`.
3. **`call-actor`** starts the run and waits up to 45 seconds. Both runs below finished well inside that.
4. **`get-actor-output`** reads the results, with just the fields the agent asks for.

The rows never land in the `call-actor` reply, so a 500-video channel export doesn't flood the context window.

## A real run: NASA's five newest videos

The prompt: "Use scrapely to get NASA's five newest YouTube videos with views, likes and length, and tell me which one is pulling the most engagement."

The agent sends `echofield/youtube-scraper` the shape of the Store's channel URL preset, sorted newest first, with a cap:

```json
{
  "actor": "echofield/youtube-scraper",
  "input": {
    "startUrls": [{ "url": "https://www.youtube.com/@NASA" }],
    "maxResults": 5,
    "sortVideosBy": "NEWEST"
  },
  "waitSecs": 45,
  "callOptions": { "maxTotalChargeUsd": 0.05 }
}
```

Our run on 26 October 2026 took 6.7 seconds and ended with "Saved 5 results." The agent read the fields it needed:

```json
{
  "runId": "0dc1791386a84a68a",
  "fields": "title,date,duration,viewCount,likes,channelName,numberOfSubscribers,isChannelVerified"
}
```

What came back (both Moon Base titles start with "NASA" on YouTube; we dropped the prefix to keep the table narrow):

| Published  | Title                                                              | Length | Views   | Likes  | Likes per view |
| ---------- | ------------------------------------------------------------------ | ------ | ------- | ------ | -------------- |
| 2026-10-20 | Moon Base: Rovers and Lunar Terrain Vehicles (October 2026 Update) | 9:17   | 897,380 | 10,850 | 1.21%          |
| 2026-10-14 | Planetary Defenders: This Is Not an Exercise                       | 20:15  | 650,424 | 11,467 | 1.76%          |
| 2026-09-30 | NASA's SpaceX Crew-13 Mission (Official NASA Trailer)              | 1:02   | 105,472 | 1,302  | 1.23%          |
| 2026-09-08 | Moon Base: The First Six Months                                    | 1:07   | 527,737 | 9,090  | 1.72%          |
| 2026-09-04 | What It Takes                                                      | 2:32   | 328,525 | 8,300  | 2.53%          |

The Moon Base update led on reach with almost 900,000 views in six days, while "What It Takes" had the most engaged audience at 2.53% likes per view. Every row also carried the channel header: NASA is verified, has 15.1 million subscribers, 6,194 videos and 1.13 billion total views, and joined YouTube on June 3, 2008. Each video listed its caption tracks too, an English track plus more than 20 auto-generated languages, which the agent can download by adding `"transcriptionAndSubtitle": "ALWAYS_SUBTITLES"`.

Cost: 5 × $0.00395 = $0.01975 at list price, platform usage included. Our account was billed $0.0158 after its plan's Store discount.

## A real run: comments, and what happens when they're off

The follow-up prompt: "Now get the five top comments on the Moon Base update."

The agent sent `echofield/youtube-comments-scraper` the video URL, `"maxComments": 5` and `"sortCommentsBy": "TOP_COMMENTS"`. Six seconds later the run came back with no rows and this status:

```plaintext
No results: none of the 1 video link(s) could be read. 1 video link(s) failed, e.g. https://www.youtube.com/watch?v=Zezt6EsG9WE: This video has comments turned off or has no comments. (see failedInputs in OUTPUT).
```

NASA had comments turned off on that video. The Actor said so in plain words, listed the URL under `failedInputs`, and charged nothing: the run cost $0. A good agent reports that back instead of guessing.

For a video with comments on, here's a run we did on 22 October 2026 for the top five comments on NASA JPL's "NASA's SkyFall Mars Helicopters" video, which had 446 comments in total. Commenters are private people, so they're shown as `[commenter 1]` to `[commenter 5]`:

| Commenter      | Comment                                                                          | Likes | Replies |
| -------------- | -------------------------------------------------------------------------------- | ----- | ------- |
| \[commenter 1] | Nice JPL! Ingenuity lives on in blueprint!                                       | 252   | 0       |
| \[commenter 2] | We announcing Space Missions like movie trailers now. Can't say I'm complaining. | 238   | 7       |
| \[commenter 3] | Ingenuity brothers and sisters are here!!                                        | 155   | 1       |
| \[commenter 4] | Woah, this is the Space Week as well.                                            | 58    | 0       |
| \[commenter 5] | Now we need the government to give NASA a bigger budget and we will be set       | 40    | 3       |

That run took 5 seconds. At today's list price, five comments cost 5 × $0.00144 = $0.0072. Our guide on [scraping YouTube comments](https://scrape.ly/blog/scrape-youtube-comments.md) covers sorting, date filters and exports.

Scrape.ly Store Give your agent YouTube data Public videos, channels, playlists and searches with views, likes, durations and caption tracks. No API key, no quota. $3.95 per 1,000 results, callable from any MCP client.

[Try it free](https://scrape.ly/store/echofield/youtube-scraper.md) [Browse the Store](https://scrape.ly/store.md)

## Prompts that work well

Name the Actor, the size of the job and a cap, and the agent handles the rest:

- "Use scrapely to search YouTube for 'home espresso review' uploaded this month, 20 videos, and rank the channels by total views."
- "Get the 10 most popular videos on the @veritasium channel with echofield/youtube-scraper and list their length and likes per view."
- "Download the English captions of this video as plain text and summarize the main argument."
- "Pull the 100 newest comments on this video and group them into questions, complaints and praise."
- "Do all of this with a maximum charge of $0.25 per run."

The agent turns the last line into `callOptions.maxTotalChargeUsd`.

## What your agent can and can't get from YouTube

These Actors read what YouTube shows any logged-out visitor. That covers most research, and the edges are worth knowing:

- **Captions, not speech-to-text.** The YouTube Scraper downloads caption tracks that already exist, manual or auto-generated, in SRT, VTT, XML or plain text. It doesn't transcribe audio itself, so a video with no captions has no transcript.
- **Comment counts and comment text come from different Actors.** The YouTube Scraper returns the comment count on a video's page; the bodies come from the Comments Scraper. In our channel run the listing rows didn't carry a comment count, so ask for it from the video URLs when it matters.
- **Top-level comments.** The Comments Scraper returns top-level comments with a `replyCount`; reply threads aren't expanded, and publish times are relative ("2 weeks ago").
- **Comments turned off, age restrictions, missing channels.** All three come back as a named reason in `failedInputs` (`NO_COMMENTS`, `AGE_RESTRICTED`, `CHANNEL_DOES_NOT_EXIST`) and cost nothing.
- **Public data only.** Watch time, revenue and the rest of a channel's analytics are visible only to its owner, so they aren't in the output.
- **Commenters are people.** Treat comment data as personal data under the GDPR, CCPA and similar laws: collect what the task needs and keep it short-term. This isn't legal advice.

## Spending control for agents

- **A dollar cap per run.** `maxTotalChargeUsd` caps everything a run can cost, and the YouTube Actors stop cleanly at the cap.
- **Scoped API keys with daily charge limits.** Give an unattended agent its own key under **Settings → API keys** with only `actors:run` and `runs:read`.
- **A prepaid balance.** Usage draws from your balance. No surprise invoice.

For a REST endpoint instead of a chat, the [YouTube API](https://scrape.ly/api/youtube-api.md) page has Python, JavaScript and cURL examples, and the [YouTube scraping guide](https://scrape.ly/blog/youtube-scraping.md) walks through every input without an agent. The same server works for other sites: see [Google Maps MCP](https://scrape.ly/blog/google-maps-mcp.md) and the [best MCP servers for web scraping](https://scrape.ly/blog/best-mcp-servers-for-web-scraping.md).

## FAQ

### Is there an MCP for YouTube?

Yes, several. Most wrap the YouTube Data API and need your own API key and quota; others connect or publish to your own channel. The Scrape.ly MCP server runs YouTube scrapers in the cloud that read any public video, channel or comment section, with no API key.

### What is the YouTube MCP server URL?

For Scrape.ly it's `https://mcp.scrape.ly`, the same for Claude, ChatGPT, Cursor and every other client. Add `?actors=echofield/youtube-scraper,echofield/youtube-comments-scraper` to expose only the YouTube tools.

### Can Claude watch YouTube videos?

Not the video itself. Through MCP, Claude reads everything around it: title, description, views, likes, chapters, caption tracks and comments. With the captions downloaded, Claude can summarize or quote what was said in the video.

### Can I get YouTube transcripts with MCP?

Yes, when the video has captions. Set `transcriptionAndSubtitle` to `ALWAYS_SUBTITLES` on the YouTube Scraper and pick a language and format; caption downloads cost no extra event.

### Do I need a YouTube Data API key?

No. The Scrape.ly Actors read public YouTube pages, so there's no Google Cloud project, API key or 100-searches-a-day quota. You only need a Scrape.ly account.

### Is there a free YouTube MCP server?

The Scrape.ly server costs nothing to connect, and the free plan's $5 of monthly usage covers about 1,265 videos at $3.95 per 1,000. Our five-video NASA run cost under two cents.

About the author

[Scrape.ly Team](https://scrape.ly/blog/author/scrapely-team.md) The team behind Scrape.ly

Scrape.ly is the web data platform from TeraShift GmbH in Switzerland, powered by Evomi: ready-made scrapers in the Scrape.ly Store, a cloud runtime, an API with JavaScript and Python SDKs, proxies, a hosted anti-bot browser and an MCP server for AI agents.

- [Website](https://scrape.ly/index.md)

Keep reading

## More in AI agents

- [![Pixel-art robot with an orange >\_ on its terminal head carries a cable from a cork job board topped with the blue Indeed logo and pinned with job cards into a server rack labelled MCP](https://scrape.ly/media/indeed-mcp.png?w=750)](https://scrape.ly/blog/indeed-mcp.md)
  ### [Indeed MCP: Job Listings for Your AI Agent, in Any MCP Client](https://scrape.ly/blog/indeed-mcp.md)
  [Indeed's own MCP server works only as a Claude connector and asks for your Indeed login. Scrape.ly's hosted MCP server gives Claude, ChatGPT, Cursor or any MCP client public Indeed jobs with pay, employer ratings and full descriptions. Setup, tool calls, a real run and costs.](https://scrape.ly/blog/indeed-mcp.md)
- [![Pixel-art robot with an orange >\_ on its terminal head feeds a Markdown file with an orange # heading into the slot of a dark box labelled LLM, next to a web page and a small stack of Markdown files](https://scrape.ly/media/website-to-markdown-for-llms.png?w=750)](https://scrape.ly/blog/website-to-markdown-for-llms.md)
  ### [RAG Web Scraping: How to Turn Any Website Into Markdown for LLMs](https://scrape.ly/blog/website-to-markdown-for-llms.md)
  [RAG web scraping turns a website into clean Markdown your model can retrieve from. A real 10-page crawl of the FastAPI docs shows why the HTML cleaner decides whether your code examples survive, plus tested chunking code, token counts and the cost per 1,000 pages.](https://scrape.ly/blog/website-to-markdown-for-llms.md)
- [![Pixel-art robot with an orange >\_ on its terminal head carries a cable from a tall Google Maps pin into a server rack labelled MCP](https://scrape.ly/media/google-maps-mcp.png?w=750)](https://scrape.ly/blog/google-maps-mcp.md)
  ### [Google Maps MCP: Places and Reviews for Claude, ChatGPT and Cursor](https://scrape.ly/blog/google-maps-mcp.md)
  [A Google Maps MCP server lets your AI agent find places, ratings, opening hours and reviews right in the chat. Connect Scrape.ly's hosted server to Claude, ChatGPT or Cursor without a Google Cloud project or Maps API key, and see real tool calls, output and costs.](https://scrape.ly/blog/google-maps-mcp.md)

## The internet is full of data. Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes.

[Get Started Free](https://my.scrape.ly/register) [Chat with Support](mailto:hello@scrape.ly?subject=Question%20about%20Scrape.ly\&body=Hi%2C%20I%20have%20a%20question%20about%20Scrape.ly.)

No credit card. No setup calls.
