MCP YouTube Transcript
An MCP server retrieving transcripts of YouTube videos
作者提供的说明(英文原文)
Read public X (Twitter) posts, threads and X Articles as clean Markdown. Read-only, no auth.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
https://xtracticle.com/mcp在终端中运行这条命令
claude mcp add --transport http xtracticle https://xtracticle.com/mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"xtracticle": {
"url": "https://xtracticle.com/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"xtracticle": {
"type": "http",
"url": "https://xtracticle.com/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
ChatGPT 只能连接互联网上的服务器:
https://xtracticle.com/mcp菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过域名 xtracticle.com 验证(注册中心会核实域名所有权)
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
尚未检查;我们会轮流检查各个端点
尚未检查;我们会轮流检查各个端点
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(3.2.0)于34天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
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.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Xtracticle Download X (Twitter) Articles, threads & posts as PDF, Markdown, EPUB/Kindle, text or a ZIP with images. Free, open source, no login required.
Features • Getting Started • Architecture • SEO & AI • API • Contributing
Live: xtracticle.com — or just change x.com to xtracticle.com in any post URL.
| Format | What you get |
|---|---|
| A4, print-ready; title/author/date/source header, images, page numbers, clickable source link. Rendered page by page so long articles never produce blank PDFs and lines are never cut. | |
| Markdown | Headings, bold/italic/strikethrough, links, nested lists, quotes, code, dividers, images, video thumbnails. Optional YAML front-matter (Obsidian properties, Hugo/Jekyll/Astro). |
| EPUB 3 | Reflowable e-book with embedded images and metadata — Kindle (Send to Kindle), Kobo, Apple Books. |
| ZIP + images | Markdown + every image stored locally — an offline archive that survives deleted posts. |
| Text | Clean .txt. |
| Obsidian | Copies the Markdown and opens a new note via obsidian://new. |
/i/web/status/, bare IDs, links inside shared textxtracticle.com/{user}/status/{id} opens a post directly, with rich link previews (Open Graph) when sharedpublic/shortcuts/)/mcp, /api/markdown/:id)extract, download (format), copy, share, listen, batch_extract, errors — in GA4git clone https://github.com/ahmetdeveci3112-crypto/Xtracticle.git
cd Xtracticle npm install npm run dev
The dev server runs at http://localhost:5173. /api/* is served by the same handler as the Worker (src/shared/api.ts), and every landing page is rendered on the fly — no wrangler needed.
| Script | Description |
|---|---|
npm run dev | Vite dev server with the API |
npm run build | Production build → dist/ (all landing pages, 404, sitemap) |
npm run preview:worker | Build and run the real Worker locally with wrangler dev (SSR status pages, 404s, _headers) |
npm run lint | Type-check the app and the Worker |
Cloudflare Workers + Static Assets, deployed automatically on push to main (build: npm run build, deploy: npx wrangler deploy). No environment variables.
wrangler.json:
run_worker_first — only /api/*, /mcp, /video/* and /*/status/* hit the Worker; everything else is served straight from the CDNnot_found_handling: "404-page" — unknown URLs return a real 404 (no soft-404s)public/_headers — security headers, Link: , download headers for the iOS ShortcutBrowser ──► Cloudflare
├─ Static assets (dist/) /, /x-article-to-pdf, /tr/, … , 404.html, sitemap.xml └─ Worker (src/worker.ts) ├─ /api/thread/:id, /api/tweet/:id ──► src/shared/api.ts ──► FxTwitter API │ (edge cache, 5 min) └─ /{user}/status/{id} ──► app shell + per-post OG tags + preloaded JSON (noindex)
src/ ├── App.tsx UI: extraction, exports, batch mode, deep links ├── i18n.ts UI strings (en, tr, es, pt, ja, zh) ├── lib/export.ts PDF (jsPDF + html2canvas-pro), EPUB, ZIP (fflate), Obsidian ├── lib/url.ts Input + path parsing ├── lib/analytics.ts GA4 event helper ├── shared/fx.ts FxTwitter client (v2 thread endpoint + v1 fallback), shared by Worker & dev server ├── shared/api.ts JSON API handler with edge caching ├── shared/convert.ts Posts / threads / Draft.js articles → Markdown + text + metadata (app + Worker) ├── shared/markdown.ts GET /api/markdown/:id ├── shared/mcp.ts Remote MCP server (POST /mcp) ├── shared/text.ts Title extraction └── worker.ts Cloudflare Worker (API + status-page SSR) site/ ├── blocks.ts Types + localized shared blocks (shortcuts, privacy) ├── pages.ts English pages (one per search intent) + page registry ├── pages-{es,pt,ja,zh,ar,tr}.ts The same pages, localized (linked by group) ├── curated.ts Weekly “Best X Articles” pages from site/curated/*.json ├── guides.ts /guides — informational guides ├── mcp-page.ts /mcp-server — MCP setup docs ├── render.ts Head/meta/JSON-LD/content/footer rendering └── plugin.ts Vite plugin: emits every page, 404.html and sitemap.xml
Heavy export libraries are dynamically imported, so the initial page only loads React + the app.
| Layer | Implementation |
|---|---|
| Intent pages | /x-article-to-pdf, /x-article-to-markdown, /x-thread-to-pdf, /x-article-to-epub, /save-x-articles-to-obsidian, /thread-reader-app-alternative — each with unique, visible HTML content and FAQ |
| Languages | Every page in 7 languages (/, /es/…, /pt/…, /ja/…, /zh/…, /ar/…, /tr/…) + UI in 7 languages; first-visit language banner, remembered choice redirects (never for crawlers) |
| Crawlable content | Content is static HTML outside the React root — no JS needed to index it |
| Structured data | WebApplication, FAQPage (matches visible FAQ), BreadcrumbList |
| i18n | Reciprocal hreflang for every translation group + x-default |
| Share pages | /{user}/status/{id} get post-specific OG/Twitter tags; noindex, follow |
| Sitemap / 404 | Generated at build; real 404 status for unknown URLs |
| AI | /llms.txt, /llms-full.txt, AI crawlers allowed in robots.txt |
GET /api/thread/:id → { tweets: Tweet[], count, isThread } # self-thread containing :id
GET /api/tweet/:id → Tweet GET /api/markdown/:id → text/markdown # ?format=markdown|text&thread=0|1&front_matter=0|1 POST /mcp → MCP (Streamable HTTP, stateless), tool read_x_post
Tweet mirrors the FxTwitter status object (text, author, media, quote, article, …). Responses are edge-cached for 5 minutes — please be gentle.
/best-x-articles is a hand-reviewed weekly selection built from site/curated/*.json (title, author and a one-sentence summary in our own words — never the article text).
npm run curate -- 2026-W41 https://x.com/user/status/123 https://x.com/other/status/456
npm run build # issues with an empty summary are skipped automatically
The newest issue is shown on /best-x-articles (its /best-x-articles/ page canonicals to the hub until the next issue); older issues stay at /best-x-articles/ .
git checkout -b feature/amazing-feature)Notes:
site/pages.ts; run npm run build to see the generated HTMLsrc/shared/* free of DOM/Node-only APIs — it runs in both the Worker and the dev servernpm run preview:workerMIT