Guide

    Pull YouTube transcripts straight into Claude

    MCP (Model Context Protocol) lets an AI assistant call external tools on your behalf. LiveScript ships an MCP server, so Claude can fetch the transcript of a YouTube video itself - you paste a link, it reads the video.

    What this gets you

    Without MCP, getting a video into an AI chat is a chore: open the video, find a transcript, copy it, paste it, hope it did not get truncated. With the LiveScript MCP server connected, you skip all of that. You give Claude a YouTube URL and ask it a question, and Claude calls LiveScript in the background to get the transcript before it answers.

    Typical asks once it is wired up: summarise a two-hour podcast, pull every claim a speaker made about a specific topic, find the timestamp where a number was said, or diff what two videos say about the same subject.

    Before you start

    You need a LiveScript API key and an active plan. Generate a key from your dashboard; the details on how keys are passed are in the authentication docs.

    Connect it

    The server speaks streamable HTTP at https://livescript.live/api/v1/mcp and authenticates with a bearer token. Every MCP client takes the same two pieces of information - a URL and an Authorization header - it just spells them differently.

    Claude Code

    claude mcp add --transport http livescript https://livescript.live/api/v1/mcp \
      --header "Authorization: Bearer YOUR_API_KEY"

    Claude Desktop and Cursor

    Both take a JSON config block naming the server, its URL, and the header. The exact file paths, the config shape for each client, and a generic block for any other MCP client are in the MCP server documentation.

    Use it

    There is no special syntax. Once the server is connected the tool shows up in the client's tool list and the model picks it when your request needs it. Ask in plain language:

    Summarise https://www.youtube.com/watch?v=q8d9uuO1Cf4 in ten bullets.
    
    What does the speaker in q8d9uuO1Cf4 say about pricing? Give timestamps.

    The tool is get_yt_transcript. It takes one argument, video_url, which accepts a full YouTube URL (watch, youtu.be, shorts, embed, or live) or a bare 11-character video ID. It returns the transcript as timestamped text plus structured segments, so the model can quote a line and tell you when it was said.

    What it does not do

    get_yt_transcript is for videos that are not currently live. Point it at a stream that is still airing and it returns an error rather than a partial transcript.

    Live streams are a different problem - the transcript does not exist yet, it is being spoken right now - and they are served by the live WebSocket API instead, which streams lines as they are transcribed. That is documented in the API reference, and the product walkthrough is in the live-stream transcription guide.

    When it does not work

    • The video is live. Use the live WebSocket API, not this tool.
    • The video has no captions. Nothing to fetch; the tool reports it rather than guessing.
    • No active plan. The call is rejected at auth. Check your key in the dashboard.
    • The client shows no tools. Almost always the header - the token must be sent as Authorization: Bearer YOUR_API_KEY. Full troubleshooting list is in the MCP docs.

    A note on long videos

    A long video is a lot of text - a two-hour talk can run past 200,000 characters, which is enough to crowd out the rest of a chat. Some clients handle this by spilling the result to a file and reading it in chunks. If your client truncates instead, ask for what you actually need ("find the section about X", "summarise the first hour") rather than the whole transcript verbatim, and let the model do the narrowing.

    Try it on a live stream

    Free plan available. No credit card required. Paste a URL and watch the transcript build.