Privacy-first NetEase Cloud Music MCP for desktop, server and mobile clients
NetEase Music MCP has well-structured tool definitions with consistent naming (verb_noun pattern: netease_*), comprehensive parameter schemas with proper constraints (enums, regex patterns, min/max), and clear descriptions in Chinese. However, descriptions are often terse (20-50 chars) and lack actionable context for LLM selection. Output schemas are not documented. Error handling is basic (success/failure wrapper only). Tool composition is sound, each tool has one responsibility, but descriptions don't explain when to use each tool vs. alternatives or what downstream tools expect.
控制官方 Mac 客户端播放/暂停、上一首或下一首,需要 macOS 辅助功能权限。
通过 macOS 适配器启动已安装的官方网易云音乐客户端;其他平台会返回清晰的能力错误。
检查当前设备的一起听能力。macOS 适配器可打开邀请;互动能力取决于网易云官方移动端。
通过 macOS 适配器打开"一起听"邀请界面。调用前必须确认用户明确希望发起邀请;好友或分享方式由用户在客户端中选择。
按歌曲 ID 读取 LRC、翻译和罗马音歌词;不下载音频。
让 macOS 直接向当前网易云播放器发送下一首命令。仅用于普通播放,不操控屏幕,也不用于一起听房间。
Descriptions are terse (20 - 60 chars) and lack LLM-optimized context. E.g., 'netease_status' says 'check current running platform' but doesn't explain when to call it vs. netease_listen_together_capabilities, or what fields it returns. Baseline for A+ tools is 50 - 200 chars with WHEN/WHY guidance.
Output schemas are not documented. Tools return JSON via success() wrapper, but LLMs cannot see what fields to expect (e.g., does netease_search return song_id, title, artist, duration?). This forces LLMs to guess field names for downstream tool calls.
Error handling is minimal. The failure() function returns only error.message as plain text. No guidance on retryability, user-fixable vs. fatal, or recovery steps. E.g., 'Playlist not found' gives no hint to search for the playlist or list available ones.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
打开私人 FM、下载管理或听歌识曲。只允许预设的 orpheus:// 路由。
通过 macOS 适配器在官方客户端中打开歌曲、歌单、专辑或歌手页面。
将 1–100 首歌曲加入当前账号拥有的指定歌单;修改前会再次校验歌单归属。
只检查账号写入功能是否已启用、是否配置会话文件;不返回任何 Cookie 值。
在当前登录账号下创建公开或隐私歌单。必须在用户明确确认本次创建后调用。
使用本机登录会话列出当前账号拥有的歌单,供后续添加或移除歌曲。
从当前账号拥有的指定歌单移除 1–100 首歌曲;必须明确确认,且会校验歌单归属。
通过 music.163.com 的匿名只读接口搜索歌曲,不读取账号 Cookie。
按网易云歌曲 ID 读取名称、歌手、专辑、时长和官方页面链接。
检查当前运行平台、远程能力和可用的本地播放器适配器;macOS 还会读取客户端状态。
Confirmation parameters (confirm: true) are present on destructive tools (netease_playlist_remove_songs, netease_playlist_create) but descriptions don't explain the confirmation pattern or why it's required. LLMs may not understand they must set confirm=true.
Tool composition: netease_open_entity and netease_open_area both open client UI but with different parameter styles (type+id vs. area enum). Descriptions don't clarify when to use each. This risks LLM confusion and wrong tool selection.