superagnt_
// claude + superagnt_

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.

works with any agent+ 8 more
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
or follow the detailed setup instructions

» a new workspace starts with the YouTube tools already on. On an existing workspace, your agent switches them on during setup.

01// on its own, and with superagnt_

What Claude does alone, and what changes once it's connected

jobClaude on its ownwith superagnt_
Get the transcriptCopy 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 videosOne 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 videosOne 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.
TimestampsWhatever 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.
02// a real run

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.

the ask

“Get me the full transcript of TechWorld with Nana's “MCP Explained Simply”.”

  1. 01Ask for the transcript30.0 s wall time
    → calldata_youtube_videos
    {
      "action": "subtitles",
      "video_id": "oblaHqULUHk"
    }
    ← result
    Output 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.

  2. 02Ask again for every line4.6 s wall time
    → calldata_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.

03// set it up

Set it up in your client

Claude

  1. 01Open the prefilled Add custom connector dialog on claude.ai. One connector covers Claude on the web, Claude Desktop and Cowork.
  2. 02Click Add, then approve on the superagnt_ consent screen. It creates your superagnt_ account if you don't have one.
  3. 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

  1. 01In a terminal, run claude mcp add --scope user --transport http superagnt https://mcp.superagnt.com/mcp/youtube, then claude mcp login superagnt. The login opens a browser to approve; no API key needed.
  2. 02Start a new session.
  3. 03Ask: “Get the full transcript of this video and summarize it with timestamps: <YouTube link>”

ChatGPT

  1. 01In ChatGPT on the web, go to Plugins, select the plus button, then Add custom MCP server.
  2. 02Name it superagnt, enter the server URL under Connection, and set Authentication to OAuth. The server URL is https://mcp.superagnt.com/mcp/youtube.
  3. 03Tick "I understand and want to continue", then select Create as a plugin. Sign in to superagnt_ when asked. No token needed.
  4. 04Install the plugin, then start a new chat, type @ and select superagnt.
  5. 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

  1. 01In a terminal, run codex mcp add superagnt --url https://mcp.superagnt.com/mcp/youtube, then codex mcp login superagnt. The login opens a browser to approve.
  2. 02Start a new Codex session.
  3. 03Ask: “Get the full transcript of this video and summarize it with timestamps: <YouTube link>”
04// compact or raw

Which view to ask for

ViewWhat comes backUse it when
compact (the default)A table of start time and text, up to 24,000 characters, with a note when lines were left outClaude 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 languageYou want the whole transcript, or a script will process it

Captions keep YouTube's HTML escapes, such as &#39; for an apostrophe and &quot; for a quote mark. Claude reads them as the characters they stand for; a script should unescape them before saving the text.

05// questions

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.

06// more answers

What else Claude can do with superagnt_

Go deeper: YouTube data for AI agents · YouTube MCP server · YouTube API reference

sources
  1. Anthropic: Upload files to Claude (supported file types)
  2. OpenAI: Connecting custom MCP servers in ChatGPT