/ 目录 / 演练场 / youtube-fetcher-to-markdown
● 社区 JimmySadek ⚡ 即开即用

youtube-fetcher-to-markdown

作者 JimmySadek · JimmySadek/youtube-fetcher-to-markdown

Turn any YouTube URL into a queryable Markdown note — YAML frontmatter, chapters, full transcript, Obsidian-ready.

JimmySadek/youtube-fetcher-to-markdown converts YouTube videos into structured Markdown in ~/yt_transcripts/. Accepts URLs in any format. Options: --timestamps (temporal markers), --lang (caption language), --format (json / srt), --source (project tag). Output includes YAML frontmatter (title, channel, id, date, duration, language), full description with links, chapter timestamps, and transcript. Frontmatter lets Obsidian Dataview query your entire transcript library.

为什么要用

核心特性

实时演示

实际使用效果

youtube-fetcher-to-markdown-skill.replay ▶ 就绪
0/0

安装

选择你的客户端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "youtube-fetcher-to-markdown-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/JimmySadek/youtube-fetcher-to-markdown",
        "~/.claude/skills/youtube-fetcher-to-markdown"
      ],
      "_inferred": true
    }
  }
}

打开 Claude Desktop → Settings → Developer → Edit Config。保存后重启应用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "youtube-fetcher-to-markdown-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/JimmySadek/youtube-fetcher-to-markdown",
        "~/.claude/skills/youtube-fetcher-to-markdown"
      ],
      "_inferred": true
    }
  }
}

Cursor 使用与 Claude Desktop 相同的 mcpServers 格式。项目级配置优先于全局。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "youtube-fetcher-to-markdown-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/JimmySadek/youtube-fetcher-to-markdown",
        "~/.claude/skills/youtube-fetcher-to-markdown"
      ],
      "_inferred": true
    }
  }
}

点击 Cline 侧栏中的 MCP Servers 图标,然后选 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "youtube-fetcher-to-markdown-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/JimmySadek/youtube-fetcher-to-markdown",
        "~/.claude/skills/youtube-fetcher-to-markdown"
      ],
      "_inferred": true
    }
  }
}

格式与 Claude Desktop 相同。重启 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "youtube-fetcher-to-markdown-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/JimmySadek/youtube-fetcher-to-markdown",
        "~/.claude/skills/youtube-fetcher-to-markdown"
      ]
    }
  ]
}

Continue 使用服务器对象数组,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "youtube-fetcher-to-markdown-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/JimmySadek/youtube-fetcher-to-markdown",
          "~/.claude/skills/youtube-fetcher-to-markdown"
        ]
      }
    }
  }
}

加入 context_servers。Zed 保存后热重载。

claude mcp add youtube-fetcher-to-markdown-skill -- git clone https://github.com/JimmySadek/youtube-fetcher-to-markdown ~/.claude/skills/youtube-fetcher-to-markdown

一行命令搞定。用 claude mcp list 验证,claude mcp remove 卸载。

使用场景

实战用法: youtube-fetcher-to-markdown

Archive a YouTube lecture series as a searchable Obsidian vault

👤 Self-learners and researchers ⏱ ~20 min beginner

何时使用: You're studying from YouTube and want to search across 20+ videos later.

前置条件
  • Skill cloned — git clone https://github.com/JimmySadek/youtube-fetcher-to-markdown ~/.claude/skills/youtube-fetcher-to-markdown
  • yt-dlp or equivalent installed — brew install yt-dlp
步骤
  1. Fetch a playlist's transcripts
    youtube-fetcher-to-markdown — fetch every video in playlist <URL>, include timestamps, source=cs-course.✓ 已复制
    → ~/yt_transcripts/ fills with per-video markdown files, all tagged source: cs-course
  2. Query via Dataview
    In Obsidian, write a Dataview query listing all cs-course videos sorted by upload date.✓ 已复制
    → Dataview returns the set because the frontmatter is consistent

结果: A queryable knowledge base you can grep, tag, and cross-link.

注意事项
  • Some videos have no captions and the transcript is empty — Check the skill's log; fall back to Whisper locally for those
搭配使用: filesystem

Turn a YouTube talk into a blog post draft

👤 Creators repurposing content ⏱ ~25 min beginner

何时使用: Your talk went up; you want a written version for SEO.

步骤
  1. Fetch the transcript
    youtube-fetcher-to-markdown <URL> with chapters and timestamps.✓ 已复制
    → Markdown with chapter-delimited sections
  2. Rewrite as blog
    Now draft a blog post from this transcript.✓ 已复制
    → Structured post using the chapters as section anchors

结果: Draft-quality blog post based on your own talk.

组合

与其他 MCP 搭配,撬动十倍杠杆

youtube-fetcher-to-markdown-skill + filesystem

Route transcripts into a specific Obsidian vault folder with custom naming

Save fetched transcripts to ~/obsidian/sources/youtube/.✓ 已复制
youtube-fetcher-to-markdown-skill + seo-blog-writer-claude-skill

Fetch transcript → generate blog post in one chain

Fetch the transcript for <URL>, then seo-blog-writer target keyword 'X'.✓ 已复制
youtube-fetcher-to-markdown-skill + claude-content-writer-skill

Turn transcripts into newsletters in your brand voice

Fetch transcript, then claude-content-writer newsletter version in my voice profile.✓ 已复制

工具

此 MCP 暴露的能力

工具输入参数何时调用成本
fetch_single URL + options (timestamps, lang, format, source) One video at a time 0
fetch_playlist playlist URL + options Bulk archiving 0
export_json URL You want the data in a non-markdown pipeline 0

成本与限制

运行它的成本

API 配额
YouTube has no explicit scrape quota for captions but be reasonable
每次调用 Token 数
Proportional to video length
费用
Free — skills are local files
提示
For very long videos, use JSON export + snippet extraction instead of loading full transcripts into context.

安全

权限、密钥、影响范围

凭据存储: No credentials — pure prompts
数据出站: Fetches from YouTube. No data leaves your machine afterward.

故障排查

常见错误与修复

Skill not invoked — Claude summarizes without fetching

Say 'fetch the transcript using youtube-fetcher-to-markdown' explicitly.

验证: ls ~/.claude/skills/youtube-fetcher-to-markdown/SKILL.md
SKILL.md frontmatter wrong

Re-clone; description drives activation.

验证: head ~/.claude/skills/youtube-fetcher-to-markdown/SKILL.md
Wrong trigger keywords — transcript has no timestamps

Pass --timestamps explicitly in the prompt.

替代方案

youtube-fetcher-to-markdown 对比其他方案

替代方案何时用它替代权衡
Whisper (local)No captions available on the videoNeeds GPU or patience; better accuracy on accented speech
Online transcript sitesOne-off copy-pasteNo Obsidian integration, no structured frontmatter

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

🔍 浏览全部 400+ MCP 服务器和 Skills