mcp_music_server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp_music_serverplay 'Bohemian Rhapsody' by Queen on Netease"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Music Server
为 LLM 大模型提供音乐播放能力的 MCP (Model Context Protocol) Server。支持网易云音乐、QQ 音乐、酷狗音乐在线搜索与播放,以及本地音乐文件离线播放。
功能
跨平台音乐搜索(网易云 / QQ / 酷狗 / 本地文件)
歌词获取、歌单浏览、热门推荐
多音质播放链接获取(low / standard / high / lossless)
本地音频文件播放(MP3、FLAC、M4A、WAV、OGG 等)
播放控制(播放 / 暂停 / 恢复 / 停止)
两种传输模式:
stdio(本地)和sse(远程 HTTP)QQ 音乐扫码登录,凭证自动续期
Related MCP server: qq-music-mcp
快速开始
1. 克隆仓库
git clone https://github.com/<your-username>/mcp-music-server.git
cd mcp-music-server2. 配置 GitHub Secrets
在仓库 Settings → Secrets and variables → Actions 中添加以下 Secrets:
Secret | 示例值 | 说明 |
|
| Harbor 用户名 |
|
| Harbor 密码或访问令牌 |
镜像仓库地址已固定为
harbor.zkjgy.online/library(写死在 workflow 中),无需再配置HARBOR_REGISTRY/HARBOR_PROJECT。
3. 发布版本
# 打 tag 并推送,自动触发构建和发布
git tag v0.1.0
git push origin v0.1.0GitHub Actions 将自动:
构建 linux/amd64 和 linux/arm64 多架构镜像
推送镜像到你的 Harbor 仓库
创建 GitHub Release,附带运行包和离线镜像
部署
离线部署(无网络环境)
# 1. 下载 Release 中的文件:
# - mcp-music-server_vX.X.X/ (运行包)
# - mcp-music-server_vX.X.X_linux-amd64.tar.gz (镜像,按架构选择)
# - mcp-music-server_vX.X.X_linux-arm64.tar.gz
# 2. 加载镜像
docker load -i mcp-music-server_v0.1.0_linux-amd64.tar.gz
# 3. 进入运行包目录
cd mcp-music-server_v0.1.0
# 4. QQ 音乐扫码登录(只需一次,在你装有 Python 的电脑上执行)
pip install qqmusic-api-python
python qqmusic_login.py
# 生成凭证文件 → ~/.config/mcp-music-server/qqmusic_credential.json
# 5. 如果服务器不是同一台机器,拷贝凭证到服务器:
scp ~/.config/mcp-music-server/qqmusic_credential.json user@server:~/.config/mcp-music-server/
# 6. 取消 docker-compose.yaml 中凭证挂载行的注释:
# - ~/.config/mcp-music-server/qqmusic_credential.json:/app/config/qqmusic_credential.json:ro
# 并在 .env 中取消注释:
# MCP_QQMUSIC_CREDENTIAL_PATH=/app/config/qqmusic_credential.json
# 7. 启动
docker compose up -d在线部署(从 Harbor 拉取)
# 下载运行包
wget https://github.com/<your-username>/mcp-music-server/releases/download/v0.1.0/mcp-music-server_v0.1.0.tar.gz
tar xzf mcp-music-server_v0.1.0.tar.gz
cd mcp-music-server_v0.1.0
# 编辑 .env,设置 Harbor 镜像地址(默认已指向 harbor.zkjgy.online/library)
# MCP_IMAGE=harbor.zkjgy.online/library/mcp-music-server:v0.1.0
docker login harbor.zkjgy.online
docker compose up -d本地开发运行
# 安装依赖
pip install -e ".[sse]"
# 配置环境变量
cp .env.example .env
vim .env
# QQ 音乐扫码登录(可选,不使用则通过 Cookie 认证)
python scripts/qqmusic_login.py
# stdio 模式(本地 MCP 客户端)
MCP_TRANSPORT=stdio python -m mcp_music_server.server
# SSE 模式(远程 MCP 客户端)
MCP_TRANSPORT=sse python -m mcp_music_server.serverQQ 音乐认证
项目支持两种 QQ 音乐认证方式:
方式 | 配置 | 有效期 | 说明 |
扫码登录 |
| 自动续期 | 推荐,首次扫码后无需再管 |
Cookie 手动填写 |
| 数小时~数天 | 从浏览器 DevTools 复制 |
扫码登录步骤:
pip install qqmusic-api-python
python scripts/qqmusic_login.py
# 终端会保存二维码图片,用手机 QQ 扫码并确认登录
# 凭证自动保存到 ~/.config/mcp-music-server/qqmusic_credential.json服务器启动时会自动检查凭证是否过期,过期自动刷新。Cookie 方式的优先级低于凭证文件。
MCP 客户端配置
部署成功后,在任意支持 MCP 的客户端中添加配置:
{
"mcpServers": {
"music": {
"url": "http://<your-server-ip>:8090/sse"
}
}
}对于本地 stdio 模式:
{
"mcpServers": {
"music": {
"command": "python",
"args": ["-m", "mcp_music_server.server"],
"env": {
"MCP_TRANSPORT": "stdio",
"MCP_MUSIC_DIR": "/path/to/your/music"
}
}
}
}环境变量
变量 | 默认值 | 说明 |
|
| Docker 镜像地址 |
|
| 传输模式: |
|
| SSE 模式监听地址 |
|
| SSE 模式监听端口 |
|
| 本地音乐文件目录 |
|
| 启用的音乐平台 |
| (空) | 网易云音乐 Cookie |
| (空) | QQ 音乐 Cookie(备选方案) |
|
| QQ 音乐扫码凭证路径 |
| (空) | 酷狗音乐 Cookie |
|
| 版本标签 |
MCP 工具列表
工具 | 说明 |
| 跨平台搜索歌曲,支持按平台筛选 |
| 获取歌曲详情(封面、时长、歌手等) |
| 获取可播放音频 URL,支持四档音质 |
| 获取歌词(含翻译) |
| 获取歌单详情及歌曲列表 |
| 获取热门歌单 |
| 播放指定歌曲 |
| 停止播放 |
| 暂停播放 |
| 恢复播放 |
| 查询播放状态 |
| 检查各平台可用性 |
工具调用示例
搜索歌曲:music_search(keyword="晴天", platform="all", limit=10)
获取歌词:music_get_lyrics(song_id="186016", platform="netease")
播放链接:music_get_play_url(song_id="97773", platform="qqmusic", quality="high")项目结构
mcp-music-server/
├── src/mcp_music_server/
│ ├── server.py # MCP 服务器入口
│ ├── platforms/
│ │ ├── base.py # 平台抽象层
│ │ ├── netease.py # 网易云音乐
│ │ ├── qqmusic.py # QQ 音乐
│ │ ├── kugou.py # 酷狗音乐
│ │ └── local.py # 本地文件播放
│ └── utils/
│ ├── audio.py # 音频播放控制
│ └── qqmusic_auth.py # QQ 音乐凭证管理
├── scripts/
│ └── qqmusic_login.py # QQ 音乐扫码登录
├── Dockerfile
├── docker-compose.yaml
├── .github/workflows/
│ └── build-release.yaml # CI/CD 工作流
└── .env.exampleLicense
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP server for Producer/Riffusion AI music generation
MCP server for GLM chat completions using Zhipu AI models via AceDataCloud
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server for controlling local music playback via NetEase Cloud Music, enabling search, play, pause, skip, and lyrics display through a local web player.1384MIT
- AlicenseAqualityDmaintenanceIntegrates QQ Music API with MCP, enabling LLMs to search music, retrieve song details, lyrics, and playback URLs.1035 PyPI4MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that enables AI assistants to search and retrieve music data (songs, lyrics, playlists, albums, artists) from Netease Cloud Music.MIT
- AlicenseBqualityDmaintenanceMCP server that provides LLM tools to interact with Lyrion Music Server (LMS), enabling player control, playback management, playlist operations, and music library search.554 npmMIT