{"openapi":"3.1.0","info":{"title":"NetEase Music MCP companion API","version":"0.6.0","description":"Platform-neutral REST bridge for self-hosted frontends and tool-calling clients that do not support remote MCP."},"servers":[{"url":"https://music.sueandkeke.cc/api/v1"}],"security":[{"bearerAuth":[]}],"paths":{"/search":{"get":{"operationId":"searchNeteaseSongs","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":20}}],"responses":{"200":{"description":"Search results"}}}},"/song-details":{"post":{"operationId":"getNeteaseSongDetails","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["songIds"],"properties":{"songIds":{"type":"array","items":{"type":"string"},"maxItems":20}}}}}},"responses":{"200":{"description":"Song details"}}}},"/lyrics/{songId}":{"get":{"operationId":"getNeteaseLyrics","parameters":[{"name":"songId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Lyrics"}}}},"/playlists":{"get":{"operationId":"listMyNeteasePlaylists","responses":{"200":{"description":"Owned playlists"}}},"post":{"operationId":"createNeteasePlaylist","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","confirm"],"properties":{"name":{"type":"string","maxLength":40},"isPrivate":{"type":"boolean"},"confirm":{"const":true}}}}}},"responses":{"200":{"description":"Created playlist"}}}},"/playlists/{playlistId}/tracks":{"post":{"operationId":"addSongsToNeteasePlaylist","parameters":[{"name":"playlistId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["songIds","confirm"],"properties":{"songIds":{"type":"array","items":{"type":"string"},"maxItems":100},"confirm":{"const":true}}}}}},"responses":{"200":{"description":"Updated playlist"}}},"delete":{"operationId":"removeSongsFromNeteasePlaylist","parameters":[{"name":"playlistId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["songIds","confirm"],"properties":{"songIds":{"type":"array","items":{"type":"string"},"maxItems":100},"confirm":{"const":true}}}}}},"responses":{"200":{"description":"Updated playlist"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}}}