Metadata-Version: 2.4
Name: mcp-server-cxzja-music
Version: 0.1.0
Summary: MCP server for the 残像API 网抑云音乐 (NetEase Cloud Music) search & playback API.
Author: Ocean Li
License-Expression: MIT
Keywords: mcp,music,netease,wyymusic,cxzja,model-context-protocol
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: mcp<2,>=1.2
Requires-Dist: requests>=2.32

# mcp-server-cxzja-music

MCP (Model Context Protocol) server exposing the **残像API 网抑云音乐**
(NetEase Cloud Music) search & playback API. Lets AI clients search songs by
keyword and resolve them into direct audio URLs, covers and lyrics.

API docs: <https://api.cxzja.cn/docx-wyymusic.html>

## Features

- `search_music(keyword, n, br)` — search and return song details at index `n`
- `resolve_music(song_id, br)` — resolve a song id into a direct audio URL
- `fetch_lyrics(keyword, n)` — return LRC lyrics for a search result

Supports multiple audio qualities: `jymaster`, `dolby`, `sky`, `hires`,
`lossless`, `exhigh`, `standard`.

## Quick start

```bash
pip install mcp-server-cxzja-music
mcp-server-cxzja-music            # stdio (default)
mcp-server-cxzja-music --transport streamable-http --port 8000
```

Or run directly without installing:

```bash
uvx mcp-server-cxzja-music
```

## Token

The API needs your personal 残像API token. It is resolved in this order:

1. per-call `token` tool parameter
2. `--token` CLI argument
3. `CXZJA_TOKEN` environment variable
4. the default token baked into the package (so `uvx mcp-server-cxzja-music`
   works out of the box on imcp.pro)

For a shared/public deployment, prefer setting `CXZJA_TOKEN` (or a per-call
token) over relying on the baked default.

## imcp.pro configuration

Create an MCP service with:

- Transport: **stdio**
- Command: `uvx`
- Args: `mcp-server-cxzja-music`

Then bind it to an Agent and export the gateway WebSocket into Xiaozhi.
