netease-music-mcp
非官方MCP服务,允许通过统一的工具接口操作网易云音乐,包括搜索歌曲、创建与管理歌单、查看听歌记录、收藏歌曲及获取每日推荐。
README
netease-music-mcp
一个非官方的 Model Context Protocol(MCP)服务,用于操作网易云音乐。它让任何兼容 MCP 的客户端(Claude、Cursor、VS Code 等各类智能体)通过统一的工具接口来搜索歌曲、创建与管理歌单、查看听歌记录、收藏歌曲以及获取每日推荐。
⚠️ 本项目与网易公司无任何隶属、背书或赞助关系。 它使用了未公开的网页接口,可能随时失效,请自行承担使用风险。 切勿将你的
MUSIC_UCookie 分享给他人——它等同于你的账号密码。
功能特性
- 🔍 搜索歌曲(
search_songs、play_music) - 📝 歌单管理——创建、列出、添加/移除歌曲、读取歌单内容
- 🕘 听歌记录 与 ❤️ 收藏/取消收藏 歌曲
- 🎯 每日推荐(每日 30 首)
- 🔐 三种登录方式:
set_cookie——从浏览器开发者工具粘贴 Cookie(最可靠)login_netease——打开真实浏览器,登录后自动抓取 Cookie(需 Playwright + Chrome/Edge)login_qr——用网易云手机 App 扫描二维码登录(需pycryptodome+qrcode)
- 🚀 双传输模式:
stdio(默认,用于本地 MCP 客户端)与http(Streamable HTTP + SSE)
安装
git clone https://github.com/your-org/netease-music-mcp.git
cd netease-music-mcp
python -m venv .venv
source .venv/bin/activate # Windows 使用:.venv\Scripts\activate
pip install -e ".[all]" # 安装 pycryptodome、qrcode、playwright
可选依赖(按需安装):
| 额外依赖(extra) | 提供的功能 |
|---|---|
qr |
login_qr(扫码登录) |
browser |
login_netease(浏览器登录) |
all |
上述两者全部 |
基础服务(搜索 + 歌单 + 听歌记录 + set_cookie)无需任何第三方依赖——仅依赖 Python 标准库。
配置
复制示例环境变量文件并填入你的 Cookie:
cp .env.example .env
编辑 .env:
# 依赖登录的工具必填
NETEASE_COOKIE=MUSIC_U=YOUR_MUSIC_U; __csrf=YOUR_CSRF
# 传输模式:"stdio"(默认)或 "http"
MCP_MODE=stdio
MCP_HOST=127.0.0.1
MCP_PORT=3456
如何获取 Cookie
- 在桌面浏览器中登录 https://music.163.com。
- 打开开发者工具(
F12)→ Application(应用) → Cookies →music.163.com。 - 复制
MUSIC_U与__csrf两个字段的值。 - 按
MUSIC_U=xxx; __csrf=yyy的格式填入NETEASE_COOKIE。
Cookie 也可在运行时通过
set_cookie工具提供,或通过login_netease/login_qr自动抓取。
使用方式
stdio(推荐用于本地 MCP 客户端)
直接运行:
python -m netease_music_mcp.server
# 或安装后使用:netease-music-mcp
在你的 MCP 客户端配置中加入(示例):
{
"mcpServers": {
"netease-music": {
"command": "python",
"args": ["-m", "netease_music_mcp.server"],
"env": {
"NETEASE_COOKIE": "MUSIC_U=xxx; __csrf=yyy"
}
}
}
}
http(Streamable HTTP + SSE)
MCP_MODE=http MCP_PORT=3456 python -m netease_music_mcp.server
随后将客户端指向 http://127.0.0.1:3456/mcp(或 /sse)。
可用工具(共 13 个)
| 工具 | 说明 |
|---|---|
search_songs |
搜索歌曲,返回多个带 ID 的结果 |
play_music |
搜索并返回第一条匹配歌曲(含封面与播放链接) |
create_playlist |
创建新歌单 |
add_to_playlist |
向歌单添加歌曲(song_ids 为逗号分隔的字符串) |
remove_from_playlist |
从歌单移除歌曲 |
list_my_playlists |
列出当前用户的全部歌单 |
get_playlist_songs |
获取歌单中的歌曲(最多 50 首) |
get_play_history |
获取最近 / 累计的听歌记录 |
like_song |
收藏或取消收藏歌曲 |
daily_recommend |
获取当日 30 首每日推荐 |
login_netease |
打开浏览器,登录后自动抓取 Cookie |
login_qr |
扫码登录(用网易云 App 扫码) |
set_cookie |
手动提供 MUSIC_U=...; __csrf=... |
项目结构
netease-music-mcp/
├── README.md
├── LICENSE
├── pyproject.toml
├── requirements.txt
├── .env.example
├── .gitignore
└── src/
└── netease_music_mcp/
├── __init__.py
├── server.py # MCP 服务:工具定义、JSON-RPC、stdio + http 双传输
└── crypto.py # 网易 weapi 加密(AES-128-CBC + RSA 无填充)
注意事项与限制
- 登录相关接口(
/weapi/)需要使用网易非标准的加密方式 (AES-128-CBC 两遍 + RSA 无 PKCS#1 填充),实现位于crypto.py。 - 部分网络环境 / 数据中心 IP 会被网易风控,对
/weapi/登录接口返回空响应。 此时请改用set_cookie,从你自己的浏览器(住宅 IP)获取 Cookie。 - 向歌单批量添加大量歌曲时,应分批进行(每次调用 ≤5 个 ID), 以避免服务端静默截断请求。
- 本项目为非官方项目,请遵守网易的服务条款。
免责声明
本软件仅供学习和个人自动化用途。对于因使用本软件导致的任何账号问题、限流或违反服务条款的后果,作者不承担任何责任。网易云音乐是网易公司的商标。
开源协议
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。