
YouTube Transcript MCP
io.github.windows10fan648由 GitHub 账号 windows10fan648 发布v1.0.0更新于 Nov 11, 2026
获取带时间戳并可精确选择语言的公开YouTube字幕轨道。
AI 翻译由 AI 模型根据下方的原文描述翻译,可能有误。
原文描述
Fetches public YouTube caption tracks with timestamps and exact language selection.
发布方自己的服务:Transcript
概览
YouTube Transcript 的本地 MCP 服务;无需登录;STDIO。
暂无 AI 概览:以下信息来自注册中心条目和服务本身。
安装
在 SourceWeft 中
- 打开 控制台中的 YouTube Transcript MCP,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
YouTube Transcript MCP Server
A self-hosted Model Context Protocol server that lets MCP clients fetch publicly available YouTube caption tracks with timestamps. It does not transcribe audio. It supports Claude Desktop and other local stdio clients, plus ChatGPT and Claude web/API through a public HTTPS MCP endpoint.
How the integrations work
There are two connection modes:
- Local Claude Desktop, Cursor, VS Code, and similar clients: the client starts
dist/index.jsover MCP stdio. YouTube requests are made from your computer. - ChatGPT custom MCP servers and Claude remote custom connectors: these clients need an MCP server reachable at a public
https://URL. Run this server locally and expose port 3000 with a tunnel. The server still fetches YouTube from your computer, so YouTube sees your residential IP rather than a cloud deployment IP.
The HTTP endpoint uses the official MCP SDK's Streamable HTTP transport. It also keeps a direct REST endpoint for scripts and health checks.
Security Notice: Official Hosting
This project is self-hosted. The author does not provide an official publicly hosted MCP server.
For security and privacy, clone this repository and run the server yourself, or deploy your own instance on infrastructure you control.
Be cautious of third-party websites claiming to host this project. They are not necessarily affiliated with the original project and may run modified code or collect information sent to their servers.
Official source code: https://github.com/windows10fan648/youtube-transcript-mcp
The author is not responsible for the security, privacy, or behavior of unofficial third-party deployments.
Quick start
Publish to the MCP Registry
This repository includes a server.json manifest for the official MCP Registry. It describes the local stdio package; this project does not provide an officially hosted remote endpoint.
Before the first registry publication:
- Confirm that the scoped npm package
@fakasys/youtube-transcript-mcpis available and that you can publish it. The package name inpackage.jsonandpackages[0].identifierinserver.jsonmust match. - Authenticate with npm, then build and inspect the package:
- Install the official
mcp-publisherCLI from the MCP Registry releases. - Validate the manifest, authenticate with GitHub, and publish:
The mcpName value in package.json must match the name in server.json. Keep the package version in package.json and server.json synchronized for every release. Publish the npm package before publishing its registry metadata.
Claude Desktop over stdio
Add the following to Claude Desktop's configuration file:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Use an absolute path, restart Claude Desktop, then ask Claude to transcribe a YouTube URL. This mode is local-only and does not make the server available to Claude web.
ChatGPT and Claude web/API over HTTPS
Start the MCP HTTP server:
In a second terminal, create a public HTTPS tunnel. Specifically use Tailscale Funnel
Use the resulting URL with /mcp, for example:
Security warning: Set MCP_AUTH_TOKEN before exposing the HTTP endpoint. When set, every HTTP endpoint except CORS preflight requires Authorization: Bearer <token>. Anyone who obtains an unprotected tunnel URL may be able to access its tools and consume your server's resources.
The server reads an optional YouTube session cookie only from the server-side YOUTUBE_COOKIE environment variable (with legacy COOKIE/YT_COOKIE environment fallbacks). Callers cannot provide or override cookies through query parameters, request bodies, or headers. Never commit or expose these cookies.
ChatGPT
In ChatGPT, open the custom connector/MCP server area, add the HTTPS /mcp URL, and enable the read-only tools. Depending on the ChatGPT surface or workspace, the UI may label this as adding a custom MCP server or creating a plugin. Then ask: List the available transcript languages for https://www.youtube.com/watch?v=... and summarize it in Spanish. ChatGPT can call the language-listing tool first, select the exact code, and then fetch that transcript.
The server does not run an LLM and does not need an API key. The summary tool fetches the transcript and returns it to ChatGPT with a summarization instruction; ChatGPT itself reads the tool result and writes the summary using the model already powering your conversation.
For the OpenAI API, configure a remote MCP tool with the same URL. The server supports Streamable HTTP and returns the transcript as MCP text content.
Claude web, Claude Desktop remote connectors, and Claude API
In Claude, open Customize → Connectors → Add custom connector and enter the public /mcp URL. Choose No sign in when MCP_AUTH_TOKEN is not set; if authentication is enabled, configure the connector to send the bearer token. Claude's remote connector connects from Anthropic's infrastructure, so the tunnel must remain running and publicly reachable.
For the Claude API, use the MCP connector with the public HTTPS URL and enable the list_youtube_transcript_languages, get_youtube_transcript, and summarize_youtube_transcript tools. Local stdio servers cannot be connected directly through the Claude API or Claude web's remote connector.
Direct REST API
The same server exposes optional REST requests:
Tool reference
get_youtube_transcript
videoIdOrUrl— required YouTube URL or 11-character video ID. Supports watch URLs,youtu.be, shorts, embeds, live URLs, and mobile URLs.lang— optional ISO 639-1/BCP-47 language code, including regional and script codes such asen,pt-BR,es-419, orzh-Hans. The server selects the exact exposed caption track and returns an error if it is unavailable; it never silently substitutes another language.
The tool returns timestamped plain text, for example:
summarize_youtube_transcript
videoIdOrUrl— required YouTube URL or 11-character video ID.lang— optional transcript language code, including regional or script codes such aspt-BRorzh-Hans. This is still caption retrieval; the connected AI performs the summary.style— optionalbrief,detailed, orbulletsinstruction for the connected AI client.
This is a client-assisted tool. It retrieves captions but does not transcribe audio or call OpenAI, llama.cpp, Ollama, or any other model itself.
list_youtube_transcript_languages
videoIdOrUrl— required YouTube URL or 11-character video ID.
Returns the caption tracks YouTube exposes, for example { "code": "zh-Hans", "name": "Chinese (Simplified)", "kind": "standard", "isAutoGenerated": false }. Pass the returned exact code as lang to get_youtube_transcript or summarize_youtube_transcript. If the requested language code is unavailable, the server returns an error listing the available language codes. Use this tool to check available languages before requesting a specific caption track.
YouTube access and limitations
This project reads publicly available caption tracks, including automatic captions when YouTube exposes them. It does not transcribe audio or bypass private videos, disabled captions, age restrictions, or YouTube authentication. YouTube's official Data API requires authorization for caption-track operations; this server uses YouTube's player caption data and an unofficial Node transcript library instead.
If YouTube challenges a cloud-hosted deployment, prefer local stdio or a local tunnel. If you must run in a cloud environment, set YOUTUBE_COOKIE in the server environment only; cookies in URLs, request bodies, or caller-controlled headers are intentionally ignored.
HTTP requests have a 1 MB JSON body limit and server-side request/header timeouts. PORT must be an integer from 1 through 65535.
Testing
License
ISC
来源:README.md,提交 82d2804
工具
0版本历史
1- v1.0.0最新Nov 11, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
其他 Transcript 集成
Transcript
land.transcript官方发布者
远程 MCP 服务,可为 YouTube、X、TikTok、Instagram 和 Facebook 视频获取带时间戳的干净字幕稿,无字幕时改用 AI 转写。

Speech to Text — File Transcripts, Speaker Labels & Subtitles
由 GitHub 账号 kriton-dev 发布
托管在 Apify 上的远程 MCP 服务器,让助手把音频和视频文件转写为带时间戳的文本,并生成 SRT 或 WebVTT 字幕。

YouTube & Shorts Transcript Scraper — SRT, VTT & Viral Hooks
由 GitHub 账号 ceadigital 发布
远程 MCP 端点,可提取 YouTube 与 Shorts 的字幕和转录文本,并提供大量公共数据查询工具。

TikTok Transcript Scraper — Subtitles, SRT/VTT & 0-3s Hooks
由 GitHub 账号 ceadigital 发布
远程 MCP 服务器,可提取 TikTok 转录文本、SRT/VTT 字幕和 0-3 秒开场钩子,并提供大量公共数据查询与安全合规工具。

Instagram, TikTok & YouTube Transcript Scraper — Hooks & OCR
由 GitHub 账号 ceadigital 发布
远程 MCP 服务器,可从 Instagram、TikTok 和 YouTube 视频中提取带时间码的口播文稿、爆款钩子和画面 OCR 字幕,并提供大量公共数据查询。