MCP YouTube Transcript
An MCP server retrieving transcripts of YouTube videos
Description from the maker (original English)
Fetch YouTube transcripts with timestamps, search history, and export data for AI models.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
AuthorizationValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Run this in your terminal
claude mcp add --transport http youtube-transcript https://mcp.youtubetranscript.dev --header 'Authorization: your-value'Fill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"youtube-transcript": {
"url": "https://mcp.youtubetranscript.dev",
"headers": {
"Authorization": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"youtube-transcript": {
"type": "http",
"url": "https://mcp.youtubetranscript.dev",
"headers": {
"Authorization": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
Authorization secret HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
The server asks you to sign in before it lists its tools.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified with the GitHub account Youtube-Transcript-Dev, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 277 ms (HTTP 401)
Declares OAuth sign-in, so your AI app can take you to log in
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: Authorization
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (2.0.0) reached the registry 2 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
An MCP server retrieving transcripts of YouTube videos
GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.
AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
YouTube Transcript MCP Server
MCP server for YouTubeTranscript.dev — extract transcripts, manage history, and power AI assistants with YouTube content.
Website • Hosted MCP • API Docs • Pricing • Quick Start • Tools
Connect Claude, Cursor, Windsurf, or any MCP client to YouTubeTranscript.dev — no custom code. Your AI assistant gets tools to extract transcripts, list history, and manage content at scale.
→ [Get your free API key](https://www.youtubetranscript.dev)
Remote MCP URL: https://mcp.youtubetranscript.dev
Claude, Cursor, and VS Code can add this as a remote MCP connector. ChatGPT users must enable Developer mode and create a custom app with this URL; availability depends on the workspace plan. OAuth-capable clients sign in once, so no API key is needed in the chat.
| Client | One-click |
|---|---|
| Claude | Add custom connector |
| ChatGPT | Developer mode / custom MCP app setup or Custom GPT |
| Cursor | Install |
| VS Code | Install |
| Claude Code | claude mcp add --transport http youtubetranscript https://mcp.youtubetranscript.dev |
| Grok | grok mcp add --transport http youtubetranscript https://mcp.youtubetranscript.dev |
Full walkthrough: youtubetranscript.dev/resources/mcp-server
API key clients (if the tool has no OAuth): send Authorization: Bearer YOUR_API_KEY. x-api-token still works. Get a key from the account page.
Run locally (optional): npm install && npm run build && npm run start:http — then connect to http://localhost:8080.
claude mcp add --transport http youtubetranscript https://mcp.youtubetranscript.dev
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": { "youtubetranscript": { "url": "https://mcp.youtubetranscript.dev", "headers": { "Authorization": "Bearer YOUR_API_KEY" } } } }
.cursor/mcp.json:
{
"mcpServers": { "youtubetranscript": { "url": "https://mcp.youtubetranscript.dev", "headers": { "Authorization": "Bearer YOUR_API_KEY" } } } }
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": { "youtubetranscript": { "serverUrl": "https://mcp.youtubetranscript.dev", "headers": { "Authorization": "Bearer YOUR_API_KEY" } } } }
settings.json:
{
"mcp": { "servers": { "youtubetranscript": { "url": "https://mcp.youtubetranscript.dev", "headers": { "Authorization": "Bearer YOUR_API_KEY" } } } } }
Add to your Cline MCP config (format may vary by Cline version):
{
"youtubetranscript": { "url": "https://mcp.youtubetranscript.dev", "headers": { "Authorization": "Bearer YOUR_API_KEY" } } }
Replace YOUR_API_KEY with your API key from youtubetranscript.dev/dashboard/account.
| Variable | Description | Default |
|---|---|---|
YTSM_BASE_URL | Base URL of the API | https://www.youtubetranscript.dev |
MCP_PUBLIC_URL | Public MCP origin | https://mcp.youtubetranscript.dev |
YTSM_TIMEOUT_MS | Request timeout in ms | 30000 |
PORT | HTTP server port | 8080 |
DEBUG | Enable debug logging | false (set true to enable) |
Note: HTTP mode uses OAuth where the client supports it, including compatible Claude, Cursor, VS Code, and Grok clients. ChatGPT requires Developer mode and a custom MCP app. API-key clients can send Authorization: Bearer / x-api-token from the client. Do not put user keys in server env. For stdio mode, set YTSM_API_KEY. Always set YTSM_BASE_URL to https://www.youtubetranscript.dev — the apex host 301s and breaks POST/auth.
| Tool | Best for | Returns |
|---|---|---|
get_stats | Credits, transcripts count, plan | credits, transcripts_total, plan, rate_limit |
transcribe_v2 | Create/fetch transcript (fast) | Transcript JSON |
list_transcripts | List user transcripts | History list with pagination |
get_transcript | Get full transcript by video_id | Transcript detail |
delete_transcript | Delete transcript(s) | Delete result |
Credits left, transcripts created, plan, rate limit. No parameters.
Fast caption-based transcript (no ASR). Uses manual or auto captions only.
| Parameter | Required | Description |
|---|---|---|
video | Yes | YouTube URL or 11-character video ID |
language | No | Language tag (e.g. en, en-US) |
source | No | auto (default) or manual |
format | No | { timestamp, paragraphs, words } booleans |
List transcript history for the authenticated user.
| Parameter | Required | Description |
|---|---|---|
search | No | Search by video id, title, or transcript text |
limit | No | How many to return (default 10) |
page | No | Page number (default 1) |
status | No | all, queued, processing, succeeded, failed |
language | No | Language filter (e.g. en) |
include_segments | No | Include transcript segments in response |
Get full transcript by video_id.
| Parameter | Required | Description |
|---|---|---|
video_id | Yes | YouTube video ID |
id | No | Transcript record id for specific version |
language | No | Language filter |
source | No | auto, manual, or asr |
include_timestamps | No | Include timestamps in response |
Delete transcript records.
| Parameter | Required | Description |
|---|---|---|
ids | No\* | Array of transcript record ids to delete |
video_id | No\* | Convenience: delete by video id (resolves id) |
\*Provide at least one of ids or video_id.
For production, deploy to a service that supports long-lived connections (e.g. Cloud Run, Railway, Fly.io). Avoid serverless (Vercel, Lambda) for MCP — timeouts and concurrency limits cause issues.
docker build -f Dockerfile.cloudrun -t gcr.io/YOUR_PROJECT/youtube-transcript-mcp .
docker push gcr.io/YOUR_PROJECT/youtube-transcript-mcp gcloud run deploy youtube-transcript-mcp --image gcr.io/YOUR_PROJECT/youtube-transcript-mcp ...
Run as a subprocess instead of HTTP. Required: set YTSM_API_KEY in env (API key is not passed per-request for stdio).
{
"mcpServers": { "youtubetranscript": { "command": "node", "args": ["dist/index.js"], "env": { "YTSM_API_KEY": "YOUR_API_KEY" } } } }
Run from the project directory after npm run build. For globally installed package, use the path to dist/index.js in the package.
npm install
npm run build npm test npm run start:http # Local HTTP server (port 8080)
Quick test all tools (requires YTSM_API_KEY in env):
npm install && npm run build
export YTSM_API_KEY=your_key # bash/mac $env:YTSM_API_KEY="your_key" # PowerShell npm run test:all
See QUICK_TEST.md for full testing instructions.
MIT License — see LICENSE for details.