Integrates with Google Gemini models to provide AI-powered video reporting and summarization.
Enables local, offline video analysis and summarization by connecting to Ollama instances running various LLMs.
Integrates with OpenAI models like GPT-4o-mini for intelligent video summarization and content processing.
Supports using PostgreSQL as a persistent database backend for caching and searching video data.
Allows for monitoring YouTube channels for new content updates through integrated RSS feed tracking.
Provides local storage and caching for video metadata, transcripts, and analysis results to optimize performance.
Enables searching for videos, fetching metadata, extracting transcripts, analyzing comments, and processing playlists to provide comprehensive video intelligence.
Click on "Install 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., "@MCP YouTube IntelligenceSummarize this video and analyze the viewer sentiment: https://youtu.be/LV6Juz0xcrY"
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.
π English | νκ΅μ΄
MCP YouTube Intelligence
YouTube μμμ μ§λ₯μ μΌλ‘ λΆμνλ
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. μ€μΉ
π‘ LLM μμ΄λ κΈ°λ³Έ μμ½(ν΅μ¬ λ¬Έμ₯ μΆμΆ)μ λμν©λλ€. κ³ νμ§ μμ½μ μνλ©΄ μλ LLM μ€μ μ μ°Έκ³ νμΈμ.
2. 첫 λ²μ§Έ λͺ λ Ήμ΄ μ€ν
β οΈ zsh μ¬μ©μ: URLμ
?κ° μμΌλ―λ‘ λ°λμ λ°μ΄νλ‘ κ°μΈμΈμ.
π 리ν¬νΈ μΆλ ₯ μμ
mcp-yt report "https://www.youtube.com/watch?v=LV6Juz0xcrY" μ€ν κ²°κ³Ό (extractive μμ½):
π CLI μ 체 λͺ λ Ήμ΄
π 리ν¬νΈ (ν΅μ¬ κΈ°λ₯)
β οΈ **리ν¬νΈμ μμ½ μΉμ μ LLM μ°λμ΄ νμμ λλ€. 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
π― μλ§ μΆμΆ + μμ½
κΈ°ν
π‘ λͺ¨λ λͺ λ Ήμ΄μ
--jsonνλκ·Έλ₯Ό μΆκ°νλ©΄ JSON μΆλ ₯λ©λλ€.
π MCP μλ² μ°κ²°
MCP μλ²λ stdio νλ‘ν μ½λ‘ ν΅μ ν©λλ€.
Claude Desktop / Cursor / OpenCode
μ€μ νμΌμ μΆκ° (claude_desktop_config.json, .cursor/mcp.json, mcp.json):
π‘
uvxλuvν¨ν€μ§ λ§€λμ μ μ€ν λͺ λ Ήμ΄μ λλ€.pip install uvλ‘ μ€μΉνμΈμ.ν΄λΌμ°λ LLMμ μ°λ €λ©΄
envμ API ν€λ₯Ό μΆκ°νλ©΄ λ©λλ€:"OPENAI_API_KEY": "sk-..."
Claude Code
MCP Tools (9κ°)
Tool | μ€λͺ | μμ ν ν° |
| λ©νλ°μ΄ν° + μμ½ | ~200β500 |
| μλ§ (summary/full/chunks) | ~200β500 |
| λκΈ + κ°μ± λΆμ | ~200β500 |
| RSS μ±λ λͺ¨λν°λ§ | ~100β300 |
| μ μ₯λ μλ§ κ²μ | ~100β400 |
| μν°ν° μΆμΆ | ~150β300 |
| ν ν½ λΆν | ~100β250 |
| YouTube κ²μ | ~200 |
| νλ μ΄λ¦¬μ€νΈ λΆμ | ~200β500 |
get_video
νλΌλ―Έν° | νμ | νμ | μ€λͺ |
| string | β | YouTube μμ ID |
get_transcript
νλΌλ―Έν° | νμ | νμ | κΈ°λ³Έκ° | μ€λͺ |
| string | β | β | YouTube μμ ID |
| string | β |
|
|
get_comments
νλΌλ―Έν° | νμ | νμ | κΈ°λ³Έκ° | μ€λͺ |
| string | β | β | YouTube μμ ID |
| int | β |
| λ°νν λκΈ μ |
| bool | β |
| μμ½ λ·° |
monitor_channel
νλΌλ―Έν° | νμ | νμ | κΈ°λ³Έκ° | μ€λͺ |
| string | β | β | μ±λ URL/@νΈλ€/ID |
| string | β |
|
|
search_transcripts
νλΌλ―Έν° | νμ | νμ | κΈ°λ³Έκ° | μ€λͺ |
| string | β | β | κ²μ ν€μλ |
| int | β |
| μ΅λ κ²°κ³Ό μ |
extract_entities / segment_topics
νλΌλ―Έν° | νμ | νμ | μ€λͺ |
| string | β | YouTube μμ ID |
search_youtube
νλΌλ―Έν° | νμ | νμ | κΈ°λ³Έκ° | μ€λͺ |
| string | β | β | κ²μ ν€μλ |
| int | β |
| μ΅λ κ²°κ³Ό μ |
| string | β |
|
|
get_playlist
νλΌλ―Έν° | νμ | νμ | κΈ°λ³Έκ° | μ€λͺ |
| string | β | β | νλ μ΄λ¦¬μ€νΈ ID |
| int | β |
| μ΅λ μμ μ |
βοΈ μ€μ
LLM νλ‘λ°μ΄λ μ€μ
LLM μμ΄λ κΈ°λ³Έ μμ½(ν΅μ¬ λ¬Έμ₯ μΆμΆ)μ λμν©λλ€. κ³ νμ§ μμ½μ μνλ©΄:
Ollama (μΆμ² β 무λ£, μ€νλΌμΈ)
ν΄λΌμ°λ LLM
ν΄λΌμ°λ LLM ν¨ν€μ§:
pip install "mcp-youtube-intelligence[llm]"(OpenAI) /[anthropic-llm]/[google-llm]/[all-llm]
μΆμ² Ollama λͺ¨λΈ
λͺ©μ | λͺ¨λΈ | ν¬κΈ° | νκ΅μ΄ | μμ΄ | νμ§ |
λ€κ΅μ΄ (μΆμ²) |
| 4.4GB | β | β | ββββ |
μμ΄ μ€μ¬ |
| 4.7GB | β οΈ | β | ββββ |
νκ΅μ΄ νΉν |
| 5.4GB | β | β | ββββ |
κ²½λ |
| 1.9GB | β | β | βββ |
λ€κ΅μ΄ νΉν |
| 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λ‘ λ©λͺ¨λ¦¬ μ μ§νλ©΄ μ΄ν λ‘λ μμ.
νκ²½λ³μ | κΈ°λ³Έκ° | μ€λͺ |
|
| λ°μ΄ν° λλ ν 리 |
|
|
|
|
| SQLite κ²½λ‘ |
| β | PostgreSQL DSN |
|
| yt-dlp κ²½λ‘ |
|
| μ΅λ λκΈ μ |
|
|
|
| β | OpenAI ν€ |
|
| OpenAI λͺ¨λΈ |
| β | Anthropic ν€ |
|
| Anthropic λͺ¨λΈ |
| β | Google ν€ |
|
| Google λͺ¨λΈ |
|
| Ollama URL |
|
| Ollama λͺ¨λΈ |
|
| vLLM URL |
| β | vLLM λͺ¨λΈ |
|
| LM Studio URL |
| β | LM Studio λͺ¨λΈ |
π νΈλ¬λΈμν
λ¬Έμ | ν΄κ²° |
| URLμ λ°μ΄νλ‘ κ°μΈκΈ°: |
|
|
μλ§ μλ μμ |
|
SQLite database locked | μλ² μΈμ€ν΄μ€ νλλ§ μ€ν μ€μΈμ§ νμΈ |
LLM μμ½ μ€ν¨ | μλμΌλ‘ extractive ν΄λ°±λ¨. API ν€ νμΈ. |
π€ Contributing
π λΌμ΄μ μ€
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 μλ§ κ°μ , μμ΄ κΈ°λ³Έ μΆλ ₯ |
2025-02-18 | v0.1.3 | Local LLM (Ollama/vLLM/LM Studio), yt-dlp μλ§ κ°μ , μμ΄ κΈ°λ³Έ μΆλ ₯ |