MCP server for searching and downloading music tracks from JioSaavn
Single tool with minimal definition quality. Tool name 'download_track' lacks action clarity (download what? from where?). Description is 60 chars but vague, does not explain prerequisites, return format, or side effects. Input schema present but parameter description is generic (10 chars: 'Search query for the track'). No output schema documented. No error handling guidance. Tool performs file I/O with WRITE risk but lacks idempotency markers, confirmation patterns, or recovery guidance. Fails baseline: 94% of A+ tools have rich docstrings; 100% have documented return types.
Search track from the given query and downloads it
Tool name 'download_track' is ambiguous. Does it download from Spotify, YouTube, JioSaavn, or a generic source? Lacks verb clarity. Should be 'download_jiosavn_track' or 'search_and_download_track' to signal dual responsibility.
No output schema documented. Tool returns text-only responses ('Download success: <path>' or error strings). LLMs cannot extract structured data (file path, metadata, duration, artist). Should return {path, title, artist, duration, quality, status}.
Destructive operation (file write) lacks confirmation or dry-run pattern. Tool downloads files to disk without user approval. No idempotent hint or recovery guidance. If called twice with same query, overwrites file silently.
Error handling is generic. Catches all errors and returns 'Failed to download the track' with no actionable recovery. Does not distinguish network errors (retry), invalid query (reformulate), or permission errors (user action needed).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 32 | 2026-07-28+ | v2 |
Parameter 'query' description is 27 chars ('Search query for the track'). Lacks format guidance, length constraints, or examples. Does not explain what happens if query returns 0 results or multiple matches (tool takes first result silently).