MCP YouTube Intelligence
This server provides MCP tools to analyze YouTube videos, optimize tokens by server-side summarization, and monitor channels—everything from transcripts and comments to topic segmentation and reporting.
Get video metadata & summary (
get_video) – returns ~300 token summary.Fetch transcripts (
get_transcript) – summary (~300 tokens), full (saves to file), or chunks (segments).Analyze comments (
get_comments) – top comments with optional sentiment-based summarization.Monitor channels via RSS (
monitor_channel) – subscribe (add), check for new videos (check), list subscriptions, or unsubscribe (remove).Search stored transcripts (
search_transcripts) – keyword search over cached transcripts with snippets.Extract structured entities (
extract_entities) – companies, people, sectors, etc.Segment topics (
segment_topics) – divides transcript into topical segments with timestamps.Search YouTube videos (
search_youtube) – keyword search with filters (channel, order, publish date) and metadata list.Get playlist analysis (
get_playlist) – retrieve playlist metadata and video list.Generate structured markdown report (
generate_report) – combines summary, topics, entities, and optional comments into a report.
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 "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., "@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 서버 + 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 캐시 | ❌ | ✅ |
Related MCP server: yt-fetch
🚀 빠른 시작
1. 설치
pip install mcp-youtube-intelligence
pip install yt-dlp # 자막 추출에 필요💡 LLM 없이도 기본 요약(핵심 문장 추출)은 동작합니다. 고품질 요약을 원하면 아래 LLM 설정을 참고하세요.
2. 첫 번째 명령어 실행
# 리포트 생성 — 요약, 토픽, 엔티티, 댓글을 한번에 분석 (LLM 연동필요)
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 "https://www.youtube.com/watch?v=LV6Juz0xcrY" 실행 결과 (extractive 요약):
# 📹 Video Analysis Report: OpenClaw Use Cases that are Actually Helpful! (ClawdBot)
> Channel: Duncan Rogoff | AI Automation | Duration: 16:29 | Language: en_ytdlp
## 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. It defines who it
is, how it behaves, and crucial behavioral boundaries. If you think open
claw is cool, just check out this video up here of 63 insane use cases
that other people are doing.
## 2. Key Topics
| # | Topic | Keywords | Timespan |
|---|-------|----------|----------|
| 1 | framework, world, right | framework, world, right | 0:00~0:05 |
| 2 | like, really, there | like, really, there | 0:05~2:23 |
| 3 | like, max, using | like, max, using | 2:23~4:22 |
| 4 | going, like, something | going, like, something | 4:22~5:03 |
| 5 | like, agents, basically | like, agents, basically | 5:03~6:04 |
| ... | ... | ... | ... |
| 15 | think, open, claw | think, open, claw | 16:24~16:29 |
## 4. Keywords & Entities
- **Technology**: GitHub, LLM, GPT
- **Company**: Anthropic, Apple
## 5. Viewer Reactions
- Total comments: 20
- Sentiment: Positive 45% / Negative 0% / Neutral 55%
- Top opinions:
- **@geetee2583** (positive, 👍8): Great info. Just need your inset video out of the way...
- **@bdog4026** (positive, 👍3): This tool is wild! Definitely the most in depth explanation...
- **@magalyvilela4917** (neutral, 👍3): Came to this video wondering it gonna teach me how to set up...📖 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
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-intelligenceMCP 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 (추천 — 무료, 오프라인)
# 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 모델
목적 | 모델 | 크기 | 한국어 | 영어 | 품질 |
다국어 (추천) |
| 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
기여 방법, 개발 환경 설정, PR 규칙은 CONTRIBUTING.md를 참고하세요.
git clone https://github.com/JangHyuckYun/mcp-youtube-intelligence.git
cd mcp-youtube-intelligence
uv sync --extra dev # 또는 pip install -e ".[dev]"
uv run ruff check src tests
uv run pytest -q보안 취약점은 공개 이슈 대신 SECURITY.md의 비공개 경로로 제보해 주세요.
📄 라이선스
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 자막 개선, 영어 기본 출력 |
Available Tools
10 toolsextract_entitiesC
Extract structured entities (companies, indices, people, sectors, etc.) from a video transcript.
| Name | Required | Description | Default |
|---|---|---|---|
| video_id | Yes | YouTube video ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool extracts entities but doesn't describe how (e.g., via NLP, accuracy, rate limits), what the output looks like (since no output schema exists), or any constraints (e.g., video length limits, processing time). This leaves significant gaps for an AI agent to understand the tool's behavior beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that clearly states the tool's purpose without unnecessary words. It is front-loaded with the core action and resource, making it easy to parse. Every part of the sentence contributes essential information, earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of entity extraction (which involves NLP processing) and the lack of annotations and output schema, the description is incomplete. It doesn't explain the output format, accuracy, limitations, or how it integrates with other tools (e.g., needing 'get_transcript' first). For a tool with no structured behavioral data, more context is needed to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the single parameter 'video_id' documented as a YouTube video ID. The description adds no additional parameter semantics beyond what the schema provides, such as format examples or validation rules. However, with high schema coverage and only one parameter, the baseline score of 3 is appropriate as the schema adequately covers parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: extracting structured entities from video transcripts. It specifies the resource (video transcripts) and the action (extracting entities), and lists the types of entities (companies, indices, people, sectors, etc.). However, it does not explicitly differentiate this tool from sibling tools like 'segment_topics' or 'search_transcripts', which might also process transcripts, so it doesn't fully distinguish from alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a transcript first), exclusions, or compare it to siblings like 'segment_topics' or 'search_transcripts' that might handle similar data. Usage is implied by the purpose but lacks explicit context or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_reportB
Generate a structured markdown report for a YouTube video. Includes summary, topic segments, entities, and optionally comments.
| Name | Required | Description | Default |
|---|---|---|---|
| video_id | Yes | YouTube video ID | |
| include_comments | No | Include comment analysis | |
| llm_provider | No | LLM provider for summary |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions the report includes summary, topic segments, entities, and optionally comments, but lacks details on behavioral traits like processing time, error handling, authentication needs, or rate limits. For a tool with no annotations, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the main purpose and lists key components. It avoids unnecessary details, though it could be slightly more structured for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and 3 parameters with full schema coverage, the description is adequate but incomplete. It covers the purpose and components but lacks behavioral context and output details, making it minimally viable for a report-generation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters (video_id, include_comments, llm_provider). The description adds minimal value by implying the report uses an LLM for summary and includes comment analysis, but doesn't provide additional syntax or format details beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'generate' and the resource 'structured markdown report for a YouTube video', specifying the content includes summary, topic segments, entities, and optionally comments. It distinguishes from siblings like get_transcript or extract_entities by focusing on report generation, though it doesn't explicitly contrast with all alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a comprehensive report is needed, mentioning optional comment inclusion, but doesn't specify when to use this versus siblings like get_video or segment_topics individually. No explicit alternatives or exclusions are provided, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_commentsC
Get top comments for a video. Optionally summarize them.
| Name | Required | Description | Default |
|---|---|---|---|
| video_id | Yes | YouTube video ID | |
| top_n | No | Number of top comments | |
| summarize | No | Return summarized view |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool gets top comments and optionally summarizes them, but it doesn't reveal critical behavioral traits such as whether this is a read-only operation, potential rate limits, authentication needs, error handling, or what 'top' means (e.g., by likes, recency). This leaves significant gaps for an AI agent to understand how the tool behaves in practice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded, consisting of just one sentence that directly states the tool's purpose and optional feature. Every word earns its place without any redundancy or unnecessary elaboration, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is incomplete. It lacks details on behavioral aspects like safety, performance, or output format, and doesn't compensate for the absence of annotations or output schema. For a tool that retrieves and potentially summarizes comments, more context is needed to ensure the agent can use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, clearly documenting all parameters (video_id, top_n, summarize) with their types and defaults. The description adds minimal value beyond this, only implying the optional summarization feature, which is already covered in the schema. According to the rules, with high schema coverage (>80%), the baseline is 3 even with no additional param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get top comments for a video' specifies the verb ('Get') and resource ('top comments for a video'), making it understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_video' or 'get_transcript', which might also involve video-related data retrieval, so it lacks sibling differentiation for a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions an optional summarization feature but doesn't explain when to use 'summarize' or how this tool compares to siblings like 'search_transcripts' or 'get_video' for video analysis tasks. Without any usage context or exclusions, it falls short of providing helpful guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_playlistC
Get playlist metadata and video list from a YouTube playlist.
| Name | Required | Description | Default |
|---|---|---|---|
| playlist_id | Yes | YouTube playlist ID (e.g. PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf) | |
| max_videos | No | Max videos to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves metadata and video lists, implying a read-only operation, but doesn't cover important aspects like rate limits, authentication needs, error handling, or pagination behavior. This leaves significant gaps in understanding how the tool behaves beyond its basic function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any unnecessary words or fluff. It is front-loaded with the core action and resources, making it highly concise and well-structured for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (retrieving playlist data with two parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what metadata is included, the format of the video list, potential limitations, or error cases, leaving the agent with insufficient context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with clear documentation for both parameters ('playlist_id' and 'max_videos'), including examples and defaults. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline of 3 for adequate but not enhanced parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resources 'playlist metadata and video list from a YouTube playlist', making the purpose specific and understandable. However, it doesn't explicitly distinguish this tool from sibling tools like 'get_video' or 'monitor_channel', which might also involve YouTube content retrieval, so it doesn't reach the highest score of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention any prerequisites, context for usage, or comparisons to sibling tools such as 'get_video' for individual videos or 'search_youtube' for broader searches, leaving the agent without explicit usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_transcriptA
Get video transcript. mode: 'summary' (default, ~300 tokens), 'full' (saves to file, returns path), 'chunks' (split into segments).
| Name | Required | Description | Default |
|---|---|---|---|
| video_id | Yes | YouTube video ID | |
| mode | No | summary | |
| llm_provider | No | LLM provider for summary (default: auto) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses key behavioral traits: default mode, token length for summary (~300), file-saving behavior for 'full' mode, and segmentation for 'chunks'. However, it doesn't mention rate limits, authentication needs, error conditions, or what happens with invalid video IDs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise and front-loaded: the first three words state the core purpose, followed by efficient mode explanations. Every sentence earns its place by providing essential operational details without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with no annotations and no output schema, the description provides adequate but incomplete context. It covers mode behaviors well but lacks information about return values (beyond 'returns path' for full mode), error handling, or performance characteristics that would help an agent use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67% (2 of 3 parameters have descriptions). The description adds significant value beyond the schema: it explains what each 'mode' does (summary length, file saving for full, segmentation for chunks) and clarifies the default behavior. This compensates well for the schema's partial coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get video transcript' with specific modes. It distinguishes from siblings like 'get_video' (metadata) and 'search_transcripts' (searching). However, it doesn't explicitly contrast with 'segment_topics' which might overlap with 'chunks' mode.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use different modes ('summary' for brief, 'full' for complete, 'chunks' for segmented), but doesn't provide explicit guidance on when to choose this tool over alternatives like 'search_transcripts' or 'get_video'. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_videoB
Get video metadata + summary (~300 tokens). Provide a YouTube video ID.
| Name | Required | Description | Default |
|---|---|---|---|
| video_id | Yes | YouTube video ID (e.g. dQw4w9WgXcQ) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the output includes 'metadata + summary (~300 tokens)', which gives some behavioral context about the response format and length. However, it doesn't address important aspects like whether this is a read-only operation, potential rate limits, authentication requirements, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with just two sentences that each serve a clear purpose: first states what the tool does, second specifies the required input. There's zero wasted language or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read operation with no output schema, the description provides basic functionality but lacks important context. It doesn't explain what specific metadata fields are returned, how the summary is generated, or any limitations. The ~300 token mention is helpful but insufficient for full understanding of the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the single parameter completely. The description adds minimal value beyond the schema by specifying 'YouTube video ID' (implied in schema's example) and reinforcing it's required. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get video metadata + summary (~300 tokens)' with the specific resource being a YouTube video. It distinguishes from siblings like get_transcript (which gets transcript text) and get_comments (which gets comments), but doesn't explicitly mention these distinctions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal usage guidance: 'Provide a YouTube video ID' indicates the required input but offers no context about when to use this tool versus alternatives like get_transcript or search_youtube. There's no mention of prerequisites, limitations, or comparative use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
monitor_channelB
Monitor a YouTube channel via RSS. action: 'add' (subscribe), 'check' (poll for new videos), 'list' (show subscriptions), 'remove' (unsubscribe).
| Name | Required | Description | Default |
|---|---|---|---|
| channel_ref | Yes | Channel URL, @handle, or ID | |
| action | No | check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but is insufficient. It mentions actions but doesn't disclose behavioral traits such as whether 'add' requires authentication, if 'check' polls at a specific rate, what 'list' returns, or if 'remove' is destructive. This leaves critical operational details unclear for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise and front-loaded: the first sentence states the core purpose, followed by a compact breakdown of actions. Every sentence earns its place with no wasted words, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, multiple actions), no annotations, and no output schema, the description is incomplete. It fails to explain return values, error conditions, or behavioral nuances like subscription persistence or polling intervals, which are essential for proper agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (channel_ref has a description, action does not). The description adds value by explaining action enum values (e.g., 'add' means subscribe), which compensates partially for the missing schema description for action. However, it doesn't clarify channel_ref formats beyond what the schema states, leaving gaps in parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Monitor a YouTube channel via RSS' with specific actions. It distinguishes itself from siblings like get_video or search_youtube by focusing on RSS-based monitoring rather than direct API queries. However, it doesn't explicitly contrast with all siblings (e.g., get_playlist might also involve channel content).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through the action parameter breakdown (add, check, list, remove), suggesting when to use each mode. However, it lacks explicit guidance on when to choose this tool over alternatives like get_video for video retrieval or search_youtube for direct searches, and doesn't mention prerequisites like needing an RSS feed setup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_transcriptsB
Search stored transcripts by keyword. Returns matching snippets.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search keyword or phrase | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the tool 'returns matching snippets,' which gives some output context, but lacks details on permissions, rate limits, error handling, or whether it's read-only/destructive. For a search tool with zero annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with zero waste—it states the action and the result directly. It's appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (search with two parameters), no annotations, and no output schema, the description is minimally adequate. It covers the basic purpose and return type but lacks details on usage context, behavioral traits, and parameter nuances, leaving gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (only 'query' has a description, 'limit' has none). The description adds no parameter semantics beyond what's in the schema—it doesn't explain 'query' further or clarify 'limit' behavior (e.g., max value, pagination). With partial schema coverage, the description doesn't compensate adequately, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('search') and resource ('stored transcripts'), and mentions the return type ('matching snippets'). However, it doesn't explicitly differentiate from sibling tools like 'get_transcript' or 'search_youtube', which would require a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_transcript' (which might retrieve full transcripts) or 'search_youtube' (which might search YouTube content). It only states what the tool does, not when it's appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_youtubeB
Search YouTube videos by keyword. Returns metadata list (~200 tokens).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search keyword or phrase | |
| max_results | No | Max results (1-50) | |
| channel_id | No | Limit search to a specific channel ID | |
| published_after | No | Filter: published after (ISO 8601) | |
| order | No | relevance |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that the tool 'Returns metadata list (~200 tokens),' which gives some insight into output format and size, but lacks critical details like whether this is a read-only operation, rate limits, authentication requirements, or error handling. For a search tool with no annotations, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded: two sentences that directly state the tool's function and output. Every word earns its place, with no redundant information or fluff. It efficiently communicates the core purpose without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (5 parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and output format but lacks details on behavioral traits, usage context, and parameter nuances. Without annotations or an output schema, the agent might struggle with full operational understanding, though the core function is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 80% (high), so the baseline score is 3. The description adds minimal value beyond the schema—it mentions 'by keyword,' which aligns with the 'query' parameter, but doesn't explain parameter interactions or provide additional context like search scope or result formatting. This meets the baseline but doesn't enhance understanding significantly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search YouTube videos by keyword.' It specifies the verb ('Search') and resource ('YouTube videos'), making the function unambiguous. However, it doesn't explicitly differentiate this tool from sibling tools like 'search_transcripts' or 'get_video', which could cause confusion about when to use each.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'search_transcripts' (for searching within video transcripts) or 'get_video' (for retrieving specific video details), leaving the agent to infer usage context. There are no explicit when-to-use or when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segment_topicsC
Segment a video transcript into topics based on transition markers.
| Name | Required | Description | Default |
|---|---|---|---|
| video_id | Yes | YouTube video ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool segments transcripts but doesn't describe what 'transition markers' are, how topics are defined, the output format (e.g., list of segments with timestamps), error handling, or any rate limits. This leaves significant gaps for a tool that performs analysis on video content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action and resource, making it easy to parse. Every part of the sentence earns its place by conveying essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of segmenting video transcripts (an analysis task) with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits, output format, and usage context, which are critical for an AI agent to invoke it correctly. The high schema coverage doesn't compensate for these gaps in a non-trivial tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the single parameter 'video_id' documented as 'YouTube video ID.' The description adds no additional meaning beyond this, such as format examples or constraints. With high schema coverage, the baseline score of 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('segment') and resource ('video transcript') with the specific purpose of dividing it 'into topics based on transition markers.' It distinguishes from siblings like 'get_transcript' (retrieval) or 'search_transcripts' (searching), but doesn't explicitly contrast with all alternatives. The purpose is specific but not fully differentiated from all siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a transcript first), exclusions, or compare to siblings like 'extract_entities' or 'search_transcripts' for similar text analysis tasks. Usage is implied by the purpose but lacks explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
10 tool updates
v0.1.3- First observed
extract_entities - First observed
generate_report - First observed
get_comments - First observed
get_playlist - First observed
get_transcript - First observed
get_video - First observed
monitor_channel - First observed
search_transcripts - First observed
search_youtube - First observed
segment_topics
TDQS
Scored across 10 tools
Each tool has a clearly distinct purpose targeting specific YouTube-related tasks, such as extracting entities, generating reports, fetching comments, retrieving transcripts, and monitoring channels. There is no overlap in functionality, making it easy for an agent to select the correct tool without confusion.
All tool names follow a consistent verb_noun pattern using snake_case, such as 'extract_entities', 'generate_report', and 'get_transcript'. This uniformity enhances readability and predictability across the entire tool set.
With 10 tools, the server is well-scoped for YouTube intelligence tasks, covering key areas like video metadata, transcripts, comments, playlists, search, and monitoring. Each tool serves a unique and necessary function without being excessive or insufficient.
The tool set provides comprehensive coverage for YouTube video analysis, including data retrieval (video, transcript, comments), processing (entities, topics, reports), search (transcripts, YouTube), and monitoring (channel RSS). There are no apparent gaps that would hinder an agent's workflow.
Maintenance
Related MCP Connectors
An MCP server that gives any LLM or agent clean YouTube transcripts on demand: a single video, a whole channel, or a playlist, plus AI cleanup of auto-generated captions. API-key auth, credit-based, same backend as the public v1 API. Get a free API key with 25 free credits at youtubetranscriptdownload.com/account.
YouTube transcripts, search, channel browsing, and playlists for AI agents via MCP.
MCP server for Google Veo AI video generation
Multimodal video analysis MCP — transcription, vision, and OCR for any video URL.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server that provides AI assistants with powerful tools to interact with YouTube, including video searching, transcript extraction, comment retrieval, and more.819Apache 2.0
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables interaction with the YouTube Data API, allowing users to search videos, get video and channel details, analyze trends, and fetch video transcripts.-
- AlicenseAqualityDmaintenanceAn MCP server that enables users to retrieve YouTube transcripts and perform video or channel searches without requiring Google API keys. It supports transcript chunking and provides tools for detailed video content analysis and channel metadata extraction.533 npm4MIT
- FlicenseBqualityDmaintenanceAn MCP server that extracts transcripts, metadata, and summaries from YouTube videos across various URL formats including Shorts and standard links. It provides comprehensive video data and insights for analysis within MCP-compatible environments.3-