YouTube Transcript MCP Server
This MCP server retrieves transcripts for given YouTube video URLs.
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
enif 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
enif 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
uvinstalled on your system to useuvxcommand.
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.
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.
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
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
Parameters
url
The URL of the YouTube video
required
out of 100
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.
Sign in to leave a review
No reviews yet โ be the first!
Configuration
Docker Image
Docker HubPublished by github.com/jkawamoto