← Back to directory
Y

YouTube Transcript MCP Server

Community
MCP server that retrieves YouTube video transcripts and metadata
GitHub source repository ↗
★ 481 Stars Category · Other Very popular
57FMRS · C

This is a non-official MCP server maintained by an individual developer, focused on extracting YouTube transcripts and metadata. It offers four tools and supports transcript pagination and proxy access. It suits users who need video content as text; it does not download or play videos, and it depends on external YouTube interfaces that may be affected by IP bans.

Reliability
8/20
Security and permissions
12/20
Maintenance
12/20
Documentation
13/20
Setup experience
12/20
Read the FMRS scoring method →

This MCP server retrieves transcripts for given YouTube video URLs. It exposes get_transcript for plain transcript text, get_timed_transcript for transcripts with timestamps, get_video_info for video metadata, and get_available_languages for the video's available languages. Transcripts longer than 50,000 characters are paginated and return a next_cursor; the page size can be adjusted with --response-limit. Where access to YouTube is restricted, Webshare residential proxy or HTTP/HTTPS proxy can be configured via environment variables or command line arguments.

Tools

get_transcript
Fetches the transcript of a specified YouTube video. Parameters: url (string, required, full video URL), lang (string, optional, desired language, defaults to en), next_cursor (string, optional, cursor to retrieve the next page).
get_timed_transcript
Fetches the transcript of a specified YouTube video with timestamps. Parameters: url (string, required, full video URL), lang (string, optional, desired language, defaults to en), next_cursor (string, optional, cursor to retrieve the next page).
get_video_info
Fetches the metadata of a specified YouTube video. Parameters: url (string, required, full video URL).
get_available_languages
Retrieves the available languages for the video. Parameters: url (string, required, full video URL).

Setup

  1. Install uv (required by the uvx command). 2. In your MCP client's config file (e.g. Claude Desktop), add a youtube-transcript entry under mcpServers with command uvx and args --from git+https://github.com/jkawamoto/mcp-youtube-transcript mcp-youtube-transcript. 3. Alternatively, download mcp-youtube-transcript.mcpb from the Releases page and open or drag it into Claude Desktop. 4. Restart the client. LM Studio can be configured with the provided deeplink button; goose users can follow the official tutorial.
claude_desktop_config.json
{
  "mcpServers": {
    "youtube-transcript": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/jkawamoto/mcp-youtube-transcript",
        "mcp-youtube-transcript"
      ]
    }
  }
}

Fit and risk

Best for

  • Writing and research workflows that need spoken YouTube content as text
  • Users who want quick video information inside an MCP client

Not for

  • Scenarios that require downloading or playing the YouTube video itself
  • Environments where YouTube access is restricted and no proxy is configured

Required permissions

  • Reading local environment variables (e.g. WEBSHARE_PROXY_USERNAME, WEBSHARE_PROXY_PASSWORD, HTTP_PROXY, HTTPS_PROXY)
  • Network access to YouTube
  • Network access through a proxy server (if configured)

Risks and side effects

  • YouTube may impose IP bans on the request source, causing requests to fail
  • Proxy credentials stored as environment variables or command line arguments may be readable by other processes on the machine
  • Transcripts are external untrusted content and may contain errors or injected text
  • Long transcripts can exceed model context limits and depend on pagination

Troubleshooting

  1. If requests fail with a block message, configure the Webshare residential proxy or an HTTP/HTTPS proxy
  2. If transcript output is truncated, use the returned next_cursor for the next page, or lower --response-limit
  3. If the transcript is empty or in the wrong language, call get_available_languages first and pass an explicit lang
  4. If the uvx command is unavailable, verify that uv is installed

Use cases

Extracting YouTube transcripts for users who cannot watch the video
Summarizing or searching video content using timed transcripts
Checking available transcript languages before choosing one
Retrieving video metadata for organizing and archiving

Supported clients

Claude DesktopFull support
gooseFull support
LM StudioFull support