MCP server for controlling NetEase Music and managing listen-together sessions on macOS
This server has significant definition quality gaps. Tool names follow verb_noun convention (good), but descriptions are inconsistent, some are adequate (50-80 chars) while others lack detail. Critical issue: input schemas are visible for only 2 of 11 tools (get_song_lyrics, search_songs). The remaining 9 tools declare empty input objects {} with no parameter documentation. No output schemas are documented anywhere. Error handling is minimal, tools return generic error strings without recovery guidance. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications. Parameter descriptions are absent for most tools. The server lacks pagination support, result limits, and structured output documentation.
Create a new listen-together session in NetEase Music and return the room information
Get the current song being played in NetEase Music, including title, artist, album, duration, and elapsed time
Get the current status of the listen-together session in NetEase Music
Get the lyrics for a song by its NetEase music ID
Get the status of NetEase Music application, including whether it is installed and running
Skip to the next song in NetEase Music
Pause the current playback in NetEase Music
9 of 11 tools have empty input schemas ({}). No parameter documentation exists for get_current_listening_context, netease_status, create_listen_together_session, get_listen_together_status, play_song, pause_playback, resume_playback, next_song, previous_song. LLMs cannot infer parameter constraints or requirements.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields. For example, create_listen_together_session returns 'room information' but the structure is undocumented.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
Play a song in NetEase Music by its ID
Skip to the previous song in NetEase Music
Resume the current playback in NetEase Music
Search for songs on NetEase Music by keyword
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk classifications. WRITE tools (create_listen_together_session, play_song, pause_playback, resume_playback, next_song, previous_song) should be marked destructiveHint=true to guide agent planning.
Error handling is generic. Tools return plain error strings ('Could not read macOS Now Playing: ...') without recovery guidance. LLMs cannot determine if errors are retryable, user-fixable, or fatal.
search_songs accepts a 'limit' parameter but no pagination support (offset, cursor, total_count) is documented. Large result sets will blow context windows without pagination.