YouTube Transcript MCP Server
Give Claude, ChatGPT, Cursor, Claude Code and any MCP client the ability to read YouTube transcripts. Hosted, nothing to install. Free API key: 10 requests a day.
A hosted Model Context Protocol server that exposes one tool, get_youtube_transcript, backed by youtube-transcript.ai. Paste a YouTube link mid-conversation and your AI reads the full transcript on demand.
Connector URL:
https://youtube-transcript.ai/mcp?key=YOUR_KEY
Replace YOUR_KEY with your API key. Create a free key with a Google sign-in; it takes about a minute.
Why
- Free to start. A free key covers 10 transcripts a day. Pro is 1,000 a day for $120 a year, on the same key.
- Reliable. A hardened fetch pipeline with proxy fallback returns transcripts even on videos that block typical scrapers.
- Any language. Pick a caption track by language code (
en,zh-CN,es,ja, …) or let it choose the default. - Built for agents. One tool, plain-text output with title and metadata. Multi-hour videos come back in parts, so nothing gets cut off.
Authentication
Tool calls need an API key. There is no OAuth. Send the key in one of two ways:
| Where | Example |
|---|---|
| Header | Authorization: Bearer YOUR_KEY |
| URL | https://youtube-transcript.ai/mcp?key=YOUR_KEY |
The URL form is for clients that only accept a connector URL.
Quick start
Claude (web / desktop)
Settings → Connectors → Add custom connector
| Field | Value |
|---|---|
| Name | youtube-transcript.ai |
| URL | https://youtube-transcript.ai/mcp?key=YOUR_KEY |
Then ask: “Summarize this video: https://youtu.be/dQw4w9WgXcQ”
ChatGPT
In the custom connector / MCP server setup, add an MCP server with URL https://youtube-transcript.ai/mcp?key=YOUR_KEY (transport: Streamable HTTP), enable it for your chat, then paste a YouTube link.
Claude Code
claude mcp add --transport http --scope user youtube-transcript \
https://youtube-transcript.ai/mcp \
--header "Authorization: Bearer YOUR_KEY"
Cursor
Add to ~/.cursor/mcp.json, or to .cursor/mcp.json inside one project:
{
"mcpServers": {
"youtube-transcript": {
"url": "https://youtube-transcript.ai/mcp",
"headers": { "Authorization": "Bearer YOUR_KEY" }
}
}
}
Codex
Add to ~/.codex/config.toml:
[mcp_servers.youtube-transcript]
url = "https://youtube-transcript.ai/mcp"
http_headers = { "Authorization" = "Bearer YOUR_KEY" }
Clients that only launch local servers
For clients that start MCP servers from a config file and cannot take a remote URL, bridge with mcp-remote:
{
"mcpServers": {
"youtube-transcript": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://youtube-transcript.ai/mcp?key=YOUR_KEY"]
}
}
}
Let your agent do it
Paste https://youtube-transcript.ai/mcp.md into a coding agent. It is a plain-text version of these instructions, written for an AI to follow.
Tool reference
get_youtube_transcript
Fetch the full text transcript of a YouTube video.
| Parameter | Type | Required | Description |
|---|---|---|---|
video |
string | yes | YouTube URL (watch, youtu.be, shorts, embed) or a bare 11-character video ID |
lang |
string | no | Caption language code, e.g. en, zh-CN, es. Omit for the default track |
offset |
integer | no | Where to continue a long transcript. Use the value given at the end of the previous part |
Returns plain text: the transcript with title, duration, and a list of available languages. Transcripts over 120,000 characters come back in parts; each part ends with a note giving the offset for the next call.
Example prompts
- “Summarize the key points of
<link>in 5 bullets.” - “Pull the transcript of this video and translate it to Spanish.”
- “What does the speaker say about pricing in
<link>? Quote the exact lines.”
Programmatic use
The server speaks standard MCP over Streamable HTTP (JSON-RPC). A zero-dependency example is in examples/quickstart.mjs:
YT_TRANSCRIPT_KEY=YOUR_KEY node examples/quickstart.mjs https://youtu.be/dQw4w9WgXcQ
Calling from your own code without MCP? There is a plain HTTP endpoint too: see the YouTube Transcript API.
Limits
- Free: 10 requests a day. Pro: 1,000 a day for $120 a year. Upgrade from the key page.
- Every tool call counts as one request, including each part of a long transcript. The count resets at 00:00 UTC.
- The video needs captions, either written by the uploader or auto-generated by YouTube.
Notes
- Not affiliated with YouTube or Google. Transcripts are fetched from publicly available captions.
- Listed in the official MCP Registry as
ai.youtube-transcript/youtube-transcript.
Links
- Web tool (no AI client needed): https://youtube-transcript.ai
- Connector landing page: https://youtube-transcript.ai/mcp
- HTTP API: https://youtube-transcript.ai/api
License
MIT