MCP server for downloading YouTube videos with customizable options for format, quality, audio/video extraction, and subtitles
Single tool with basic schema and descriptions. Tool name 'youtube_downloader' lacks action verb prefix (should be 'download_youtube_video'). Description is adequate (67 chars) but generic. Input schema is present with 7 parameters, all typed and described, but descriptions are minimal (10-50 chars) and lack actionable constraints. No output schema documented. No error handling guidance. No parameter validation rules or format constraints. Tool performs a destructive/side-effect operation (file write) but lacks confirmation pattern or dry-run capability.
Download youtube video using only url of youtube video
Tool name lacks action verb. 'youtube_downloader' should be 'download_youtube_video' or 'download_video' to signal intent clearly to LLMs.
No output schema documented. Callers cannot predict response structure. Tool returns plain text 'สวัสดีจ้า AI ฉัน ทำงานเสร็จแล้วนะจ๊ะ' instead of structured result with file path, size, duration, or status.
Parameter descriptions lack actionable constraints. 'quality' accepts '720p' or '1080p' but no enum defined; 'format' accepts 'best', 'bestaudio', 'bestvideo' but no enum. LLMs will hallucinate invalid values.
No error handling guidance. Tool returns raw yt-dlp errors ('yt-dlp error: ...') without recovery hints. LLM cannot determine if error is retryable, user-fixable, or fatal.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | <=2025-11-25 | v2 |
Destructive operation (file write) lacks confirmation or dry-run pattern. Agent cannot preview what will be downloaded before committing. No idempotency guarantee documented.