YouTube Transcripts
YO
Docker Hub MCP

YouTube Transcripts

by github.com/jkawamoto ยท Search

0.0 ยท 0 reviews
0 installs ยท 3 tools

Retrieves transcripts for given YouTube video URLs

YouTube Transcript MCP Server

uv Python Application pre-commit GitHub License Dockerhub

This MCP server retrieves transcripts for given YouTube video URLs.

YouTube Transcript Server MCP server

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.

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 .mcpbfile 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.

get_transcript Retrieves the transcript of a YouTube video.

Parameters

url The URL of the YouTube video required
lang The preferred language for the transcript
next_cursor Cursor to retrieve the next page of the transcript
get_timed_transcript Retrieves the transcript of a YouTube video with timestamps.

Parameters

url The URL of the YouTube video required
lang The preferred language for the transcript
next_cursor Cursor to retrieve the next page of the transcript
get_video_info Retrieves the video information.

Parameters

url The URL of the YouTube video required
๐Ÿฅ‰
Security Tier
Bronze
70
Score
out of 100
Scanned by
Orcorus Security Scanner
Mar 13, 2026

Security Review

Integration: YouTube Transcripts
Repository: https://github.com/jkawamoto/mcp-youtube-transcript
Commit: latest
Scan Date: 2026-03-13 02:35 UTC

Security Score

70 / 100

Tier Classification

Bronze

OWASP Alignment

OWASP Rubric

  • Standard: OWASP Top 10 (2021) aligned review
  • Core methodology: architecture context, trust boundaries, data-flow tracing, threat modeling, control verification, and evidence-backed validation
  • Key characteristics considered: exploitability, impact, likelihood, attacker preconditions, and business context

OWASP Security Category Mapping

  • A01 Broken Access Control: none
  • A02 Cryptographic Failures: none
  • A03 Injection: none
  • A04 Insecure Design: none
  • A05 Security Misconfiguration: none
  • A06 Vulnerable and Outdated Components: none
  • A07 Identification and Authentication Failures: 2 finding(s)
  • A08 Software and Data Integrity Failures: none
  • A09 Security Logging and Monitoring Failures: none
  • A10 Server-Side Request Forgery: none

Static Analysis Findings (Bandit)

High Severity

None

Medium Severity

  • Call to requests without timeout in tests/test_mcp.py:26 (confidence: LOW)

Low Severity

  • Use of assert detected. The enclosed code will be removed when compiling to optimised byte code. in tests/test_mcp.py:52 (confidence: HIGH)
  • Use of assert detected. The enclosed code will be removed when compiling to optimised byte code. in tests/test_mcp.py:53 (confidence: HIGH)
  • Use of assert detected. The enclosed code will be removed when compiling to optimised byte code. in tests/test_mcp.py:54 (confidence: HIGH)
  • Use of assert detected. The enclosed code will be removed when compiling to optimised byte code. in tests/test_mcp.py:73 (confidence: HIGH)
  • Use of assert detected. The enclosed code will be removed when compiling to optimised byte code. in tests/test_mcp.py:76 (confidence: HIGH)
  • Use of assert detected. The enclosed code will be removed when compiling to optimised byte code. in tests/test_mcp.py:77 (confidence: HIGH)
  • Use of assert detected. The enclosed code will be removed when compiling to optimised byte code. in tests/test_mcp.py:96 (confidence: HIGH)
  • Use of assert detected. The enclosed code will be removed when compiling to optimised byte code. in tests/test_mcp.py:99 (confidence: HIGH)
  • Use of assert detected. The enclosed code will be removed when compiling to optimised byte code. in tests/test_mcp.py:100 (confidence: HIGH)
  • Use of assert detected. The enclosed code will be removed when compiling to optimised byte code. in tests/test_mcp.py:124 (confidence: HIGH)
  • Use of assert detected. The enclosed code will be removed when compiling to optimised byte code. in tests/test_mcp.py:127 (confidence: HIGH)
  • Use of assert detected. The enclosed code will be removed when compiling to optimised byte code. in tests/test_mcp.py:128 (confidence: HIGH)
  • Use of assert detected. The enclosed code will be removed when compiling to optimised byte code. in tests/test_mcp.py:136 (confidence: HIGH)
  • Use of assert detected. The enclosed code will be removed when compiling to optimised byte code. in tests/test_mcp.py:145 (confidence: HIGH)
  • Use of assert detected. The enclosed code will be removed when compiling to optimised byte code. in tests/test_mcp.py:164 (confidence: HIGH)
  • Use of assert detected. The enclosed code will be removed when compiling to optimised byte code. in tests/test_mcp.py:167 (confidence: HIGH)
  • Use of assert detected. The enclosed code will be removed when compiling to optimised byte code. in tests/test_mcp.py:168 (confidence: HIGH)
  • Use of assert detected. The enclosed code will be removed when compiling to optimised byte code. in tests/test_mcp.py:190 (confidence: HIGH)
  • Use of assert detected. The enclosed code will be removed when compiling to optimised byte code. in tests/test_mcp.py:191 (confidence: HIGH)
  • Use of assert detected. The enclosed code will be removed when compiling to optimised byte code. in tests/test_mcp.py:199 (confidence: HIGH)

Build Status

SKIPPED

Build step was skipped to avoid running untrusted build commands by default.

Tests

Detected (pytest)

Documentation

README: Present
Dependency file: Present

Summary

Security Score: 70/100 (Bronze)
Static analysis found 0 high, 1 medium, and 81 low severity issues.
Build step skipped for safety.
Tests detected.

0.0
0 reviews
5
0%
4
0%
3
0%
2
0%
1
0%

Sign in to leave a review

No reviews yet โ€” be the first!

Connect โ†’
0.0
โ˜… Rating
3
Tools
0
Installs

Configuration

Docker Image

Docker Hub
mcp/youtube-transcript

Published by github.com/jkawamoto