YouTube MCP Server

One remote URL gives Claude, ChatGPT, Cursor, and any other MCP-compatible client real YouTube access - transcripts, search, channels, and playlists - right inside the conversation.

  • ✓100 free credits to start, no credit card required
  • ✓One API key works for both the MCP server and the REST API
  • ✓Checking a channel's latest uploads is always free
  • ✓Works with Claude, ChatGPT, Cursor, VS Code, Windsurf, Cline, and Codex

What is MCP?

The Model Context Protocol lets an AI assistant call tools mid-conversation instead of you copy-pasting data in by hand. This server is hosted - point a client at one URL and it discovers the available tools automatically. Nothing to install or run locally.

Connect it in about a minute

Streamable HTTP. Every client below points at the same URL:

https://getyoutubetranscript.com/api/mcp

Claude (Web & Desktop)

Settings -> Connectors -> Add custom connector, then paste the URL below. Claude prompts you to sign in and connect - no key to copy.

https://getyoutubetranscript.com/api/mcp

ChatGPT

Settings -> Connectors -> Advanced -> Developer mode, add a connector with the URL below, then connect and sign in.

https://getyoutubetranscript.com/api/mcp

Claude Code

One command, using an API key from your dashboard:

claude mcp add --transport http getyoutubetranscript https://getyoutubetranscript.com/api/mcp \
  --header "Authorization: Bearer sk_live_..."

Cursor

Add to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project only):

{
  "mcpServers": {
    "getyoutubetranscript": {
      "url": "https://getyoutubetranscript.com/api/mcp",
      "headers": {
        "Authorization": "Bearer sk_live_..."
      }
    }
  }
}

VS Code (Copilot)

Add to .vscode/mcp.json. VS Code prompts for the key once via the input below and stores it securely instead of writing it into the file:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "gyt-api-key",
      "description": "GetYouTubeTranscript API key",
      "password": true
    }
  ],
  "servers": {
    "getyoutubetranscript": {
      "type": "http",
      "url": "https://getyoutubetranscript.com/api/mcp",
      "headers": {
        "Authorization": "Bearer ${input:gyt-api-key}"
      }
    }
  }
}

Codex CLI

Add to ~/.codex/config.toml, then export the environment variable it references:

[mcp_servers.getyoutubetranscript]
url = "https://getyoutubetranscript.com/api/mcp"
bearer_token_env_var = "GYT_API_KEY"
export GYT_API_KEY="sk_live_..."

Windsurf & Cline

Same mcpServers JSON shape as Cursor above, in Windsurf's or Cline's own MCP settings file.

Available tools

ToolWhat it doesCost
get_youtube_transcriptFull transcript plus title, author, thumbnail1 credit
search_youtubeSearch videos or channels, paginated1 credit
get_channel_latest_videosA channel's metadata and recent uploadsFree
search_channel_videosSearch within one channel1 credit
list_channel_videosEvery video a channel has uploaded1 credit
list_playlist_videosEvery video in a playlist1 credit
get_creditsRemaining credit balance for the keyFree

Same tools, same credit costs, as the REST API - see the API docs for the equivalent endpoints.

What it looks like in the conversation

> What did the latest 3Blue1Brown video say about neural networks?

I'll check their channel for the newest upload, then pull its transcript.

get_channel_latest_videos(channel: "@3blue1brown")

get_youtube_transcript(video_url: "...")

Their latest video explains backpropagation as repeatedly asking "how does nudging this number change the final cost?" - covering the chain rule, gradient vectors, and why deeper networks need more careful initialization...

Pricing

100 free credits to start. Then $5/mo for 1,000 credits ($4.50/mo billed annually). One credit is one successful tool call - failed and rate-limited calls are never charged. Full breakdown, including rate limits per tier, is in the API docs.

Note

Building your own client, or feeding this into codegen? The full REST endpoint contract is published at /openapi.json (OpenAPI 3.0) - the same endpoints these MCP tools call under the hood. Human-readable version: API docs.

MCP server FAQs

Which MCP clients does this work with?

Any client that speaks Streamable HTTP MCP: Claude (web, desktop, Code), ChatGPT, Cursor, VS Code, Windsurf, Cline, and Codex CLI are covered above. If a client supports a remote HTTP MCP server, it will work here too.

Do I need to install or run anything?

No. The server is hosted at getyoutubetranscript.com - a client just needs the URL (and, for non-OAuth clients, an API key). There's no local process, no yt-dlp, no proxy to manage.

How is this different from an open-source MCP server I run myself?

A self-hosted server runs on your machine or your own server and usually needs you to manage YouTube access (cookies, proxies, rate limits) yourself. This one is hosted: sign-up is self-service, requests run through our infrastructure, and you're billed in credits instead of managing scraping infrastructure.

I got a 401 error - what do I do?

For OAuth clients (Claude, ChatGPT), reconnect the connector from its settings page - the connection likely expired or was revoked. For API-key clients (Cursor, VS Code, Claude Code, Codex), check the key is pasted correctly with no extra whitespace and hasn't been revoked from the dashboard.

My assistant answered from memory instead of calling a tool

Models sometimes assume they already know a video's content. Ask explicitly: "use the YouTube MCP tool to fetch the transcript first" - that's usually enough to force the tool call.

What happens if a video has no captions in the language I asked for?

get_youtube_transcript returns a TRANSCRIPT_NOT_FOUND error rather than a wrong-language guess. Try without a language parameter (defaults to English) or check the video actually has captions in that language on YouTube first.

Does this consume my YouTube Data API quota?

No. It doesn't proxy captions.download with your own key, so there's no 10,000-unit daily ceiling to manage - only the per-plan request rate limit.

Can I use the same API key for MCP and the REST API?

Yes - one key, one credit balance, shared across both. Connecting via OAuth (Claude/ChatGPT connectors) instead of a key still draws from the same account balance; we mint a dedicated key behind the scenes that shows up in your dashboard's key list, so you can see or revoke that connection like any other key.