Sandbox
@jkawamoto/mcp-youtube-transcript

MCP server for YouTube transcript retrieval

This MCP server connects an agent to YouTube video transcripts and metadata. It exposes tools for plain transcripts, timed transcripts, video info, and available languages, and it paginates long responses with `next_cursor`.

479 stars70 forksPythonUpdated 8d ago
Who it's for

Builders who want their agent to pull text from YouTube videos and work with it directly.

What it delivers

You can ask your agent to read a YouTube video transcript instead of transcribing or pasting it yourself.

What it does

Transcript retrieval

Fetches the transcript for a YouTube video URL with an optional language code.

Timed transcript retrieval

Returns transcript text with timestamps for the same video URL and language options.

Video metadata lookup

Gets basic metadata for a YouTube video from its URL.

Available language discovery

Lists the transcript languages available for a given video.

Response pagination

Splits long transcripts into chunks and returns `next_cursor` for the next page.

Proxy support

Supports `HTTP_PROXY`, `HTTPS_PROXY`, and Webshare proxy credentials for restricted networks.

README

YouTube Transcript MCP Server

uv Python Application pre-commit GitHub License Dockerhub

This MCP server retrieves transcripts for given YouTube video URLs.

Tools

This MCP server provides the following tools:

get_transcript

Fetches the transcript of a specified YouTube video.

Parameters

  • url (string): The full URL of the YouTube video. This field is required.
  • lang (string, optional): The desired language for the transcript. Defaults to en if not specified.
  • next_cursor (string, optional): Cursor to retrieve the next page of the transcript.

get_timed_transcript

Fetches the transcript of a specified YouTube video with timestamps.

Parameters

  • url (string): The full URL of the YouTube video. This field is required.
  • lang (string, optional): The desired language for the transcript. Defaults to en if not specified.
  • next_cursor (string, optional): Cursor to retrieve the next page of the transcript.

get_video_info

Fetches the metadata of a specified YouTube video.

Parameters

  • url (string): The full URL of the YouTube video. This field is required.

get_available_languages

Retrieves the available languages for the video.

Parameters

  • url (string): The full URL of the YouTube video. This field is required.

Installation

[!NOTE] You'll need uv installed on your system to use uvx command.

For goose

Please refer to this tutorial for detailed installation instructions: YouTube Transcript Extension.

For Claude

Download the latest MCP bundle mcp-youtube-transcript.mcpb from the Releases page, then open the downloaded .mcpb file or drag it into the Claude Desktop's Settings window.

Manually configuration

You can also manually configure this server for Claude Desktop. Edit the claude_desktop_config.json file by adding the following entry under mcpServers:

{
  "mcpServers": {
    "youtube-transcript": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/jkawamoto/mcp-youtube-transcript",
        "mcp-youtube-transcript"
      ]
    }
  }
}

After editing, restart the application.

For more information, see: Connect to local MCP servers - Model Context Protocol..

For LM Studio

To configure this server for LM Studio, click the button below.

Add MCP Server youtube-transcript to LM Studio

Using Docker

A Docker image for this server is available on Docker Hub. Please refer to the Docker Hub page for detailed usage instructions and documentation.

Response Pagination

When retrieving transcripts for longer videos, the content may exceed the token size limits of the LLM. To avoid this issue, this server splits transcripts that exceed 50,000 characters. If a transcript is split, the response will include a next_cursor. To retrieve the next part, include this next_cursor value in your request.

The token size limits vary depending on the LLM and language you are using. If you need to split responses into smaller chunks, you can adjust this using the --response-limit command line argument. For example, the configuration below splits responses to contain no more than 15,000 characters each:

{
  "mcpServers": {
    "youtube-transcript": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/jkawamoto/mcp-youtube-transcript",
        "mcp-youtube-transcript",
        "--response-limit",
        "15000"
      ]
    }
  }
}

Using Proxy Servers

In environments where access to YouTube is restricted, you can use proxy servers.

When using Webshare, set the username and password for the Residential Proxy using either the environment variables WEBSHARE_PROXY_USERNAME and WEBSHARE_PROXY_PASSWORD, or the command line arguments --webshare-proxy-username and --webshare-proxy-password.

When using other proxy servers, set the proxy server URL using either the environment variables HTTP_PROXY or HTTPS_PROXY, or the command line arguments --http-proxy or --https-proxy.

For more details, please visit: Working around IP bans - YouTube Transcript API.

License

This application is licensed under the MIT License. See the LICENSE file for more details.

Files in the repo

Repository payload16 top-level entries
  • .github
  • src
  • tests
  • .dockerignore
  • .gitignore
  • .mcpbignore
  • .pre-commit-config.yaml
  • .python-version
  • Dockerfile
  • glama.json
  • LICENSE
  • manifest.json
  • pyproject.toml
  • README.md
  • server.json
  • uv.lock

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More connectors

Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface

86k

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

43k

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code

14k
okf-memory/
okf-agent-memory

Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.

547
2akouwu/
reverify

Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.

1.1k

x64dbg-MCP Server is a native MCP (Model Context Protocol) plugin for x64dbg that exposes the debugger's full functionality over HTTP. Connect any MCP-compatible AI assistant and control x64dbg programmatically: set breakpoints, step through code, read memory, dump registers, and more. Built with Zig — zero dependencies, single-binary output, cros

1.9k