How do I get a YouTube transcript into Claude?
Claude has no built-in way to pull a YouTube transcript, so the manual route is copying it from YouTube's transcript panel and pasting it in. Connect the superagnt_ MCP server instead and Claude pulls the full, timestamped transcript from the video's link.
That works in Claude, Claude Code, ChatGPT and Codex. Below, a 30-minute talk's first fetch took 30.0 seconds and stopped at the compact view's limit; asking for the raw view returned all 692 caption lines, 4,672 words with start times, in 4.6 seconds.
Connect superagnt_ to Claude
Copy the setup prompt.
Your agent does the rest.
Connect the superagnt MCP server at https://mcp.superagnt.com/mcp/youtube to this agent for me (I'll sign in through my browser). The setup guide for each kind of agent is at https://www.superagnt.com/install?facet=youtube» a new workspace starts with the YouTube tools already on. On an existing workspace, your agent switches them on during setup.
What Claude does alone, and what changes once it's connected
| job | Claude on its own | with superagnt_ |
|---|---|---|
| Get the transcript | Copy it from YouTube's transcript panel and paste it into the chat. | data_youtube_videos with subtitles: every caption line with its start time, from the video id. |
| Long videos | One long paste, by hand. | The compact view stops at 24,000 characters and says how many lines it left out; the raw view returns every line. |
| Many videos | One paste per video. | data_youtube_discover finds videos by topic and data_youtube_channels lists a channel's uploads, then Claude pulls each transcript in the same chat. |
| Timestamps | Whatever the copied text includes. | A start time in seconds on every line, and a duration in the raw view, so Claude can cite the moment. |
The job, run on superagnt_
Real tool calls on superagnt_'s staging environment, the same calls Claude makes once the server is connected. Each result is what the client received, trimmed where it says so and otherwise unchanged, and each wall time was measured around the call.
“Get me the full transcript of TechWorld with Nana's “MCP Explained Simply”.”
- 01Ask for the transcript30.0 s wall time→ call
data_youtube_videos{ "action": "subtitles", "video_id": "oblaHqULUHk" }← resultOutput capped at 24000 characters: showing 461 of 692 rows. Narrow it with response_fields (fewer fields) or response_limit (fewer items), or use response_format "raw". | start | text | | --- | --- | | 0.24 | Let's say you are a backend engineer and | | 2.48 | your team just got a new task to build | | 5.36 | an AI powered customer support chatbot | | 8.8 | for your e-commerce platform. Sounds | | 11.36 | straightforward, right? But then you | 461 of 692 subtitles on this page» Trimmed: 456 of the 461 lines shown, and the call's credit line.
- 02Ask again for every line4.6 s wall time→ call
data_youtube_videos{ "action": "subtitles", "video_id": "oblaHqULUHk", "response_format": "raw" }← result{ "lang": "en", "is_available": true, "subtitles": [ { "id": 1, "start": 0.24, "duration": 5.119, "text": "Let's say you are a backend engineer and" }, { "id": 2, "start": 2.48, "duration": 6.32, "text": "your team just got a new task to build" }, … { "id": 692, "start": 1805.039, "duration": 2.64, "text": "you in the next" } ] }» Trimmed: lines 3 to 691 (the full answer was 91,501 characters).
The compact view said plainly that it had stopped at 24,000 characters and how to get the rest; the raw view returned all 692 lines. The first fetch of this video took 30.0 seconds and the raw fetch right after it 4.6 seconds. A 3-minute 46-second video took 3.9 seconds for its 45 lines, which fit the compact view whole.
Set it up in your client
Claude
- 01Open the prefilled Add custom connector dialog on claude.ai. One connector covers Claude on the web, Claude Desktop and Cowork.
- 02Click Add, then approve on the superagnt_ consent screen. It creates your superagnt_ account if you don't have one.
- 03Ask: “Get the full transcript of this video and summarize it with timestamps: <YouTube link>”
Free plans can add one custom connector. On Team and Enterprise plans, an owner adds it under Organization settings, Connectors (Anthropic).
Claude Code
- 01In a terminal, run
claude mcp add --scope user --transport http superagnt https://mcp.superagnt.com/mcp/youtube, thenclaude mcp login superagnt. The login opens a browser to approve; no API key needed. - 02Start a new session.
- 03Ask: “Get the full transcript of this video and summarize it with timestamps: <YouTube link>”
ChatGPT
- 01In ChatGPT on the web, go to Plugins, select the plus button, then Add custom MCP server.
- 02Name it superagnt, enter the server URL under Connection, and set Authentication to OAuth. The server URL is
https://mcp.superagnt.com/mcp/youtube. - 03Tick "I understand and want to continue", then select Create as a plugin. Sign in to superagnt_ when asked. No token needed.
- 04Install the plugin, then start a new chat, type @ and select superagnt.
- 05Ask: “Get the full transcript of this video and summarize it with timestamps: <YouTube link>”
ChatGPT takes custom MCP servers on the web, not on mobile. Business and Enterprise/Edu workspaces get every tool; Pro accounts get read and fetch actions, which is all this job needs (OpenAI).
Codex
- 01In a terminal, run
codex mcp add superagnt --url https://mcp.superagnt.com/mcp/youtube, thencodex mcp login superagnt. The login opens a browser to approve. - 02Start a new Codex session.
- 03Ask: “Get the full transcript of this video and summarize it with timestamps: <YouTube link>”
Which view to ask for
| View | What comes back | Use it when |
|---|---|---|
| compact (the default) | A table of start time and text, up to 24,000 characters, with a note when lines were left out | Claude is summarizing or answering a question about the video |
"response_format": "raw" | JSON with every line's id, start, duration and text, and the caption language | You want the whole transcript, or a script will process it |
Captions keep YouTube's HTML escapes, such as ' for an apostrophe and " for a quote mark. Claude reads them as the characters they stand for; a script should unescape them before saving the text.
Common questions
01How do I get a YouTube transcript into Claude?
Paste it in from YouTube's transcript panel, or connect the superagnt_ MCP server and ask: Claude pulls the full, timestamped transcript from the video's link, in the raw view when the video is long.
02Can I get the transcript as plain data for a script?
Yes. Ask for response_format raw and the call returns JSON: each caption line's id, start time, duration and text, plus the caption language.
03What if a video has no captions?
The call reads the captions YouTube has for the video, so a video with none has no lines to return.
04Do I need a YouTube Data API key?
No. superagnt_ makes the calls and bills them in superagnt_ credits per call, with no Google Cloud project or quota to manage.
What else Claude can do with superagnt_
- Can Claude search Twitter?
- Can Claude read Reddit threads?
- Can Claude watch YouTube videos?
- Can Claude find email addresses?
- Can Claude save data between chats?
- Can Claude load a CSV into a database?
- Can Claude run tasks on a schedule?
- Can Claude make a dashboard?
Go deeper: YouTube data for AI agents · YouTube MCP server · YouTube API reference