youtube-research-mcp
Enables AI assistants to research YouTube videos by collecting captions, comments, and channel information for analysis and comparison.
README
YouTube Research MCP
μ νλΈμ μλ λͺ¨λ μ 보λ₯Ό β μλ§, λκΈ, μ±λ β AI 리μμΉ μμ€λ‘.
AIμκ² μμ²λ§ νλ©΄ β μλ§ μμ§, λκΈ μ¬λ‘ λΆμ, μ¬λ¬ μμ λΉκ΅κΉμ§ μ λΆ AIκ° μ§μ μ²λ¦¬ν©λλ€. API ν€ μμ΄λ μλ§Β·μ±λ λΆμμ μ¦μ μ¬μ©ν μ μμ΅λλ€.
μ΄λμ μΈ μ μλμ?
MCP(Model Context Protocol)λ₯Ό μ§μνλ AI ν΄λΌμ΄μΈνΈλΌλ©΄ μ΄λμλ μ¬μ©ν μ μμ΅λλ€.
| ν΄λΌμ΄μΈνΈ | μ§μ μ¬λΆ |
|---|---|
| Claude Desktop | β |
| Cursor | β |
| Windsurf | β |
| Cline | β |
| MCP μ§μ ν΄λΌμ΄μΈνΈ μ 체 | β |
μ΄λ° κ² λ©λλ€
AI μ±ν μ°½μ κ·Έλ₯ λ§νλ―μ΄ μ λ ₯νλ©΄ λ©λλ€.
API ν€ μμ΄ λ°λ‘
μ΄ μμ ν΅μ¬λ§ μμ½ν΄μ€: https://www.youtube.com/watch?v=tTw1z10yMCI
@fireship μ±λ μ΅κ·Ό μμ 5κ° λΆμν΄μ μμ¦ μ΄λ€ κΈ°μ μ£Όμ λ€λ£¨λμ§ μλ €μ€
μ΄ 3κ° μμ λΉκ΅ν΄μ κ°μ μ΄λ€ μ£Όμ₯ νλμ§, 곡ν΅μ Β·μ°¨μ΄μ μ 리ν΄μ€:
https://www.youtube.com/watch?v=aaa
https://www.youtube.com/watch?v=bbb
https://www.youtube.com/watch?v=ccc
API ν€ μμΌλ©΄ λκΈ μ¬λ‘ κΉμ§
μ€λ νκ΅ μ£Όμ λ€λ£¬ μ νλ² μμ 3κ° λκΈκΉμ§ μ‘°μ¬ν΄μ μμ₯ μ΄μλ λΆμκΈ° 체ν¬ν΄μ€
μ΄ μ€λ§νΈν° 리뷰 μμ β ν¬λ¦¬μμ΄ν° νκ°λ μ€μ λκΈ λ°μμ΄ μΌλ§λ λ€λ₯Έμ§ λΉκ΅ν΄μ€
"AI μμ΄μ νΈ" μμ 4κ° κ²μν΄μ κ°μ μ΄λ€ μ£Όμ₯μΈμ§ λΉκ΅νκ³ , λκΈ λ°μλ μ 리ν΄μ€
μ€μ λ‘ μ΄λ»κ² λ΅μ΄ λμ€λμ?
π€ μ λ ₯:
"μ΄ μ€λ§νΈν° 리뷰 μμ ν΅μ¬ μ₯λ¨μ μ 리νκ³ , λκΈμμ κ°μ₯ λ§μ΄ λ°λ³΅λλ λΆλ§ 3κ°μ§ μλ €μ€."
π€ AI μλ΅:
"μμμμ μ μμλ μΉ΄λ©λΌ μ±λ₯κ³Ό λ°°ν°λ¦¬λ₯Ό μ£Όμ μ₯μ μΌλ‘ κΌ½μμ΅λλ€. κ·Έλ¬λ μμ§λ λκΈ λΆμ κ²°κ³Ό μ€μ μ¬μ©μλ€μ΄ κ°μ₯ λ§μ΄ μΈκΈν λΆλ§μ β λ°μ΄ λ¬Έμ , β‘ νΉμ μ±μμμ νλ μ λλ, β’ μΆ©μ μλμμ΅λλ€. μμμ κΈμ μ νκ°μ μ€μ μ¬μ©μ κ²½ν μ¬μ΄μ μ¨λμ°¨κ° μμ΅λλ€."
κΈ°λ₯ μμ½
| κΈ°λ₯ | API ν€ μμ΄ | API ν€ μμ λ |
|---|---|---|
| μμ μλ§ μμ§ | β | β |
| μμ λ©νλ°μ΄ν° μ‘°ν | β (yt-dlp κ²½μ ) | β |
| μ±λ μ΅μ μμ λΆμ | β (yt-dlp κ²½μ ) | β |
| ν€μλ κ²μ | β | β |
| λκΈ μμ§ λ° μ¬λ‘ λΆμ | β | β |
| API μ¬μ©λ μ‘°ν | β | β |
λκΈΒ·κ²μ κΈ°λ₯μ YouTube Data API ν€κ° νμν©λλ€. λ°κΈμ 무λ£, ν루 10,000 μ λ μ 곡.
μ€μΉ
μΆμ² β uvxλ‘ μ€μΉ μμ΄ λ°λ‘ μ¬μ©
uvλ§ μ€μΉνλ©΄ λ³λ νκ²½ μΈν μμ΄ λ°λ‘ μ°κ²°λ©λλ€.
# uv μ€μΉ (μμ§ μλ€λ©΄)
curl -LsSf https://astral.sh/uv/install.sh | sh # macOS / Linux
# λλ: winget install astral-sh.uv # Windows
λμ β pipμΌλ‘ μ€μΉ
pip install youtube-research-mcp
MCP ν΄λΌμ΄μΈνΈ μ°κ²°
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json νμΌμ μΆκ°ν©λλ€.
νμΌμ΄ μμΌλ©΄ μλ‘ λ§λμΈμ. Claude Desktopμ λ¨Όμ ν λ² μ€νν΄μΌ ν΄λκ° μκΉλλ€.
API ν€ μμ΄ (μλ§ + μ±λ λΆμ)
{
"mcpServers": {
"youtube-research": {
"command": "uvx",
"args": ["youtube-research-mcp"]
}
}
}
API ν€ μμ λ (μ 체 κΈ°λ₯)
{
"mcpServers": {
"youtube-research": {
"command": "uvx",
"args": ["youtube-research-mcp"],
"env": {
"YOUTUBE_API_KEY": "AIzaSy..."
}
}
}
}
Cursor / Windsurf / κΈ°ν MCP ν΄λΌμ΄μΈνΈ
κ° ν΄λΌμ΄μΈνΈμ MCP μ€μ νμΌμ λμΌν λ°©μμΌλ‘ μΆκ°νλ©΄ λ©λλ€. commandμ argsλ λμΌν©λλ€.
μ€μ μ μ₯ ν ν΄λΌμ΄μΈνΈλ₯Ό μμ ν μ’ λ£νκ³ μ¬μμνλ©΄ μ μ©λ©λλ€.
pipμΌλ‘ μ€μΉνλ€λ©΄
"command": "youtube-research-mcp","args": []λ‘ μ€μ νμΈμ.
YouTube API ν€ λ°κΈ (μ ν μ¬ν)
κ²μΒ·λκΈ κΈ°λ₯μ νμν©λλ€. 무λ£μ΄λ©° ν루 10,000 μ λ β μΌλ° μ¬μ©μΌλ‘λ μμ§λμ§ μμ΅λλ€.
- Google Cloud Console μ μ
- μ νλ‘μ νΈ μμ±
- APIs & Services β Library β
YouTube Data API v3κ²μ β Enable - APIs & Services β Credentials β + Create Credentials β API key
- μμ±λ ν€ λ³΅μ¬
보μ μ€μ κΆμ₯: Edit API key β API restrictions β YouTube Data API v3λ§ νμ©
μ€μΉν΄λ μμ νκ°μ?
ν μ€ μμ½: λ€, μμ ν©λλ€.
| μ΄ μλ²κ° νλ μΌ | |
|---|---|
| β | YouTubeμμ μλ§κ³Ό λ©νλ°μ΄ν°λ₯Ό κ°μ Έμ΅λλ€ |
| β | κ²°κ³Όλ¬Όμ λ΄ μ»΄ν¨ν°μ λ‘컬 SQLite νμΌμ μΊμν©λλ€ |
| β | API ν€λ₯Ό μ 곡ν κ²½μ°μλ§ YouTube Data API v3λ₯Ό νΈμΆν©λλ€ |
| β | μμ§ν λ°μ΄ν°λ₯Ό μΈλΆ μλ²λ‘ μ μ‘νμ§ μμ΅λλ€ |
| β | LLMΒ·AI APIλ₯Ό νΈμΆνμ§ μμ΅λλ€ |
| β | μΊμ λλ ν 리 μΈμ λ‘컬 νμΌμ μ κ·Όνμ§ μμ΅λλ€ |
| β | μ Έ λͺ λ Ήμ΄ μ€νμ΄λ μμ€ν μ κ·Όμ νμ§ μμ΅λλ€ |
μλ§κ³Ό λκΈμλ safety_notice νλκ° ν¬ν¨λμ΄ ν둬ννΈ μΈμ μ
μ λ°©μ§ν©λλ€.
μ 체 μμ€ μ½λλ GitHubμ 곡κ°λμ΄ μμ΅λλ€.
μ€κ³ μμΉ
- LLM νΈμΆ μμ β λ°μ΄ν° μμ§λ§ λ΄λΉν©λλ€. λΆμΒ·μμ½Β·νλ¨μ AI μ΄μμ€ν΄νΈκ° ν©λλ€.
- ν둬ννΈ μΈμ μ
λ°©μ΄ β μλ§κ³Ό λκΈμ
safety_noticeλ₯Ό ν¬ν¨ν΄ μΈλΆ μ½ν μΈ μμ λͺ μν©λλ€. - API μκΈ νν μμ β μλ§Β·λκΈΒ·κ²μ κ²°κ³Όλ₯Ό SQLiteμ μΊμν΄ μ€λ³΅ νΈμΆμ μ°¨λ¨ν©λλ€.
- ν€ μμ΄λ ν΅μ¬ κΈ°λ₯ μ¬μ© β μλ§ μμ§κ³Ό μ±λ λΆμμ yt-dlpλ‘ API ν€ μμ΄ λμν©λλ€.
λꡬ λͺ©λ‘
API ν€ μμ΄ μ¬μ© κ°λ₯
get_transcript β μμ μλ§ κ°μ Έμ€κΈ°
μ΄ μμ ν΅μ¬ λ΄μ©λ§ μμ½ν΄μ€:
https://www.youtube.com/watch?v=tTw1z10yMCI
| νλΌλ―Έν° | μ€λͺ | κΈ°λ³Έκ° |
|---|---|---|
url_or_video_id |
YouTube URL λλ video ID | νμ |
languages |
μλ§ μΈμ΄ μ°μ μμ (μ: ["ko", "en"]) |
μλ μ ν |
analyze_videos β μ¬λ¬ μμ ν λ²μ λΆμ
URL λͺ©λ‘μ μ£Όλ©΄ μλ§Β·λ©νλ°μ΄ν°λ₯Ό λ³λ ¬ μμ§ν©λλ€. API ν€κ° μμΌλ©΄ λκΈλ ν¨κ» μμ§ν©λλ€.
μ΄ 3κ° μμ λΆμν΄μ κ°μ μ΄λ€ μ£Όμ₯μΈμ§, 곡ν΅μ κ³Ό μ°¨μ΄μ μ 리ν΄μ€:
https://www.youtube.com/watch?v=aaa
https://www.youtube.com/watch?v=bbb
https://www.youtube.com/watch?v=ccc
| νλΌλ―Έν° | μ€λͺ | κΈ°λ³Έκ° |
|---|---|---|
urls_or_video_ids |
URL λλ video ID λͺ©λ‘ | νμ |
languages |
μλ§ μΈμ΄ μ°μ μμ | μλ μ ν |
include_comments |
λκΈ ν¬ν¨ μ¬λΆ (β οΈ API ν€ νμ) | true |
max_comments_per_video |
μμλΉ μ΅λ λκΈ μ | 25 |
max_transcript_chars |
μλ§ μ΅λ κΈμ μ (0 = μ ν μμ) | 8000 |
analyze_channel β μ±λ λΆμ
μ±λ νΈλ€(@μ±λλͺ
) λλ μ±λ IDλ‘ μ΅μ μμ Nκ°λ₯Ό μμ§Β·λΆμν©λλ€.
@ycombinator μ±λ μ΅κ·Ό μμ 5κ° λ³΄κ³ μ΄λ€ μ€ννΈμ
νΈλ λ λ€λ£¨λμ§ λΆμν΄μ€
| νλΌλ―Έν° | μ€λͺ | κΈ°λ³Έκ° |
|---|---|---|
channel_id_or_handle |
μ±λ νΈλ€ λλ ID | νμ |
max_videos |
μμ§ν μμ μ (μ΅λ 8) | 5 |
min_duration_seconds |
μ΅μ μμ κΈΈμ΄ (μ΄) | 120 |
max_duration_seconds |
μ΅λ μμ κΈΈμ΄ (μ΄) | 7200 |
include_comments |
λκΈ ν¬ν¨ μ¬λΆ (β οΈ API ν€ νμ) | true |
get_capabilities β νμ¬ μ¬μ© κ°λ₯ν κΈ°λ₯ νμΈ
μ§κΈ μ΄λ€ κΈ°λ₯μ μΈ μ μμ΄?
API ν€ νμ
search_videos β ν€μλλ‘ μμ κ²μ
"AI agent" κ΄λ ¨ μ΅μ μμ 5κ° κ²μν΄μ€
| νλΌλ―Έν° | μ€λͺ | κΈ°λ³Έκ° |
|---|---|---|
query |
κ²μμ΄ | νμ |
max_results |
μ΅λ κ²°κ³Ό μ | 5 |
published_after |
μ΄ν λ μ§ (YYYY-MM-DD) | μμ |
published_before |
μ΄μ λ μ§ (YYYY-MM-DD) | μμ |
exclude_shorts |
μΌμΈ μ μΈ μ¬λΆ | false |
get_video_comments β λκΈ μμ§
| νλΌλ―Έν° | μ€λͺ | κΈ°λ³Έκ° |
|---|---|---|
url_or_video_id |
YouTube URL λλ video ID | νμ |
max_comments |
μ΅λ λκΈ μ | 50 |
order |
μ λ ¬ λ°©μ (relevance / time) |
relevance |
include_replies |
λλκΈ ν¬ν¨ μ¬λΆ | false |
collect_video_discussion β μλ§ + λκΈ ν λ²μ
ν¬λ¦¬μμ΄ν° μ£Όμ₯κ³Ό μμ²μ λ°μμ ν λ²μ λΉκ΅ν λ μ μ©ν©λλ€.
μ΄ μμ λ΄μ©μ΄λ λκΈ λ°μ κ°μ΄ λΆμν΄μ€:
https://www.youtube.com/watch?v=tTw1z10yMCI
collect_research_sources β κ²μ β μλ§ λ¬Άμ μμ§
"λ¬μ€νΈ vs κ³ λΉκ΅" μμ 5κ° κ²μν΄μ κ° μμμ΄ μ΄λ€ κ²°λ‘ λ΄λ¦¬λμ§ μ 리ν΄μ€
| νλΌλ―Έν° | μ€λͺ | κΈ°λ³Έκ° |
|---|---|---|
query |
κ²μμ΄ | νμ |
max_videos |
μμ§ν μμ μ (μ΅λ 8) | 5 |
min_duration_seconds |
μ΅μ μμ κΈΈμ΄ (μ΄) | 120 |
exclude_shorts |
μΌμΈ μ μΈ μ¬λΆ | true |
min_view_count |
μ΅μ μ‘°νμ | 0 |
collect_research_discussions β κ²μ β μλ§ + λκΈ λ¬Άμ μμ§
κ°μ₯ κ°λ ₯ν 리μμΉ λꡬ. κ²μΒ·μλ§Β·λκΈμ ν λ²μ λ³λ ¬ μμ§ν©λλ€.
"LLM νμΈνλ" μμ 3κ° κ²μν΄μ
ν¬λ¦¬μμ΄ν°λ€μ΄ 곡ν΅μΌλ‘ κ°μ‘°νλ κ², μλ‘ λ€λ₯Έ μ견, λκΈμμ λ°λ³΅λλ μ§λ¬Έ μ 리ν΄μ€
get_quota_usage β API μ¬μ©λ μ‘°ν
μ€λ μ¬μ©ν YouTube API μΏΌν°μ λ¨μ μμ νμΈν©λλ€.
μΊμ λμ λ°©μ
κ°μ μμμ μ¬λ¬ λ² λΆμν΄λ μΆκ° API μΏΌν°κ° μλΉλμ§ μμ΅λλ€.
| λ°μ΄ν° | μΊμ μ ν¨ κΈ°κ° |
|---|---|
| μλ§ | 30μΌ |
| λκΈ | 6μκ° |
| κ²μ κ²°κ³Ό | 2μκ° |
| μμ λ©νλ°μ΄ν° | μꡬ |
μΊμ μμΉ (OS μλ μ ν, YOUTUBE_RESEARCH_CACHE_DB νκ²½ λ³μλ‘ λ³κ²½ κ°λ₯):
- macOS:
~/Library/Application Support/youtube-research-mcp/cache.db - Windows:
%APPDATA%\youtube-research-mcp\cache.db - Linux:
~/.local/share/youtube-research-mcp/cache.db
λΌμ΄μ μ€
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.