youtube-research-mcp

youtube-research-mcp

Enables AI assistants to research YouTube videos by collecting captions, comments, and channel information for analysis and comparison.

Category
Visit Server

README

YouTube Research MCP

Tests PyPI

πŸ‡ΊπŸ‡Έ English

μœ νŠœλΈŒμ— μžˆλŠ” λͺ¨λ“  정보λ₯Ό β€” μžλ§‰, λŒ“κΈ€, 채널 β€” 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 μœ λ‹› β€” 일반 μ‚¬μš©μœΌλ‘œλŠ” μ†Œμ§„λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

  1. Google Cloud Console 접속
  2. μƒˆ ν”„λ‘œμ νŠΈ 생성
  3. APIs & Services β†’ Library β†’ YouTube Data API v3 검색 β†’ Enable
  4. APIs & Services β†’ Credentials β†’ + Create Credentials β†’ API key
  5. μƒμ„±λœ ν‚€ 볡사

λ³΄μ•ˆ μ„€μ • ꢌμž₯: 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

λΌμ΄μ„ μŠ€

MIT

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured