- Home
- MCP servers
- YouTube Transcript
YouTube Transcript
- 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.