youtube-research-mcp
Enables AI agents to research YouTube videos by collecting transcripts, metadata, comments, and channel information, with optional YouTube Data API for search and comment analysis.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@youtube-research-mcp Get the transcript and main ideas from https://youtu.be/abc"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
YouTube Research MCP
μ νλΈμ μλ λͺ¨λ μ 보λ₯Ό β μλ§, λκΈ, μ±λ β AI 리μμΉ μμ€λ‘.
AIμκ² μμ²λ§ νλ©΄ β μλ§ μμ§, λκΈ μ¬λ‘ λΆμ, μ¬λ¬ μμ λΉκ΅κΉμ§ μ λΆ AIκ° μ§μ μ²λ¦¬ν©λλ€. API ν€ μμ΄λ μλ§Β·μ±λ λΆμμ μ¦μ μ¬μ©ν μ μμ΅λλ€.
Related MCP server: mcp-server-youtube
μ΄λμ μΈ μ μλμ?
MCP(Model Context Protocol)λ₯Ό μ§μνλ AI ν΄λΌμ΄μΈνΈλΌλ©΄ μ΄λμλ μ¬μ©ν μ μμ΅λλ€.
ν΄λΌμ΄μΈνΈ | μ§μ μ¬λΆ |
β | |
β | |
β | |
β | |
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=cccAPI ν€ μμΌλ©΄ λκΈ μ¬λ‘ κΉμ§
μ€λ νκ΅ μ£Όμ λ€λ£¬ μ νλ² μμ 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-mcpMCP ν΄λΌμ΄μΈνΈ μ°κ²°
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κ²μ β EnableAPIs & 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νλΌλ―Έν° | μ€λͺ | κΈ°λ³Έκ° |
| YouTube URL λλ video ID | νμ |
| μλ§ μΈμ΄ μ°μ μμ (μ: | μλ μ ν |
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νλΌλ―Έν° | μ€λͺ | κΈ°λ³Έκ° |
| URL λλ video ID λͺ©λ‘ | νμ |
| μλ§ μΈμ΄ μ°μ μμ | μλ μ ν |
| λκΈ ν¬ν¨ μ¬λΆ (β οΈ API ν€ νμ) |
|
| μμλΉ μ΅λ λκΈ μ |
|
| μλ§ μ΅λ κΈμ μ (0 = μ ν μμ) |
|
analyze_channel β μ±λ λΆμ
μ±λ νΈλ€(@μ±λλͺ
) λλ μ±λ IDλ‘ μ΅μ μμ Nκ°λ₯Ό μμ§Β·λΆμν©λλ€.
@ycombinator μ±λ μ΅κ·Ό μμ 5κ° λ³΄κ³ μ΄λ€ μ€ννΈμ
νΈλ λ λ€λ£¨λμ§ λΆμν΄μ€νλΌλ―Έν° | μ€λͺ | κΈ°λ³Έκ° |
| μ±λ νΈλ€ λλ ID | νμ |
| μμ§ν μμ μ (μ΅λ 8) |
|
| μ΅μ μμ κΈΈμ΄ (μ΄) |
|
| μ΅λ μμ κΈΈμ΄ (μ΄) |
|
| λκΈ ν¬ν¨ μ¬λΆ (β οΈ API ν€ νμ) |
|
get_capabilities β νμ¬ μ¬μ© κ°λ₯ν κΈ°λ₯ νμΈ
μ§κΈ μ΄λ€ κΈ°λ₯μ μΈ μ μμ΄?API ν€ νμ
search_videos β ν€μλλ‘ μμ κ²μ
"AI agent" κ΄λ ¨ μ΅μ μμ 5κ° κ²μν΄μ€νλΌλ―Έν° | μ€λͺ | κΈ°λ³Έκ° |
| κ²μμ΄ | νμ |
| μ΅λ κ²°κ³Ό μ |
|
| μ΄ν λ μ§ (YYYY-MM-DD) | μμ |
| μ΄μ λ μ§ (YYYY-MM-DD) | μμ |
| μΌμΈ μ μΈ μ¬λΆ |
|
get_video_comments β λκΈ μμ§
νλΌλ―Έν° | μ€λͺ | κΈ°λ³Έκ° |
| YouTube URL λλ video ID | νμ |
| μ΅λ λκΈ μ |
|
| μ λ ¬ λ°©μ ( |
|
| λλκΈ ν¬ν¨ μ¬λΆ |
|
collect_video_discussion β μλ§ + λκΈ ν λ²μ
ν¬λ¦¬μμ΄ν° μ£Όμ₯κ³Ό μμ²μ λ°μμ ν λ²μ λΉκ΅ν λ μ μ©ν©λλ€.
μ΄ μμ λ΄μ©μ΄λ λκΈ λ°μ κ°μ΄ λΆμν΄μ€:
https://www.youtube.com/watch?v=tTw1z10yMCIcollect_research_sources β κ²μ β μλ§ λ¬Άμ μμ§
"λ¬μ€νΈ vs κ³ λΉκ΅" μμ 5κ° κ²μν΄μ κ° μμμ΄ μ΄λ€ κ²°λ‘ λ΄λ¦¬λμ§ μ 리ν΄μ€νλΌλ―Έν° | μ€λͺ | κΈ°λ³Έκ° |
| κ²μμ΄ | νμ |
| μμ§ν μμ μ (μ΅λ 8) |
|
| μ΅μ μμ κΈΈμ΄ (μ΄) |
|
| μΌμΈ μ μΈ μ¬λΆ |
|
| μ΅μ μ‘°νμ |
|
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.dbWindows:
%APPDATA%\youtube-research-mcp\cache.dbLinux:
~/.local/share/youtube-research-mcp/cache.db
λΌμ΄μ μ€
Available Tools
10 toolsanalyze_channelC
Collect transcripts and comments from a specific YouTube channel's recent videos.
Inputs: channel_id_or_handle (required), max_videos, max_comments_per_video, languages, +12 more. Returns: object
analyze_videosC
Collect transcripts, metadata, and optional comments for specific videos.
Inputs: urls_or_video_ids (required), languages, max_comments_per_video, comment_order, +7 more. Returns: object
collect_research_discussionsC
Search YouTube and collect transcript plus comments for each usable video.
Inputs: query (required), max_videos, max_comments_per_video, min_duration_seconds, +15 more. Returns: object
collect_research_sourcesC
Search YouTube and collect transcript-ready sources for analysis.
Inputs: query (required), max_videos, min_duration_seconds, max_duration_seconds, +10 more. Returns: object
collect_video_discussionC
Collect one video's transcript plus comments for discussion analysis.
Inputs: url_or_video_id (required), languages, max_comments, comment_order, +6 more. Returns: object
get_capabilitiesA
Return which tools are available based on current configuration.
Inputs: no named parameters. Returns: object
get_quota_usageA
Return today's YouTube Data API quota usage and remaining estimate.
Inputs: no named parameters. Returns: object
get_transcriptC
Fetch a YouTube transcript by URL or video ID.
Inputs: url_or_video_id (required), languages, preserve_formatting, force_refresh. Returns: object
get_video_commentsC
Fetch top-level YouTube comments for one video.
Inputs: url_or_video_id (required), max_comments, order, include_replies, +3 more. Returns: result
search_videosC
Search YouTube videos and return structured metadata.
Inputs: query (required), max_results, published_after, published_before, +3 more. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogβ¦
TDQS
Scored across 10 tools
Several tools have overlapping purposes, such as analyze_channel, analyze_videos, collect_research_discussions, collect_research_sources, and collect_video_discussion, all dealing with transcripts and comments. This could confuse an agent about which tool to use.
Tool names use a mix of verbs (analyze, collect, get, search) and the verb_noun pattern is not consistently applied. For example, 'analyze_channel' and 'analyze_videos' are similar but 'get_capabilities' and 'search_videos' follow a different pattern.
With 10 tools, the server covers a reasonable scope for YouTube research without being overly complex. The count is appropriate for the domain.
The tool set covers the core workflow of searching, fetching transcripts and comments, and analyzing channels. Minor gaps exist, such as missing direct channel metadata retrieval or playlist support, but overall it is fairly complete.
Maintenance
Related MCP Connectors
YouTube for AI agents: transcripts, comments, video stats, channel monitor, Shorts captions.
YouTube research for AI assistants: channel and video stats, transcripts and comments, outlier videos that beat their channel's average, viral title formats, keyword ideas, similar thumbnails and channels, YouTube rankings and competitor tracking.
Search YouTube videos, read transcripts and get public video information in your AI assistant.
YouTube research: channel search, viral videos, channel analytics, transcripts, thumbnails, TTS
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI assistants to analyze and summarize YouTube videos by extracting captions, subtitles, and comprehensive metadata including title, description, and duration in multiple languages.198 npm62MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to search videos, read channels, browse playlists, fetch comments, and get transcripts from YouTube using the YouTube Data API v3 and InnerTube API for captions.2GPL 3.0
- AlicenseAqualityDmaintenanceEnables AI assistants to extract YouTube video metadata, subtitles, and top comments without downloading videos.36MIT
- AlicenseNot gradedqualityDmaintenanceExtracts captions, metadata, and descriptions from YouTube videos to enable AI assistants to summarize their content.3 npmMIT