Skip to main content
Glama
GBAIOT

netease-music-mcp

by GBAIOT

netease-music-mcp

一个非官方的 Model Context Protocol(MCP)服务,用于操作网易云音乐。它让任何兼容 MCP 的客户端(Claude、Cursor、VS Code 等各类智能体)通过统一的工具接口来搜索歌曲、创建与管理歌单、查看听歌记录、收藏歌曲以及获取每日推荐。

⚠️ 本项目与网易公司无任何隶属、背书或赞助关系。 它使用了未公开的网页接口,可能随时失效,请自行承担使用风险。 切勿将你的 MUSIC_U Cookie 分享给他人——它等同于你的账号密码。


功能特性

  • 🔍 搜索歌曲(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)


Related MCP server: netease-mcp

安装

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
  1. 在桌面浏览器中登录 https://music.163.com。

  2. 打开开发者工具(F12)→ Application(应用) → Cookies → music.163.com。

  3. 复制 MUSIC_U 与 __csrf 两个字段的值。

  4. 按 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), 以避免服务端静默截断请求。

  • 本项目为非官方项目,请遵守网易的服务条款。


免责声明

本软件仅供学习和个人自动化用途。对于因使用本软件导致的任何账号问题、限流或违反服务条款的后果,作者不承担任何责任。网易云音乐是网易公司的商标。


开源协议

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    MCP server for controlling local music playback via NetEase Cloud Music, enabling search, play, pause, skip, and lyrics display through a local web player.
    13
    77
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that enables AI assistants to search and retrieve music data (songs, lyrics, playlists, albums, artists) from Netease Cloud Music.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables searching NetEase Cloud Music and safely managing playlists through a local stdio MCP server with automatic backend lifecycle management.
    MIT