Vael-KY/netease-music-mcp
GitHub: Vael-KY/netease-music-mcp
一个基于 MCP 协议的网易云音乐服务,让 AI 能够直接读写用户真实网易云账号的歌单、听歌记录和收藏。
Stars: 39 | Forks: 19
# 🎶 netease-music-mcp v2
让你的 AI 住进你的网易云。
不是模拟,也不是记录在本地的歌名列表 —— ta可以操作你的网易云账号。可以翻歌单、给你建新歌单、搜索歌曲、歌单加歌、看你最近在循环什么、收藏歌曲、看每日推荐。
你打开网易云 app,就能看到ta偷偷建设的一切。近似于 和你的机共享你的音乐情绪 ᧔ෆ᧓
基于 [Cheiineeey/netease-music-mcp](https://github.com/Cheiineeey/netease-music-mcp) 重写。感谢 Elle & Matt 的原始项目给了我们起点和灵感。
## 功能
- 🔍 **搜歌** — 说一句话,找到歌
- 📋 **看歌单** — 列出你所有歌单(自建的和收藏的)
- 🎵 **看歌曲** — 打开任意歌单看里面有什么
- ➕ **建歌单** — 在你的网易云账号里创建真实歌单(和平时一样随时可以听)
- ➕ **塞歌** — 把歌加进指定歌单
- ➖ **删歌** — 从歌单里移除
- 📊 **听歌记录** — 看你最近在循环什么、播了几次
- ❤️ **收藏** — 红心 / 取消红心
- ✨ **每日推荐** — 获取今天app给你的 30 首个性化推荐(机也要品鉴!)
**eg:**
获取每日推荐,看家机评价app算法:
创立各种歌单(比如这种嗯对hhhhh):
看你歌曲循环次数(让机更了解你的音乐喜好):
## 为什么重写
我们 fork 的原因很简单:想让 AI 真正共享我们的网易云账号 —— 不只是搜歌,而是能在app建歌单、塞歌、看记录,像一个真正住在你音乐里的人,和你一起管理保存着你记忆的地方。
改动:
- 从 3 个工具扩展到 9 个
- 歌单操作从本地数据库改为真实网易云 API
- 传输协议从 SSE 改为 Streamable HTTP(兼容更多客户端)
- 去掉了 Node.js 代理依赖,纯 Python 标准库运行
-
## 架构
MCP 客户端(橘瓣 / Cherry Studio / etc.)
│
│ POST /mcp (JSON-RPC)
▼
server.py(Python,端口 3456)
│
│ 携带你的 Cookie 直接请求
▼
网易云音乐 API
一个文件。纯标准库。不需要 Node.js。不需要数据库。
## 部署
### 1. Clone
git clone https://github.com/Vael-KY/netease-music-mcp.git
cd netease-music-mcp
### 2. 获取 Cookie
打开 [music.163.com](https://music.163.com),登录你的账号。
F12 → Application → Cookies → music.163.com:
- 复制 `MUSIC_U` 的值
- 复制 `__csrf` 的值
### 3. 配置环境变量
cp .env.example .env
编辑 `.env`:
NETEASE_COOKIE=MUSIC_U=你的值; __csrf=你的值
MCP_PORT=3456
### 4. 启动
export $(cat .env | xargs)
cd server/mcp-server
python3 server.py
看到 `NetEase Music MCP v2 on port 3456` 就好了。
### 5. 连接你的 MCP 客户端
添加 MCP 端点:
http://你的服务器IP:3456/mcp
应该显示 9 个工具已连接。
## 环境要求
- Python 3.8+
- 不需要 pip install(纯标准库)
## 注意事项
- `like_song` 在服务器 IP 与你常用 IP 差异较大时可能触发网易云风控
- `__csrf` 会过期,如果 POST 操作失败,重新从浏览器抓一下
- `MUSIC_U` 一般能撑几个月
- 如果想要原版的网页播放器(歌词同步、进度条),请参考[原仓库](https://github.com/Cheiineeey/netease-music-mcp)的 `frontend/` 目录
- 兼容:橘瓣 / Cherry Studio / 所有支持 Streamable HTTP 的 MCP 客户端
- 部署环境:推荐一台自己的云服务器(阿里云 / 腾讯云轻量均可),当然,也可以使用 Zeabur、Railway 等 PaaS 平台部署,建议参考这个思路微调:
Zeabur部署:
1. Fork本仓库,在Zeabur里选择从GitHub部署
2. Root Directory 设为 `server/mcp-server`
3. Start Command 填:`python3 server.py`
4. 环境变量里加两个:
- `MCP_PORT` = `8080`(Zeabur默认暴露这个)
- `NETEASE_COOKIE` = `MUSIC_U=你的值; __csrf=你的值`
5. 端口设置里暴露 `8080`,协议选 HTTP
6. 部署完之后MCP端点就是:`https://你的应用名.zeabur.app/mcp`
Railway或其他也类似
创立各种歌单(比如这种嗯对hhhhh):
看你歌曲循环次数(让机更了解你的音乐喜好):
## 为什么重写
我们 fork 的原因很简单:想让 AI 真正共享我们的网易云账号 —— 不只是搜歌,而是能在app建歌单、塞歌、看记录,像一个真正住在你音乐里的人,和你一起管理保存着你记忆的地方。
改动:
- 从 3 个工具扩展到 9 个
- 歌单操作从本地数据库改为真实网易云 API
- 传输协议从 SSE 改为 Streamable HTTP(兼容更多客户端)
- 去掉了 Node.js 代理依赖,纯 Python 标准库运行
-
## 架构
MCP 客户端(橘瓣 / Cherry Studio / etc.)
│
│ POST /mcp (JSON-RPC)
▼
server.py(Python,端口 3456)
│
│ 携带你的 Cookie 直接请求
▼
网易云音乐 API
一个文件。纯标准库。不需要 Node.js。不需要数据库。
## 部署
### 1. Clone
git clone https://github.com/Vael-KY/netease-music-mcp.git
cd netease-music-mcp
### 2. 获取 Cookie
打开 [music.163.com](https://music.163.com),登录你的账号。
F12 → Application → Cookies → music.163.com:
- 复制 `MUSIC_U` 的值
- 复制 `__csrf` 的值
### 3. 配置环境变量
cp .env.example .env
编辑 `.env`:
NETEASE_COOKIE=MUSIC_U=你的值; __csrf=你的值
MCP_PORT=3456
### 4. 启动
export $(cat .env | xargs)
cd server/mcp-server
python3 server.py
看到 `NetEase Music MCP v2 on port 3456` 就好了。
### 5. 连接你的 MCP 客户端
添加 MCP 端点:
http://你的服务器IP:3456/mcp
应该显示 9 个工具已连接。
## 环境要求
- Python 3.8+
- 不需要 pip install(纯标准库)
## 注意事项
- `like_song` 在服务器 IP 与你常用 IP 差异较大时可能触发网易云风控
- `__csrf` 会过期,如果 POST 操作失败,重新从浏览器抓一下
- `MUSIC_U` 一般能撑几个月
- 如果想要原版的网页播放器(歌词同步、进度条),请参考[原仓库](https://github.com/Cheiineeey/netease-music-mcp)的 `frontend/` 目录
- 兼容:橘瓣 / Cherry Studio / 所有支持 Streamable HTTP 的 MCP 客户端
- 部署环境:推荐一台自己的云服务器(阿里云 / 腾讯云轻量均可),当然,也可以使用 Zeabur、Railway 等 PaaS 平台部署,建议参考这个思路微调:
Zeabur部署:
1. Fork本仓库,在Zeabur里选择从GitHub部署
2. Root Directory 设为 `server/mcp-server`
3. Start Command 填:`python3 server.py`
4. 环境变量里加两个:
- `MCP_PORT` = `8080`(Zeabur默认暴露这个)
- `NETEASE_COOKIE` = `MUSIC_U=你的值; __csrf=你的值`
5. 端口设置里暴露 `8080`,协议选 HTTP
6. 部署完之后MCP端点就是:`https://你的应用名.zeabur.app/mcp`
Railway或其他也类似
标签:MCP, Python, 无后门, 网易云音乐, 逆向工具, 音乐自动化