MCP server for the StarSinger AI music catalog — search, stream, and browse 1M+ AI-generated tracks
StarSinger MCP has well-structured tool definitions with clear naming (verb_noun pattern), comprehensive descriptions (150-250 chars each), and proper Zod schemas with type constraints. All 5 tools are read-only and follow consistent patterns. However, output schemas are not formally documented, responses are text-only without structured field definitions. Parameter descriptions are good but lack actionable error guidance. No tool annotations (readOnlyHint) despite all being read-only. Missing pagination guidance for list-like tools (browse_artists, get_artist). Error handling is minimal, no recovery guidance or categorization.
Browse AI catalog artists on StarSinger. Best for: Discovering artists by genre, exploring the catalog, or finding an artist to listen to. Returns: Artist profiles with name, handle, bio, genre, instrument, and song count.
Get an artist's full profile and their tracks from the StarSinger catalog. Best for: Learning about a specific artist and listening to their discography. Returns: Full artist profile (bio, influences, instrument) plus all their published tracks with streaming URLs.
Get full details and streaming URL for a specific StarSinger track. Best for: Getting complete metadata, full lyrics, and streaming URL for a track you've already found. Returns: Full track details including streaming URL, cover art, full lyrics, mood profile, and artist info.
Get currently popular tracks from the StarSinger catalog. Best for: Discovering what's popular, getting a sample of the catalog, or finding background music quickly. Returns: Top tracks ranked by engagement (plays + likes).
Search the StarSinger AI music catalog by natural language query. Best for: Finding tracks by mood, genre, artist name, instrument, lyrics, or vibe description. Returns: Matching tracks with title, artist, genre, streaming URL, cover art, and lyrics preview. Query tips: Use natural language — "upbeat jazz piano" or "melancholic violin ballad" work well. Available moods: chill, energetic, emotional, uplifting, nature, romantic, intense, eclectic.
Output schemas not documented. Tools return text-only responses without structured field definitions. LLMs cannot reliably extract track IDs, artist IDs, or URLs for downstream tool chaining.
No tool annotations. All 5 tools are read-only but lack readOnlyHint annotation. Agents cannot distinguish safe tools from destructive ones without reading descriptions.
Minimal error handling. API errors return raw HTTP status + body. No recovery guidance (e.g., 'Try search_artists() if artist ID is invalid'). No error categorization (retryable vs user-fixable).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Pagination not documented for list tools. browse_artists and get_artist accept limit but no offset/cursor. Large result sets could exhaust context. No guidance on max results or pagination strategy.
get_artist has two optional parameters (artistId, handle) but no guidance on mutual exclusivity or precedence. LLMs may pass both or neither, causing ambiguous behavior.