How to Give Claude Access to YouTube Videos (via MCP)

Claude is a strong reading and reasoning partner. It will happily summarize a 40-page PDF, traverse a GitHub repo, or pull facts from a webpage you paste in. But ask it to watch a YouTube video, and it shrugs. The model can’t open the player. It can’t read the captions. It can’t tell you what the speaker said in the third hour of a livestream.

This post walks through the cleanest way I’ve found to fix that — connecting Claude to YouTube through an MCP server. The specific server I’ll use is SubDownload’s, because that’s what I built; the pattern works for any compatible MCP YouTube server you’d rather use.

New to MCP? The short explainer is in What is MCP (and why YouTube needs one). This post assumes you know what an MCP server is and want to get one talking to Claude.

Why Claude can’t read YouTube

Claude — the model itself — works on text. It doesn’t have a built-in browser, it doesn’t run audio decoders, and YouTube doesn’t give third parties a clean transcript API for arbitrary videos. The captions you see in the YouTube player are accessible to Google, but not generally to your AI client unless something else fetches and processes them first.

So if you want Claude to engage with YouTube content, something else has to:

  1. Resolve the video URL into a transcript.
  2. Fall back to AI transcription when no captions exist.
  3. Hand the result back to Claude in a form the model can read.

That “something else” is exactly what an MCP server is for.

What MCP gives you

MCP — the Model Context Protocol — is the spec that lets a Claude client (Claude Desktop, Claude Code, Cursor, and a growing list of others) call out to an external tool. The client talks to the server. The server does the work — fetch a transcript, search a channel, return JSON. Claude reads the result and reasons over it like any other context.

Three properties of MCP that matter for the YouTube use case:

Connecting SubDownload’s MCP server to Claude Desktop

Concretely: SubDownload exposes an MCP server at api.subdownload.com/mcp. To plug it into Claude Desktop:

  1. Sign in once at subdownload.com and grab an API key (or use OAuth — the server supports OAuth 2.1 with Dynamic Client Registration via RFC 7591).
  2. Open Claude Desktop’s settings → MCP servers, and add a new server entry pointing at https://api.subdownload.com/mcp. Authenticate with the API key or run through the OAuth flow.
  3. Restart Claude Desktop. The SubDownload tools — fetch transcript, list channel videos, search a channel, fetch metadata — show up in the tool list.

I’m intentionally not pasting a JSON config block here. The exact field names in MCP client configs change every couple of releases, and any snippet I publish will be subtly wrong by the time you read this. Use Claude Desktop’s current MCP setup docs for the canonical format.

The same idea applies for Claude Code, Cursor, and other MCP-aware clients. The endpoint and the auth are the same; the UI you click through is different.

What you can ask Claude once it’s connected

This is the part that pays for the setup. A few prompts I use weekly:

Each of these would be a 30-minute scrubbing job by hand. With MCP, they’re a single message.

Edge cases the server handles

A few things worth knowing about the SubDownload MCP server specifically:

Other paths: REST API and Agent Skills

If you don’t want to set up MCP, the same backend is reachable two other ways:

MCP is the most flexible path. Skills is the easiest. REST is the lowest-level. Pick whichever fits your stack.

Try it

Step zero is just confirming the backend works for the videos you actually care about. The simplest way to test is to paste a YouTube URL into the box on subdownload.com and watch the transcript and summary come back. If it works there, the same backend serves the MCP tools.

If you want the broader story behind the product — the three pillars and why I led with the knowledge-base half — that’s in the launch announcement.

If you build something on top of the MCP server, find a bug, or want to argue about the design, ping me at contact@subdownload.com.