home / mcp / youtube transcript mcp server

YouTube Transcript MCP Server

MCP server retrieving transcripts of YouTube videos

Installation
Add the following to your MCP client configuration file.

Configuration

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

You can run the YouTube Transcript MCP Server to fetch transcripts and metadata for YouTube videos. It provides plain transcripts, timed transcripts, and video information through a unified MCP interface, enabling efficient integration with your language model workflows.

How to use

You interact with this MCP server through an MCP client by invoking its available tools. You can request a full transcript, a timed transcript, or video metadata for any YouTube video URL. If you are building a workflow that processes long transcripts, you can rely on the server to paginate results so your client can fetch subsequent parts using a provided cursor.

How to install

Prerequisites: you need the UV toolset installed on your system to use the UVX runner. This MCP server is intended to be run via the UVX command-line interface that pulls the MCP package from the repository.

Step by step setup using UVX (local runtime):

Step-by-step commands

# Install or ensure UV and UVX are available on your system
# You may install UVX or the UV toolkit according to your environment

# Start the YouTube Transcript MCP Server via UVX using the official MCP package
uvx \
  --from git+https://github.com/jkawamoto/mcp-youtube-transcript \
  mcp-youtube-transcript

Additional configuration and options

If you want to limit the size of each response chunk to accommodate smaller language models, you can configure a lower maximum response size when starting the server. The example below demonstrates setting a response limit of 15,000 characters per chunk.

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

Claude Desktop configuration example

If you use Claude Desktop, you can manually configure the MCP server by adding an entry to your Claude configuration under mcpServers. The following example shows how to wire the YouTube Transcript MCP server via UVX.

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

LM Studio

To configure this server for LM Studio, you can use the built-in integration option. The configuration step creates a ready-to-use MCP endpoint within LM Studio for YouTube transcripts.

Using Docker

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

Response pagination

Long transcripts may exceed token limits. The server splits transcripts into parts when they exceed the allowed size. If a split occurs, a next_cursor is returned to fetch the next part.

If you need to adjust how much text is sent in each response, you can set a different limit using the --response-limit option as shown above.

Using Proxy Servers

If you are in an environment that restricts access to YouTube, you can route requests through a proxy. Use environment variables or command line arguments to provide proxy credentials or URLs as shown in the usage examples for your proxy provider.

License

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

Available tools

get_transcript

Fetches the transcript for a specified YouTube video URL. Optional language parameter defaults to English and supports pagination via next_cursor.

get_timed_transcript

Fetches a timed transcript for a YouTube video. Includes timestamps and optional language parameter.

get_video_info

Fetches metadata for a specified YouTube video URL.

YouTube Transcript MCP Server - jkawamoto/mcp-youtube-transcript