{"id":50398673,"url":"https://github.com/fabioc-aloha/youtube-mcp-server","last_synced_at":"2026-05-30T22:01:53.753Z","repository":{"id":334651593,"uuid":"1142192252","full_name":"fabioc-aloha/youtube-mcp-server","owner":"fabioc-aloha","description":"🎬 Comprehensive YouTube MCP Server with 31 tools, AI intelligence layer, learning path generator, content repurposing, and watch history analysis","archived":false,"fork":false,"pushed_at":"2026-01-26T15:07:28.000Z","size":317,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-26T19:33:19.226Z","etag":null,"topics":["ai","ai-agents","ai-tools","content-creation","flashcards","github-copilot","knowledge-extraction","learning","llm-tools","mcp","model-context-protocol","quiz-generator","typescript","video-analysis","youtube","youtube-api"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fabioc-aloha.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-26T04:21:59.000Z","updated_at":"2026-01-26T15:07:55.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/fabioc-aloha/youtube-mcp-server","commit_stats":null,"previous_names":["fabioc-aloha/youtube-mcp-server"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/fabioc-aloha/youtube-mcp-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabioc-aloha%2Fyoutube-mcp-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabioc-aloha%2Fyoutube-mcp-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabioc-aloha%2Fyoutube-mcp-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabioc-aloha%2Fyoutube-mcp-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fabioc-aloha","download_url":"https://codeload.github.com/fabioc-aloha/youtube-mcp-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabioc-aloha%2Fyoutube-mcp-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33711018,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-30T02:00:06.278Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-agents","ai-tools","content-creation","flashcards","github-copilot","knowledge-extraction","learning","llm-tools","mcp","model-context-protocol","quiz-generator","typescript","video-analysis","youtube","youtube-api"],"created_at":"2026-05-30T22:01:53.691Z","updated_at":"2026-05-30T22:01:53.744Z","avatar_url":"https://github.com/fabioc-aloha.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n![YouTube MCP Tools](https://raw.githubusercontent.com/fabioc-aloha/youtube-mcp-server/main/assets/banner.svg)\n\n**Think • Build • Deploy** — *Transform YouTube into a knowledge engine for AI agents*\n\n\u003c/div\u003e\n\n---\n\nAn intelligent Model Context Protocol (MCP) server that turns AI assistants into YouTube research powerhouses. Go beyond simple video searches—synthesize knowledge across multiple videos, extract structured concepts, and conduct deep research with AI-native tools.\n\n[![MCP Compatible](https://img.shields.io/badge/MCP-Compatible-0078d4?style=flat-square)](https://modelcontextprotocol.io)\n[![npm version](https://img.shields.io/npm/v/youtube-mcp-tools?style=flat-square\u0026color=cb3837)](https://www.npmjs.com/package/youtube-mcp-tools)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.7-005a9e?style=flat-square\u0026logo=typescript)](https://www.typescriptlang.org/)\n[![Node.js](https://img.shields.io/badge/Node.js-20+-10b981?style=flat-square\u0026logo=node.js)](https://nodejs.org/)\n[![License](https://img.shields.io/badge/License-MIT-00bcf2?style=flat-square)](LICENSE)\n![Production Ready](https://img.shields.io/badge/Production-Ready-10b981?style=flat-square)\n\n---\n\n## ✨ What Makes This Different\n\n### vs Other YouTube MCP Servers\n\n| Feature                            | anaisbetts | kimtaeyoon83 | ZubeidHendricks | yutu (Go) | **YouTube MCP Tools** |\n| ---------------------------------- | ---------- | ------------ | --------------- | --------- | --------------------------- |\n| Transcripts                        | ✅         | ✅           | ✅              | ✅        | ✅ Multi-strategy fallback  |\n| Video metadata                     | ❌         | ❌           | ✅              | ✅        | ✅ Full                     |\n| Channel analytics                  | ❌         | ❌           | ✅              | ✅        | ✅ Full                     |\n| Playlist support                   | ❌         | ❌           | ✅              | ✅        | ✅ Full                     |\n| **Semantic chunking**        | ❌         | ❌           | ❌              | ❌        | ✅**Unique**          |\n| **Concept extraction**       | ❌         | ❌           | ❌              | ❌        | ✅**Unique**          |\n| **Multi-video synthesis**    | ❌         | ❌           | ❌              | ❌        | ✅**Unique**          |\n| **Research workflows**       | ❌         | ❌           | ❌              | ❌        | ✅**Unique**          |\n| **Learning path generation** | ❌         | ❌           | ❌              | ❌        | ✅**Unique**          |\n| **Flashcard generation**     | ❌         | ❌           | ❌              | ❌        | ✅**Unique**          |\n| **Content repurposing**      | ❌         | ❌           | ❌              | ❌        | ✅**Unique**          |\n| Smart caching                      | ❌         | ❌           | ⚠️ Basic      | ❌        | ✅ Full LRU + TTL           |\n| Rate limiting                      | ❌         | ❌           | ❌              | ❌        | ✅ Quota-aware              |\n\n\u003e **The first YouTube MCP with an intelligence layer** — we don't just fetch data, we understand it.\n\n### vs Raw YouTube API\n\n| Traditional YouTube API   | YouTube MCP Tools                            |\n| ------------------------- | -------------------------------------------- |\n| Returns raw video data    | Returns**structured knowledge**        |\n| Single video queries      | **Multi-video synthesis**              |\n| Text search only          | **Semantic concept extraction**        |\n| Manual transcript parsing | **AI-ready chunked content**           |\n| No cross-video analysis   | **Research synthesis with citations**  |\n| No rate limiting          | **Smart quota management**             |\n| Raw errors                | **Graceful error handling \u0026 recovery** |\n\n---\n\n## 🚀 Quick Start\n\n### Installation\n\n```bash\n# Install globally\nnpm install -g youtube-mcp-tools\n\n# Or use directly with npx (no install needed)\nnpx youtube-mcp-tools\n```\n\n### VS Code / GitHub Copilot Setup\n\nAdd to your VS Code `settings.json`:\n\n```json\n{\n  \"mcp\": {\n    \"servers\": {\n      \"youtube\": {\n        \"command\": \"npx\",\n        \"args\": [\"-y\", \"youtube-mcp-tools\"],\n        \"env\": {\n          \"YOUTUBE_API_KEY\": \"your_api_key\"\n        }\n      }\n    }\n  }\n}\n```\n\n### Claude Desktop Setup\n\nAdd to `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"youtube\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"youtube-mcp-tools\"],\n      \"env\": {\n        \"YOUTUBE_API_KEY\": \"your_api_key\"\n      }\n    }\n  }\n}\n```\n\n---\n\n## 🧠 Intelligence Layer\n\nThe magic happens in the intelligence layer—purpose-built for AI agents:\n\n### 🔬 Research Synthesis\n\n\u003e \"Compare how these 5 videos explain React Server Components\"\n\u003e → Returns consensus points, controversies, unique insights, and citations\n\n### 📚 Concept Extraction\n\n\u003e \"What concepts does this tutorial cover?\"\n\u003e → Returns structured topics with difficulty levels, prerequisites, and relationships\n\n### ✂️ Smart Chunking\n\n\u003e \"Prepare this 2-hour lecture for analysis\"\n\u003e → Returns AI-optimized chunks respecting sentence boundaries and context\n\n---\n\n## 🛠️ Tools Overview\n\n**40 powerful tools + 3 MCP resources** organized by capability:\n\n| Category                         | Count | Highlights                                                       |\n| -------------------------------- | ----- | ---------------------------------------------------------------- |\n| 🔍**Search \u0026 Discovery**   | 4     | Search, date filtering, related videos, trending                 |\n| 📺**Channel Intelligence** | 5     | Stats, analytics, popular videos, playlists                      |\n| 🎬**Video Analysis**       | 6     | Details, comparison, comments, batch operations                  |\n| 📝**Transcripts**          | 4     | Full captions, search, chunking, retrieval                       |\n| 🧠**AI Intelligence**      | 5     | Deep analysis, concept extraction, research synthesis            |\n| 📚**Learning Tools**       | 5     | Flashcards, quizzes, learning paths, study guides, watch history |\n| 🎨**Creator Tools**        | 2     | Content repurposing, gap analysis                                |\n| 👤**User Preferences**     | 1     | Personalized recommendations, trusted/excluded channels          |\n| 🔮**Semantic Search**      | 5     | Vector embeddings, similarity search, clustering                 |\n| 🔴**Live \u0026 Trending**      | 3     | Live streams, trending by region, categories                     |\n| 📦**MCP Resources**        | 3     | Cache stats, quota status, preferences (zero cost)               |\n\n[📖 **Full Tool Reference** →](TOOLS.md) | [📚 **Examples** →](EXAMPLES.md) | [🎬 **Demo Guide** →](DEMO.md)\n\n---\n\n## 🛡️ Production Ready\n\nBuilt for reliability in production environments:\n\n| Feature                     | Description                                                     |\n| --------------------------- | --------------------------------------------------------------- |\n| **Rate Limiting**     | Smart quota management tracks API usage and prevents exhaustion |\n| **Graceful Shutdown** | Clean termination with SIGINT/SIGTERM signal handling           |\n| **Input Validation**  | Zod-based schema validation for all tool inputs                 |\n| **Config Validation** | Fail-fast startup with clear error messages for missing config  |\n| **Secure Logging**    | Automatic redaction of API keys and sensitive data              |\n| **Error Recovery**    | Wrapped API calls with typed error handling                     |\n| **LRU Caching**       | Intelligent caching for transcripts and analysis results        |\n| **ESLint**            | TypeScript-aware linting for code quality                       |\n\n---\n\n## 🎯 Use Cases\n\n### 📚 Research \u0026 Learning\n\n- Synthesize knowledge from multiple educational videos\n- Generate flashcards and quizzes from any tutorial\n- Extract structured learning paths with prerequisites\n- Compare teaching approaches across instructors\n\n### 📊 Content Analysis\n\n- Analyze competitor content strategies\n- Track trending topics in your niche\n- Identify content gaps and opportunities\n- Benchmark channel performance\n\n### 🎨 Content Creation\n\n- Repurpose videos into blog posts, tweets, newsletters\n- Generate podcast show notes from interviews\n- Create short-form scripts from long content\n- Plan content strategy with gap analysis\n\n### 🤖 AI Agent Workflows\n\n- Build YouTube-powered research assistants\n- Create automated content summarization pipelines\n- Develop knowledge base builders from video content\n\n---\n\n## 🏗️ Architecture\n\n```text\n┌───────────────────────────────────────────────┐\n│                 MCP Protocol                  │\n├───────────────────────────────────────────────┤\n│  Tools (40)  │  Prompts (5)  │  Resources (3) │\n├──────────────┴───────────────┴────────────────┤\n│              Intelligence Layer               │\n│  ┌─────────┐ ┌──────────┐ ┌───────────┐       │\n│  │ Chunker │ │ Analyzer │ │ Synthesis │       │\n│  ├─────────┤ ├──────────┤ ├───────────┤       │\n│  │  Quiz   │ │ Learning │ │ Repurpose │       │\n│  │Generator│ │   Path   │ │  Content  │       │\n│  ├─────────┤ ├──────────┤ ├───────────┤       │\n│  │ Watch   │ │ Content  │ │Flashcards │       │\n│  │ History │ │   Gaps   │ │           │       │\n│  └─────────┘ └──────────┘ └───────────┘       │\n├───────────────────────────────────────────────┤\n│           Semantic Search Layer               │\n│  ┌─────────┐ ┌──────────┐ ┌───────────┐       │\n│  │Embedding│ │  Vector  │ │ Clustering│       │\n│  │ Service │ │  Store   │ │  (k-means)│       │\n│  └─────────┘ └──────────┘ └───────────┘       │\n├───────────────────────────────────────────────┤\n│         Production Infrastructure             │\n│  ┌─────────┐ ┌──────────┐ ┌───────────┐       │\n│  │  Rate   │ │ Graceful │ │   Input   │       │\n│  │ Limiter │ │ Shutdown │ │ Validator │       │\n│  └─────────┘ └──────────┘ └───────────┘       │\n├───────────────────────────────────────────────┤\n│        Cache Layer (LRU + Vectors)            │\n├───────────────────────────────────────────────┤\n│         YouTube Data API v3 + Transcripts     │\n└───────────────────────────────────────────────┘\n```\n\n---\n\n## 📈 Roadmap\n\n- [X] **Phase 1**: Core YouTube API integration (18 tools)\n- [X] **Phase 2**: Intelligence layer (analysis, synthesis)\n- [X] **Phase 3**: Learning tools (flashcards, quizzes, learning paths)\n- [X] **Phase 4**: Creator tools (content gaps, repurposing)\n- [X] **Phase 5**: Personal insights (watch history analysis)\n- [X] **Phase 6**: Semantic search \u0026 embeddings\n- [ ] **Phase 7**: Knowledge graph \u0026 entity extraction\n- [ ] **Phase 8**: Real-time streaming analysis\n\n[📋 Full Project Plan →](PROJECT-PLAN.md) | [🔮 Vision →](VISION.md)\n\n---\n\n## 🔧 Development\n\n```bash\n# Development mode with hot reload\nnpm run dev\n\n# Run tests\nnpm test\n\n# Build for production\nnpm run build\n```\n\n---\n\n## 📊 API Quota Guide\n\nYouTube Data API quota: **10,000 units/day**\n\n| Operation             | Cost              | Notes                              |\n| --------------------- | ----------------- | ---------------------------------- |\n| Search                | 100 units         | Use date ranges to narrow results  |\n| Video details         | 1 unit            | Batch up to 50 with `video_list` |\n| Channel info          | 1 unit            |                                    |\n| Comments              | 1 unit            |                                    |\n| **Transcripts** | **0 units** | Free! Use liberally                |\n\n**💡 Pro Tip**: Transcripts are quota-free. Use `youtube_transcript` and `youtube_transcript_search` for deep content analysis without burning quota.\n\n---\n\n## 🤝 Contributing\n\nContributions welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n---\n\n## 📄 License\n\nMIT © 2026 Fabio Caversan\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"brand/logos/logo.svg\" alt=\"CorreaX\" width=\"32\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eBuilt with 🧠 by Alex\u003c/strong\u003e • \u003cem\u003eTransforming how AI agents understand video content\u003c/em\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003csub\u003e© 2026 Fabio Caversan • Think. Build. Deploy.\u003c/sub\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabioc-aloha%2Fyoutube-mcp-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffabioc-aloha%2Fyoutube-mcp-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabioc-aloha%2Fyoutube-mcp-server/lists"}