Single tool 'yt_dlp' has critical definition gaps. Tool name lacks action verb (should be 'download_video' or 'get_video_info'). Description is in Chinese and vague (10 words, under 20-char threshold). Input schema present but minimal: only 'url' parameter with basic string type, no format/pattern constraints, no validation guidance. No output schema documented. No error handling guidance. Tool executes shell commands with hardcoded paths and no input sanitization, major security risk. Does not follow verb_noun naming convention or LLM-optimized description patterns.
使用yt-dlp下载视频或获取视频信息
Tool name 'yt_dlp' lacks action verb. Should be 'download_video', 'get_video_info', or similar. LLMs cannot infer intent from bare noun.
Description is 10 words in Chinese ('使用yt-dlp下载视频或获取视频信息'). Under 20-char threshold. Does not explain WHAT, WHEN, or WHAT IT RETURNS. LLMs cannot determine when to select this tool.
No output schema documented. Tool returns unstructured text via stdout. LLMs cannot parse results or extract IDs for chaining.
Hardcoded absolute paths ('F:\\Github\\yt-mcp-server\\yt-dlp.exe', 'H:\\B站视频') embedded in code. Not portable. No environment variable injection or configuration.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 24 | 2026-07-28+ | v2 |
URL parameter accepts any string with no validation, format constraint, or sanitization. Tool passes URL directly to shell command via exec(), command injection risk. No input validation or escaping.