YouTube Transcript

YouTube Transcript MCP Server - Fetch and analyze YouTube video transcripts using yt-dlp
  • python

0

GitHub Stars

python

Language

4 months ago

First Indexed

3 weeks ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "suckerfish-yttranscript_mcp": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/path/to/yttranscript_mcp",
        "src/server.py"
      ],
      "env": {
        "YT_TRANSCRIPT_DEBUG": "false",
        "YT_TRANSCRIPT_SERVER_HOST": "0.0.0.0",
        "YT_TRANSCRIPT_SERVER_PORT": "8080"
      }
    }
  }
}

You can run and use the YouTube Transcript MCP Server to fetch, filter, and analyze YouTube transcripts via a lightweight MCP interface. It leverages a CLI-based extraction flow to reliably obtain subtitles and provides advanced analytics, multi-language support, and flexible transport options for local or remote operation.

How to use

You interact with the YouTube Transcript MCP Server through an MCP client to fetch transcripts, filter by time, search within transcripts, and view analytics. Start the server in the transport mode you prefer, then issue tool calls from your MCP client to perform actions such as getting transcripts, searching text, or generating summaries. The server accepts video identifiers or full YouTube URLs and returns transcripts with metadata, timestamps, and analytics data.

How to install

Prerequisites: you need Python for the server and a MCP client capable of communicating via STDIO or HTTP transport.

# Install dependencies and set up the MCP server package in editable mode
uv pip install -e .

Run the server in STDIO mode (local development): this starts the server so you can interact with it via the MCP client using the STDIO transport.

python src/server.py

Run the server in HTTP mode (production-ready): this starts an HTTP server you can reach with a client over HTTP.

uvicorn src.server:app --host 0.0.0.0 --port 8080

Docker is supported for containerized deployment. Build and run the container, then check health.

docker build -t yttranscript-mcp .
docker run -d -p 8080:8080 yttranscript-mcp
# Or use docker-compose
docker-compose up -d yttranscript-mcp

# Health check
curl http://localhost:8080/health

Additional configuration and notes

Environment variables to control the server behavior are supported. Set the following when starting the container or running in your environment.

YT_TRANSCRIPT_SERVER_PORT=8080    # Server port (default: 8080)
YT_TRANSCRIPT_SERVER_HOST=0.0.0.0 # Server host (default: 0.0.0.0)
YT_TRANSCRIPT_DEBUG=false         # Debug mode

Troubleshooting

If a tool isn’t found, verify the MCP client is correctly loading the available tools and that the server is running in the expected transport mode. Validation errors can arise from invalid video IDs or non-negative time values. For time filtering, you can provide start and end times in multiple formats. If transcripts aren’t returned, ensure the video has transcripts available in the requested languages.

Available tools

get_transcript

Fetch video transcripts with optional time filtering and metadata.

search_transcript

Search for specific text within transcripts and return matching contexts.

get_transcript_summary

Provide advanced analytics including speaking pace, filler words, top words, engagement metrics, and reading time estimates.

get_available_languages

List available transcript languages for a given video.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational