MCP server for YouTube video intelligence โ transcripts, summaries, entities, topic segmentation, and channel monitoring. Token-optimized for LLM context windows.
Project description
๐ English | ํ๊ตญ์ด
MCP YouTube Intelligence
YouTube ์์์ ์ง๋ฅ์ ์ผ๋ก ๋ถ์ํ๋ MCP ์๋ฒ + CLI
MCP (Model Context Protocol)๋ Claude, Cursor ๊ฐ์ AI ๋๊ตฌ๊ฐ ์ธ๋ถ ์๋น์ค๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ํด์ฃผ๋ ํ์ค ํ๋กํ ์ฝ์ ๋๋ค. ์ด ์๋ฒ๋ฅผ ์ฐ๊ฒฐํ๋ฉด "์ด ์์ ์์ฝํด์ค" ํ๋ง๋๋ก ๋ถ์์ด ์๋ฃ๋ฉ๋๋ค.
๐ฏ ํต์ฌ ๊ฐ์น: ์๋ณธ ์๋ง(2,000~30,000 ํ ํฐ)์ ์๋ฒ์์ ์ฒ๋ฆฌํ์ฌ LLM์๋ ~200โ500 ํ ํฐ๋ง ์ ๋ฌํฉ๋๋ค.
๐ค ์ ์ด ์๋ฒ์ธ๊ฐ?
๋๋ถ๋ถ์ YouTube MCP ์๋ฒ๋ ์๋ณธ ์๋ง์ ๊ทธ๋๋ก LLM์ ๋์ง๋๋ค.
| ๊ธฐ๋ฅ | ๊ธฐ์กด MCP ์๋ฒ | MCP YouTube Intelligence |
|---|---|---|
| ์๋ง ์ถ์ถ | โ | โ |
| ์๋ฒ์ฌ์ด๋ ์์ฝ (ํ ํฐ ์ต์ ํ) | โ | โ |
| ๊ตฌ์กฐํ๋ ๋ฆฌํฌํธ (์์ฝ+ํ ํฝ+์ํฐํฐ+๋๊ธ) | โ | โ |
| ์ฑ๋ ๋ชจ๋ํฐ๋ง (RSS) | โ | โ |
| ๋๊ธ ๊ฐ์ฑ ๋ถ์ | โ | โ |
| ํ ํฝ ์ธ๊ทธ๋ฉํ ์ด์ | โ | โ |
| ์ํฐํฐ ์ถ์ถ (ํ/์ 200+๊ฐ) | โ | โ |
| ์๋ง/YouTube ๊ฒ์ | โ | โ |
| ๋ฐฐ์น ์ฒ๋ฆฌ | โ | โ |
| SQLite/PostgreSQL ์บ์ | โ | โ |
๐ ๋น ๋ฅธ ์์
1. ์ค์น
pip install mcp-youtube-intelligence
pip install yt-dlp # ์๋ง ์ถ์ถ์ ํ์
๐ก LLM ์์ด๋ ๊ธฐ๋ณธ ์์ฝ(ํต์ฌ ๋ฌธ์ฅ ์ถ์ถ)์ ๋์ํฉ๋๋ค. ๊ณ ํ์ง ์์ฝ์ ์ํ๋ฉด ์๋ LLM ์ค์ ์ ์ฐธ๊ณ ํ์ธ์.
2. ์ฒซ ๋ฒ์งธ ๋ช ๋ น์ด ์คํ
# ๋ฆฌํฌํธ ์์ฑ โ ์์ฝ, ํ ํฝ, ์ํฐํฐ, ๋๊ธ์ ํ๋ฒ์ ๋ถ์
mcp-yt report "https://www.youtube.com/watch?v=LV6Juz0xcrY"
# ์๋ง ์์ฝ๋ง
mcp-yt transcript "https://www.youtube.com/watch?v=LV6Juz0xcrY"
# ์์ ID๋ง ์จ๋ ๋ฉ๋๋ค
mcp-yt report LV6Juz0xcrY
โ ๏ธ zsh ์ฌ์ฉ์: URL์
?๊ฐ ์์ผ๋ฏ๋ก ๋ฐ๋์ ๋ฐ์ดํ๋ก ๊ฐ์ธ์ธ์.
๐ ๋ฆฌํฌํธ ์ถ๋ ฅ ์์
mcp-yt report LV6Juz0xcrY --no-comments ์คํ ๊ฒฐ๊ณผ (OpenClaw ํ์ฉ๋ฒ ์์, extractive ์์ฝ):
# ๐น Video Analysis Report: OpenClaw Use Cases that are Actually Helpful! (ClawdBot)
> Channel: Duncan Rogoff | AI Automation | Duration: 16:29 | Language: en_auto
## 1. Summary
OpenClaw is the most powerful AI agent framework in the world right now and
it's about to replace your entire workflow. I spent over $200 in the last 48
hours stress testing the system so you don't have to. And then for the most
expert layer, we're switching dynamically to Claude Opus 4.6, which is the
latest anthropic model.
## 2. Key Topics
| # | Topic | Keywords | Timespan |
|---|-------|----------|----------|
| 1 | openclaw, powerful, agent | openclaw, powerful, agent | 0:00~0:05 |
| 2 | like, really, there | like, really, there | 0:05~2:30 |
| 3 | like, max, claude | like, max, claude | 2:30~4:36 |
| 4 | like, agent, basically | like, agent, basically | 4:36~10:28 |
| 5 | like, basically, create | like, basically, create | 10:28~12:36 |
| 6 | like, here, want | like, here, want | 12:36~14:30 |
| 7 | like, audience, gives | like, audience, gives | 14:30~16:23 |
| 8 | think, open, claw | think, open, claw | 16:23~16:29 |
## 4. Keywords & Entities
- **Technology**: GitHub, LLM, GPT
- **Company**: Anthropic, Apple
## 5. Viewer Reactions
- (Comment analysis excluded)
๐ CLI ์ ์ฒด ๋ช ๋ น์ด
๐ ๋ฆฌํฌํธ (ํต์ฌ ๊ธฐ๋ฅ)
โ ๏ธ ๋ฆฌํฌํธ์ ์์ฝ ์น์ ์ LLM ์ฐ๋ ์ ๊ณ ํ์ง ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค. LLM ์์ด๋ ๋์ํ์ง๋ง extractive(ํต์ฌ ๋ฌธ์ฅ ๋์ด) ์์ค์ ๋๋ค.
Ollama ๋น ๋ฅธ ์ค์ (๋ฌด๋ฃ, 3๋ถ์ด๋ฉด ๋):
# 1. Ollama ์ค์น: https://ollama.ai # 2. ๋ชจ๋ธ ๋ค์ด๋ก๋ ollama pull qwen2.5:7b # 3. ํ๊ฒฝ๋ณ์ ์ค์ export MYI_LLM_PROVIDER=ollama export MYI_OLLAMA_MODEL=qwen2.5:7b # ์๊ฒฉ ์๋ฒ๋ผ๋ฉด ํธ์คํธ๋ ์ง์ export MYI_OLLAMA_BASE_URL=http://your-server:11434
mcp-yt report "https://youtube.com/watch?v=VIDEO_ID"
mcp-yt report VIDEO_ID --provider ollama # LLM ํ๋ก๋ฐ์ด๋ ์ง์
mcp-yt report VIDEO_ID --no-comments # ๋๊ธ ์ ์ธ
mcp-yt report VIDEO_ID -o report.md # ํ์ผ ์ ์ฅ
๐ฏ ์๋ง ์ถ์ถ + ์์ฝ
mcp-yt transcript VIDEO_ID # ์์ฝ (~200โ500 ํ ํฐ)
mcp-yt transcript VIDEO_ID --mode full # ์ ์ฒด ์๋ง
mcp-yt transcript VIDEO_ID --mode chunks # ์ฒญํฌ ๋ถํ
mcp-yt --json transcript VIDEO_ID # JSON ์ถ๋ ฅ
๊ธฐํ
mcp-yt video VIDEO_ID # ๋ฉํ๋ฐ์ดํฐ
mcp-yt comments VIDEO_ID --max 20 # ๋๊ธ (๊ฐ์ฑ ๋ถ์ ํฌํจ)
mcp-yt entities VIDEO_ID # ์ํฐํฐ ์ถ์ถ
mcp-yt segments VIDEO_ID # ํ ํฝ ์ธ๊ทธ๋ฉํ
์ด์
mcp-yt search "ํค์๋" --max 5 # YouTube ๊ฒ์
mcp-yt monitor subscribe @์ฑ๋ํธ๋ค # ์ฑ๋ ๋ชจ๋ํฐ๋ง
mcp-yt playlist PLAYLIST_ID # ํ๋ ์ด๋ฆฌ์คํธ
mcp-yt batch ID1 ID2 ID3 # ๋ฐฐ์น ์ฒ๋ฆฌ
mcp-yt search-transcripts "ํค์๋" # ์ ์ฅ๋ ์๋ง ๊ฒ์
๐ก ๋ชจ๋ ๋ช ๋ น์ด์
--jsonํ๋๊ทธ๋ฅผ ์ถ๊ฐํ๋ฉด JSON ์ถ๋ ฅ๋ฉ๋๋ค.
๐ MCP ์๋ฒ ์ฐ๊ฒฐ
MCP ์๋ฒ๋ stdio ํ๋กํ ์ฝ๋ก ํต์ ํฉ๋๋ค.
Claude Desktop / Cursor / OpenCode
์ค์ ํ์ผ์ ์ถ๊ฐ (claude_desktop_config.json, .cursor/mcp.json, mcp.json):
{
"mcpServers": {
"youtube": {
"command": "uvx",
"args": ["mcp-youtube-intelligence"],
"env": {
"MYI_LLM_PROVIDER": "ollama",
"MYI_OLLAMA_MODEL": "qwen2.5:7b"
}
}
}
}
๐ก
uvx๋uvํจํค์ง ๋งค๋์ ์ ์คํ ๋ช ๋ น์ด์ ๋๋ค.pip install uv๋ก ์ค์นํ์ธ์.ํด๋ผ์ฐ๋ LLM์ ์ฐ๋ ค๋ฉด
env์ API ํค๋ฅผ ์ถ๊ฐํ๋ฉด ๋ฉ๋๋ค:"OPENAI_API_KEY": "sk-..."
Claude Code
claude mcp add youtube -- uvx mcp-youtube-intelligence
MCP Tools (9๊ฐ)
| Tool | ์ค๋ช | ์์ ํ ํฐ |
|---|---|---|
get_video |
๋ฉํ๋ฐ์ดํฐ + ์์ฝ | ~200โ500 |
get_transcript |
์๋ง (summary/full/chunks) | ~200โ500 |
get_comments |
๋๊ธ + ๊ฐ์ฑ ๋ถ์ | ~200โ500 |
monitor_channel |
RSS ์ฑ๋ ๋ชจ๋ํฐ๋ง | ~100โ300 |
search_transcripts |
์ ์ฅ๋ ์๋ง ๊ฒ์ | ~100โ400 |
extract_entities |
์ํฐํฐ ์ถ์ถ | ~150โ300 |
segment_topics |
ํ ํฝ ๋ถํ | ~100โ250 |
search_youtube |
YouTube ๊ฒ์ | ~200 |
get_playlist |
ํ๋ ์ด๋ฆฌ์คํธ ๋ถ์ | ~200โ500 |
๐ Tool ํ๋ผ๋ฏธํฐ ์์ธ
get_video
| ํ๋ผ๋ฏธํฐ | ํ์ | ํ์ | ์ค๋ช |
|---|---|---|---|
video_id |
string | โ | YouTube ์์ ID |
get_transcript
| ํ๋ผ๋ฏธํฐ | ํ์ | ํ์ | ๊ธฐ๋ณธ๊ฐ | ์ค๋ช |
|---|---|---|---|---|
video_id |
string | โ | โ | YouTube ์์ ID |
mode |
string | โ | "summary" |
summary ยท full ยท chunks |
get_comments
| ํ๋ผ๋ฏธํฐ | ํ์ | ํ์ | ๊ธฐ๋ณธ๊ฐ | ์ค๋ช |
|---|---|---|---|---|
video_id |
string | โ | โ | YouTube ์์ ID |
top_n |
int | โ | 10 |
๋ฐํํ ๋๊ธ ์ |
summarize |
bool | โ | false |
์์ฝ ๋ทฐ |
monitor_channel
| ํ๋ผ๋ฏธํฐ | ํ์ | ํ์ | ๊ธฐ๋ณธ๊ฐ | ์ค๋ช |
|---|---|---|---|---|
channel_ref |
string | โ | โ | ์ฑ๋ URL/@ํธ๋ค/ID |
action |
string | โ | "check" |
addยทcheckยทlistยทremove |
search_transcripts
| ํ๋ผ๋ฏธํฐ | ํ์ | ํ์ | ๊ธฐ๋ณธ๊ฐ | ์ค๋ช |
|---|---|---|---|---|
query |
string | โ | โ | ๊ฒ์ ํค์๋ |
limit |
int | โ | 10 |
์ต๋ ๊ฒฐ๊ณผ ์ |
extract_entities / segment_topics
| ํ๋ผ๋ฏธํฐ | ํ์ | ํ์ | ์ค๋ช |
|---|---|---|---|
video_id |
string | โ | YouTube ์์ ID |
search_youtube
| ํ๋ผ๋ฏธํฐ | ํ์ | ํ์ | ๊ธฐ๋ณธ๊ฐ | ์ค๋ช |
|---|---|---|---|---|
query |
string | โ | โ | ๊ฒ์ ํค์๋ |
max_results |
int | โ | 10 |
์ต๋ ๊ฒฐ๊ณผ ์ |
order |
string | โ | "relevance" |
relevanceยทdateยทratingยทviewCount |
get_playlist
| ํ๋ผ๋ฏธํฐ | ํ์ | ํ์ | ๊ธฐ๋ณธ๊ฐ | ์ค๋ช |
|---|---|---|---|---|
playlist_id |
string | โ | โ | ํ๋ ์ด๋ฆฌ์คํธ ID |
max_videos |
int | โ | 50 |
์ต๋ ์์ ์ |
โ๏ธ ์ค์
LLM ํ๋ก๋ฐ์ด๋ ์ค์
LLM ์์ด๋ ๊ธฐ๋ณธ ์์ฝ(ํต์ฌ ๋ฌธ์ฅ ์ถ์ถ)์ ๋์ํฉ๋๋ค. ๊ณ ํ์ง ์์ฝ์ ์ํ๋ฉด:
Ollama (์ถ์ฒ โ ๋ฌด๋ฃ, ์คํ๋ผ์ธ)
# 1. Ollama ์ค์น: https://ollama.ai
# 2. ๋ชจ๋ธ ๋ค์ด๋ก๋
ollama pull qwen2.5:7b
# 3. ํ๊ฒฝ๋ณ์ ์ค์
export MYI_LLM_PROVIDER=ollama
export MYI_OLLAMA_MODEL=qwen2.5:7b
# 4. (์ ํ) ์๊ฒฉ Ollama ์๋ฒ ์ฌ์ฉ ์
export MYI_OLLAMA_BASE_URL=http://your-server:11434
ํด๋ผ์ฐ๋ LLM
# API ํค๋ง ์ค์ ํ๋ฉด ์๋ ๊ฐ์ง (MYI_LLM_PROVIDER=auto)
export OPENAI_API_KEY=sk-... # OpenAI
export ANTHROPIC_API_KEY=sk-ant-... # Anthropic
export GOOGLE_API_KEY=AIza... # Google
# ํน์ ํ๋ก๋ฐ์ด๋ ์ง์
export MYI_LLM_PROVIDER=anthropic
ํด๋ผ์ฐ๋ LLM ํจํค์ง:
pip install "mcp-youtube-intelligence[llm]"(OpenAI) /[anthropic-llm]/[google-llm]/[all-llm]
์ถ์ฒ Ollama ๋ชจ๋ธ
| ๋ชฉ์ | ๋ชจ๋ธ | ํฌ๊ธฐ | ํ๊ตญ์ด | ์์ด | ํ์ง |
|---|---|---|---|---|---|
| ๋ค๊ตญ์ด (์ถ์ฒ) | qwen2.5:7b |
4.4GB | โ | โ | โญโญโญโญ |
| ์์ด ์ค์ฌ | llama3.1:8b |
4.7GB | โ ๏ธ | โ | โญโญโญโญ |
| ํ๊ตญ์ด ํนํ | gemma2:9b |
5.4GB | โ | โ | โญโญโญโญ |
| ๊ฒฝ๋ | qwen2.5:3b |
1.9GB | โ | โ | โญโญโญ |
| ๋ค๊ตญ์ด ํนํ | aya-expanse:8b |
4.8GB | โ | โ | โญโญโญ |
โฑ๏ธ ์ค์ธก ๋ฒค์น๋งํฌ
RTX 3070 8GB ยท Ollama ยท ํ๊ตญ์ด ์๋ง ~2,900์ (5๋ถ 19์ด ์์)
load_duration์ ์ธ, ์์ ์์ฑ ์๊ฐ ๊ธฐ์ค
| ๋ชจ๋ธ | Prompt ์ฒ๋ฆฌ | ์์ฑ ์๊ฐ | ์๋ | ์ถ๋ ฅ | ํ์ง |
|---|---|---|---|---|---|
| Extractive | - | ์ฆ์ | - | 379์ | โญโญ |
| qwen2.5:1.5b | 7.8s | 4.7s | 30.4 tok/s | 232์ | โญโญ |
| qwen2.5:7b | 34.5s | 18.8s | 7.3 tok/s | 766์ | โญโญโญโญ |
| aya-expanse:8b | 29.5s | 34.5s | 6.2 tok/s | 405์ | โญโญโญ |
โ ๏ธ ์ฒซ ์คํ ์ ๋ชจ๋ธ ๋ก๋์ 15~60์ด ์ถ๊ฐ.
keep_alive๋ก ๋ฉ๋ชจ๋ฆฌ ์ ์งํ๋ฉด ์ดํ ๋ก๋ ์์.
๐ ์ ์ฒด ํ๊ฒฝ๋ณ์ ๋ชฉ๋ก
| ํ๊ฒฝ๋ณ์ | ๊ธฐ๋ณธ๊ฐ | ์ค๋ช |
|---|---|---|
MYI_DATA_DIR |
~/.mcp-youtube-intelligence |
๋ฐ์ดํฐ ๋๋ ํ ๋ฆฌ |
MYI_STORAGE |
sqlite |
sqlite ยท postgres |
MYI_SQLITE_PATH |
{DATA_DIR}/data.db |
SQLite ๊ฒฝ๋ก |
MYI_POSTGRES_DSN |
โ | PostgreSQL DSN |
MYI_YT_DLP |
yt-dlp |
yt-dlp ๊ฒฝ๋ก |
MYI_MAX_COMMENTS |
20 |
์ต๋ ๋๊ธ ์ |
MYI_LLM_PROVIDER |
auto |
autoยทopenaiยทanthropicยทgoogleยทollamaยทvllmยทlmstudio |
OPENAI_API_KEY |
โ | OpenAI ํค |
MYI_OPENAI_MODEL |
gpt-4o-mini |
OpenAI ๋ชจ๋ธ |
ANTHROPIC_API_KEY |
โ | Anthropic ํค |
MYI_ANTHROPIC_MODEL |
claude-sonnet-4-20250514 |
Anthropic ๋ชจ๋ธ |
GOOGLE_API_KEY |
โ | Google ํค |
MYI_GOOGLE_MODEL |
gemini-2.0-flash |
Google ๋ชจ๋ธ |
MYI_OLLAMA_BASE_URL |
http://localhost:11434 |
Ollama URL |
MYI_OLLAMA_MODEL |
llama3.1:8b |
Ollama ๋ชจ๋ธ |
MYI_VLLM_BASE_URL |
http://localhost:8000 |
vLLM URL |
MYI_VLLM_MODEL |
โ | vLLM ๋ชจ๋ธ |
MYI_LMSTUDIO_BASE_URL |
http://localhost:1234 |
LM Studio URL |
MYI_LMSTUDIO_MODEL |
โ | LM Studio ๋ชจ๋ธ |
๐ ํธ๋ฌ๋ธ์ํ
| ๋ฌธ์ | ํด๊ฒฐ |
|---|---|
zsh: no matches found |
URL์ ๋ฐ์ดํ๋ก ๊ฐ์ธ๊ธฐ: mcp-yt transcript "https://..." |
yt-dlp not found |
pip install yt-dlp ๋๋ export MYI_YT_DLP=/path/to/yt-dlp |
| ์๋ง ์๋ ์์ | mcp-yt video๋ก ๋ฉํ๋ฐ์ดํฐ๋ง ๊ฐ์ ธ์ค๊ธฐ |
| SQLite database locked | ์๋ฒ ์ธ์คํด์ค ํ๋๋ง ์คํ ์ค์ธ์ง ํ์ธ |
| LLM ์์ฝ ์คํจ | ์๋์ผ๋ก extractive ํด๋ฐฑ๋จ. API ํค ํ์ธ. |
๐ค Contributing
git clone https://github.com/JangHyuckYun/mcp-youtube-intelligence.git
cd mcp-youtube-intelligence
pip install -e ".[dev]"
pytest tests/ -v
๐ ๋ผ์ด์ ์ค
Apache 2.0 โ LICENSE
๐ ๋ณ๊ฒฝ ์ด๋ ฅ
| ๋ ์ง | ๋ฒ์ | ์ฃผ์ ๋ณ๊ฒฝ |
|---|---|---|
| 2025-02-18 | v0.1.0 | ์ด๊ธฐ ๋ฆด๋ฆฌ์ค โ 9๊ฐ MCP ๋๊ตฌ, CLI, SQLite |
| 2025-02-18 | v0.1.1 | Multi-LLM (OpenAI/Anthropic/Google), Apache 2.0 |
| 2025-02-18 | v0.1.2 | Local LLM (Ollama/vLLM/LM Studio), yt-dlp ์๋ง ๊ฐ์ , ์์ด ๊ธฐ๋ณธ ์ถ๋ ฅ |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_youtube_intelligence-0.1.3.tar.gz.
File metadata
- Download URL: mcp_youtube_intelligence-0.1.3.tar.gz
- Upload date:
- Size: 84.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
deb11ccde771154bd2bb82ba8102897345e3da08bb92844e66d462a71334ff90
|
|
| MD5 |
1c63e172750d99e32718b9f8a9bf769b
|
|
| BLAKE2b-256 |
dba34fa391d341bc5752113e84028519f7a7571a4bbcaed2374c04d087dca83b
|
File details
Details for the file mcp_youtube_intelligence-0.1.3-py3-none-any.whl.
File metadata
- Download URL: mcp_youtube_intelligence-0.1.3-py3-none-any.whl
- Upload date:
- Size: 55.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dfe243440d26f3e52d8264cd70bd31bca2ea6c5072d4094429ab0af3ab8f3cc0
|
|
| MD5 |
0bf4b12da2874279f1c91b20e72c6398
|
|
| BLAKE2b-256 |
3f60213151ff8ecb93e281a1f6be1e5b83abaeb8f7535bd313d5da9c1aab00b8
|