MCP server

    MCP Server

    The LiveScript MCP server exposes transcript tools over the Model Context Protocol, so an AI agent — Claude Desktop, Claude Code, Cursor, or any client that speaks MCP — can pull YouTube transcripts directly from a chat or coding session. No CLI install, no binary download.

    Connection URL

    https://livescript.live/api/v1/mcp

    The transport is HTTP-streamable — the standard for remote MCP servers. Claude Desktop, Claude Code, Cursor, and the MCP Inspector all support it natively.

    Authentication

    The same ls_live_ API key you'd use for a direct API call works here. Create and manage keys in your dashboard. Treat a key like a password — never paste it into a public repo or client-side code. See Authentication.

    The server accepts the key three ways, in this priority order:

    MethodHow
    Authorization: Bearer <key>The standard for HTTP-streamable MCP clients (Claude Desktop, Claude Code, Cursor).
    x-access-key: <key>A plain header, for clients that set custom headers under a different name.
    ?access_key=<key>Query string, for clients that can't set custom headers at all.

    Tools are listed even without a key — a call only fails (with a clean AUTHENTICATION_FAILED surfaced back to the model) once the agent actually tries to invoke one.

    Add to Claude Desktop

    Open Settings → Developer → Edit Config and add a livescript entry under mcpServers:

    {
      "mcpServers": {
        "livescript": {
          "url": "https://livescript.live/api/v1/mcp",
          "headers": {
            "Authorization": "Bearer YOUR_API_KEY"
          }
        }
      }
    }

    Restart Claude Desktop. The tools appear in the tools panel. Try asking: "Get the transcript of this YouTube video: https://www.youtube.com/watch?v=…"

    Add to Claude Code

    From any project directory:

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

    Claude Code picks the tools up on the next session.

    Add to Cursor

    Open Settings → MCP → + Add new MCP server and use:

    {
      "livescript": {
        "url": "https://livescript.live/api/v1/mcp",
        "headers": {
          "Authorization": "Bearer YOUR_API_KEY"
        }
      }
    }

    Use it from any MCP client

    Any client that speaks JSON-RPC 2.0 over HTTP-streamable transport works. Minimum viable call — list the tools and their input schemas:

    curl -X POST https://livescript.live/api/v1/mcp \
      -H "Content-Type: application/json" \
      -H "Accept: application/json, text/event-stream" \
      -H "Authorization: Bearer YOUR_API_KEY" \
      -d '{
        "jsonrpc": "2.0",
        "id": 1,
        "method": "tools/list",
        "params": {}
      }'

    Available tools

    ToolDescription
    get_yt_transcriptFetch the full transcript of a non-live YouTube video, by URL or ID.

    More tools will be added over time; this list is the source of truth.

    get_yt_transcript

    Fetches the full transcript of a YouTube video that is not currently live. Returns the transcript as timestamped text plus structured segments (the same shape as the REST /api/v1/transcript response). Live streams require the live WebSocket API instead.

    FieldTypeRequiredDescription
    video_urlstringyesA YouTube URL (watch, youtu.be, live, shorts, or embed form) or a bare 11-character video ID.

    Example: call a tool directly

    curl -X POST https://livescript.live/api/v1/mcp \
      -H "Content-Type: application/json" \
      -H "Accept: application/json, text/event-stream" \
      -H "Authorization: Bearer YOUR_API_KEY" \
      -d '{
        "jsonrpc": "2.0",
        "id": 1,
        "method": "tools/call",
        "params": {
          "name": "get_yt_transcript",
          "arguments": {
            "video_url": "https://www.youtube.com/watch?v=abc123DEF45"
          }
        }
      }'

    The response (streamed as Server-Sent Events) contains a content array with a human-readable timestamped transcript, plus structuredContent with the individual segments.

    Troubleshooting

    SymptomCause / fix
    Tools appear but every call returns AUTHENTICATION_FAILEDYour key isn't reaching the server. Re-check the Authorization: Bearer header in your client config.
    A call returns PLAN_REQUIREDThe key's account has no active Pro subscription. The transcript tool requires an active plan.
    A call returns SOURCE_IS_LIVEThe video is currently live. Use the live WebSocket API for active streams; this tool is for finished videos.
    A call returns CAPTIONS_UNAVAILABLEThat video has no captions available. Nothing to fetch.
    A call returns RATE_LIMITEDYou've hit the daily transcript request cap for your plan. Wait and retry.
    The tool doesn't appear in your clientRestart the client, or confirm it supports HTTP-streamable transport. Run the tools/list curl below to check the server is reachable.

    Security reminders

    • Treat your API key like a password — it grants full API access and consumes usage.
    • Never commit your key in a shared MCP config that lands in a public repo. Use your client's secret / environment-variable support instead.
    • Rotate the key from your dashboard if you suspect it's been exposed.