The Model Context Protocol (MCP) lets ChatGPT, Claude, and Grok fetch a YouTube transcript themselves, mid-conversation, instead of making you paste one in. It kills a six-step loop: switch tabs, paste a video URL into a transcript tool, wait, copy the output, switch back, paste it into the chat. Only then do you get to ask the question you opened the chat for.
YouTube Video Transcript runs a remote MCP server at https://api.youtubevideotranscript.io/mcp. Add it once in your chat client, paste a video URL into any chat, and the model pulls the transcript and answers from it. Each transcript costs 1 credit, the same as one pulled from the website, and a new free account gets 30 a month. See the MCP page for the short version and the per-client install guides.
What is MCP?
MCP is an open standard, published by Anthropic in November 2024, that lets an AI chat client discover a server’s tools, call them with typed arguments, and read structured results back. It runs over JSON-RPC 2.0. OpenAI and xAI both shipped MCP support across 2025 and 2026, which is why a single server address works in all three chat apps. The tools themselves are defined by whoever runs the server, so what MCP gives you depends entirely on which server you connect.
What does the YouTube Video Transcript MCP server expose?
Fourteen tools, documented at /docs/mcp. Three spend credits:get_transcript, one per successful transcript; create_bulk_job, one per video in the job; and get_video_comments, one per nonempty page, including replies. The other eleven tools cover search, video details, listings, job results, and usage without spending credits. The three below are the ones most people use first.
| Tool | What it returns | Arguments | Cost |
|---|---|---|---|
get_transcript | The transcript of one video | Video URL or 11-character video ID, optional BCP-47 language code, optional format | 1 credit on success; +1 for an optional nonempty comments page |
list_channel_videos | One page of a channel’s videos plus a continuation token | Channel URL, @handle or UC ID, optional continuation token | Free |
list_playlist_videos | One page of a playlist’s videos plus a continuation token | Playlist URL or ID, optional continuation token | Free |
The format argument on get_transcript is the one worth knowing about, because it decides how many tokens a transcript costs you inside the chat. The model picks it from your question without being told.
format | Shape of the output | Ask it for |
|---|---|---|
text (default) | Every segment joined into one block of prose | Summaries, themes, sentiment, fact-checking |
timestamps | One segment per line as [mm:ss] text, switching to [hh:mm:ss] on videos past the one-hour mark | Citing a moment, picking clips, building chapters |
json | Structured JSON with per-segment objects, language, and video metadata | Programmatic post-processing that needs every field |
Bulk channel and playlist jobs also work through MCP on a paid plan. The model starts a background job, checks its progress, and reads finished transcripts without paying again. The same jobs are accessible from the web app and the REST API (POST /api/v1/jobs).
Why not just paste the transcript into the prompt?
For one question about one video, pasting is fine and costs nothing. It falls apart on the second question. A pasted transcript is a fixed block of text you committed to before you knew what you wanted, so follow-ups about a different section mean another round trip to a transcript tool, and the timestamps usually did not survive the copy anyway.
With the connector installed, the model calls get_transcript when it decides it needs the transcript, and chooses text or timestamps based on what you asked. Ask “when does she define recursion?” and it requests the timestamped shape and quotes the [mm:ss] line back. Ask for a summary and it requests plain prose, which is cheaper in tokens. Drop a channel URL and it can enumerate the videos first with list_channel_videos, free, before spending a credit on any single one.
The other difference is where the server runs. A local stdio MCP server, the kind your client launches as a Node or Python process on your own machine, is unreachable from a phone or from a hosted chat surface, because there is no process there to launch. https://api.youtubevideotranscript.io/mcp is a remote Streamable HTTP server with OAuth 2.1 and Bearer API key auth, so Claude on an iPhone and ChatGPT on the web can both call it with nothing installed locally.
496 transcripts have been delivered through the YouTube Video Transcript MCP server, across 47 accounts. Figures as of September 2026.
Which chat clients can install it, and what does each one need?
Six surfaces across three vendors, split by whether the client accepts an OAuth connector or a pasted Bearer key. The table below reflects what each vendor documented as of August 2026; vendors move these, and the install guides under /docs/mcp are the version we keep current.
| Surface | Auth | Plan requirement |
|---|---|---|
| Claude.ai web, Claude Desktop, Claude mobile | OAuth custom connector | Free, Pro, Max, Team, Enterprise. Free is capped at one connector |
| Claude Code CLI, VS Code / JetBrains / Cursor | API key in an Authorization header | Any Claude Code plan |
| ChatGPT web | OAuth via Apps & Connectors, Developer Mode on | OpenAI lists Developer Mode for Pro, Plus, Business, Enterprise, Education. Free is not supported |
| OpenAI Responses API | API key | Any OpenAI API account |
| grok.com | API key in the Custom Connector dialog | Depends on whether your account exposes the Connectors menu |
| xAI API | API key | Any xAI API account |
Two things catch people out. ChatGPT and Grok both make you switch the connector on again in every new conversation, from the + menu in the composer, which is the single thing people most often mistake for a broken install. And the Grok built into x.com and the X mobile app does not expose the Connectors menu at all, so the install has to happen at grok.com with the same account.
How do you install it in ChatGPT?
Switch on Developer Mode, then add the server as a custom connector. In ChatGPT on the web, open Settings, then Apps & Connectors, scroll to Advanced settings and toggle Developer mode on. Back in Apps & Connectors, click Create, name it, paste https://api.youtubevideotranscript.io/mcp as the MCP server URL, choose OAuth, tick “I trust this application”, and click Create. ChatGPT opens our consent page: sign in with the Google account you use for YouTube Video Transcript and click Allow.
In a new chat, open the + menu, go to More, then Developer mode, and toggle the connector on for that conversation. On Team, Business, and Enterprise workspaces an admin has to enable Developer Mode first under Workspace Settings. The click-by-click version, including that admin step, is at /docs/mcp/chatgpt.
How do you install it in Claude?
Claude has two install paths. The hosted apps (Claude.ai web, Claude Desktop, Claude mobile) use OAuth: open Settings, then Connectors, click Add custom connector, and paste https://api.youtubevideotranscript.io/mcp as the remote MCP server URL. Connectors are stored on the Claude account, so installing on the web puts the tools on Desktop and mobile too.
Two choices on that screen matter. Set authentication to Always required and OAuth client to Use Anthropic’s hosted client metadata, the option Claude labels Recommended. Claude identifies itself with a document Anthropic hosts and our server verifies it, so there is no client ID to paste. Click Add, sign in on our consent screen, click Allow, then switch the connector on from the slider icon at the bottom right of the message box.
Claude Code and the VS Code, JetBrains, and Cursor extensions take a Bearer header instead, so there is no OAuth step:
claude mcp add --transport http --scope user --header "Authorization: Bearer yvt_live_YOUR_KEY" youtube-transcripts https://api.youtubevideotranscript.io/mcp
Run /mcp inside any Claude Code session to confirm the tools are connected. To hand the same connector to a team, commit a .mcp.json at the repo root that reads the key from an environment variable; that file, the full surface matrix, and the gotchas are on /docs/mcp/claude.
How do you install it in Grok?
Grok takes an API key directly, so it is the shortest of the three installs: no OAuth round trip and no Developer Mode toggle. Open grok.com/connectors, click New Connector, then Custom, paste https://api.youtubevideotranscript.io/mcp as the MCP server URL, select Bearer or API key authentication, paste your yvt_live_ key, and click Add. Grok calls the endpoint and lists the tools it discovers.
Whether you see the Connectors menu at all depends on your Grok account and xAI’s rollout. If it is there, the install works regardless of which Grok plan you are on. Developers wiring the server into the xAI SDK, and the rest of the account-specific caveats, are covered on /docs/mcp/grok.
What is worth asking once it is connected?
Four prompts that only work when the chat can fetch transcripts on its own. Paste a real video URL in place of the placeholder.
- “Summarize this video in five bullets: [URL]”. The model requests the
textformat, which is the cheapest in tokens, and answers in one pass. Useful for triaging a two-hour podcast before deciding whether to watch it. - “In [URL], when does she define recursion?”. The model requests the
timestampsformat and replies with the[mm:ss]line, which you can paste into a message or a YouTube URL fragment. - “Read this interview [URL] and give me three 30-second moments that would work as short-form clips.” Same timestamped shape, used to pick cut points rather than to cite.
- “Generate YouTube chapter markers for [URL], one per topic shift.” If the first pass is too coarse, ask again with a different granularity; the transcript is already in context, so the second attempt costs no extra credit.
The server exposes fourteen tools, and the transcript is only one of them. Three more prompts that reach past the transcript:
- “Find an MKBHD iPhone review and summarize it.” The model searches YouTube, or a single channel, takes the top result’s ID straight into the transcript tool, and never asks you to paste a link. Searching is free.
- “What did viewers think of [URL]?” The model reads the video’s public comments, top or newest first, and can follow reply threads. Ask for the transcript and the comments together and both arrive in one call for 2 credits when both succeed. Comments alone cost 1 credit per nonempty page, including replies.
- “Does [URL] have a transcript, and in which languages?” The model checks the caption list, exact view count, and description without fetching a transcript, so you know before a credit is spent.
Whole channels work from the chat too, on a paid plan. “Get every transcript from [channel URL]” creates one job, the model can report its progress and read finished transcripts back without paying again, and the ZIP downloads from the job page in your account. The full tool list is at /docs/mcp, and the channel post covers the same job from the web app and the API.
What does it cost?
A transcript fetched through MCP charges 1 credit, exactly like a transcript fetched on the website, and listing a channel or playlist charges nothing. A new account gets 30 credits every 30 days after a Google sign-in, with no card, which is enough to install the connector and try single-video transcripts or comments. Bulk jobs from the chat require a paid plan. Failed fetches and empty comments pages are not charged. Paid plans are monthly subscriptions:
| Plan | Price | Credits |
|---|---|---|
| Free | $0 | 30 every 30 days, Google sign-in required |
| Starter | $9/mo | 1,000/mo |
| Pro | $19/mo | 5,000/mo |
| Business | $49/mo | 20,000/mo |
Two limits worth naming. Unused monthly credits do not roll over: the allowance resets on your billing anniversary and whatever you did not spend is gone. And every plan reads the captions YouTube already has, so a video whose owner disabled captions has nothing for get_transcript to return, on any plan, at any price. Full plan detail is on /pricing.
Your chat vendor’s plan is a separate bill from ours. ChatGPT needs Developer Mode, which OpenAI lists for Pro, Plus, Business, Enterprise, and Education and not for Free. Claude supports custom connectors on Free, capped at one. Grok depends on whether your account exposes the Connectors menu.
When is the REST API a better tool than MCP?
Whenever no human is waiting on the answer. Pulling 500 transcripts for a fine-tuning set, running a nightly job that ingests new uploads from 50 podcasts into a vector store, feeding a Zapier or n8n workflow, populating a BigQuery table: all of that is cheaper as a script against the REST API (/docs) than as a chat conversation. Submit a channel or playlist to POST /api/v1/jobs, poll for progress, and download every finished transcript as a single ZIP.
MCP earns its place in the opposite case: a person at a keyboard, a chat window already open, and a video they would otherwise be tab-switching to transcribe. That is the friction it removes; it does nothing to make a thousand-video channel pull faster.
Where to start
Sign in with Google, copy https://api.youtubevideotranscript.io/mcp into your client’s custom connector screen, and ask your chat to summarize a video you have not watched. What comes back is an answer built from that video’s actual captions, in the same thread, for 1 of your 30 free credits. If it earns its keep, Starter is $9/mo for 1,000 credits and the same connector keeps working. The install guides for all three clients start at /docs/mcp.
Frequently asked questions
Where does my API key live once I paste it into a chat client?
A yvt_live_ key pasted into Claude Code or the Grok connector UI is stored by that client, in its own configuration, and sent to the server as an Authorization: Bearer header on each call. YouTube Video Transcript stores only a non-reversible hash of the key, so a lost key cannot be recovered and has to be regenerated. Each account has one active API key: regenerate it and the previous key stops working immediately, returning 401 unauthorized. Claude.ai web, Claude Desktop, and ChatGPT use OAuth instead of a pasted key, so there is nothing to leak from your side.
Does the MCP connector work with Custom GPTs?
No. Custom GPTs built in the GPT Builder use OpenAI’s OpenAPI-based Actions, not MCP, and there is no way to attach an MCP server to a Custom GPT. MCP in ChatGPT lives in Apps & Connectors with Developer Mode switched on, which is a separate surface from the GPT Builder. If you want transcripts inside a Custom GPT, you would have to write your own Action schema against the REST API documented at /docs; the MCP connector cannot be reused there.
Do the Claude, ChatGPT, and Grok mobile apps support it?
Claude mobile on iOS and Android inherits the custom connectors added on claude.ai web, because connectors are stored on the Claude account rather than the device, so installing once on the web is enough. OpenAI’s documentation covers MCP setup on ChatGPT web only, and mobile apps are not documented for custom MCP app setup. On Grok, the canonical install path is grok.com/connectors no matter where you intend to use the connector, and menu visibility on the mobile app varies by build and account.
Can I use the same server from Gemini or another assistant?
Yes, if the client can add a remote MCP server. https://api.youtubevideotranscript.io/mcp is a standard Streamable HTTP MCP server with OAuth 2.1 and Bearer API key auth, so it does not care which client is calling it. YouTube Video Transcript publishes click-by-click install guides for Claude, ChatGPT, and Grok only, at /docs/mcp, because those are the three we test end to end. For anything scripted or scheduled, the REST API at /api/v1 is a better fit than MCP.
What happens when I run out of credits mid-conversation?
The get_transcript tool returns an insufficient-credits error to the chat client and no credit is charged. On a paid plan the monthly allowance resets on your billing anniversary, and unused credits do not roll over into the next month. The free plan’s 30 credits reset every 30 days. Listing a channel or playlist stays free at any balance, so you can still enumerate videos with an empty credit balance.