{"_id":"@congshen/music-mcp-server","_rev":"2-21509fd89006d2ea9854787c905836cc","name":"@congshen/music-mcp-server","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@congshen/music-mcp-server","version":"1.0.0","keywords":["mcp","music","server","local","bailian","alibaba","npx"],"author":{"name":"congshen"},"license":"MIT","_id":"@congshen/music-mcp-server@1.0.0","maintainers":[{"name":"congshen","email":"736944761@qq.com"}],"homepage":"https://github.com/congshen/music-mcp-server#readme","bugs":{"url":"https://github.com/congshen/music-mcp-server/issues"},"bin":{"music-mcp-server":"music-mcp-server.js"},"dist":{"shasum":"b4f472c3048ab10b60dfb58853e4489894763fd7","tarball":"https://registry.npmjs.org/@congshen/music-mcp-server/-/music-mcp-server-1.0.0.tgz","fileCount":5,"integrity":"sha512-wWLzvJW89X79uojgby31njJ8op/39fLrRyn0kww+XIb6XrCpNYCFtHvcHloxF+peUXCXk+VIA+cyv2awG6fUxA==","signatures":[{"sig":"MEQCIBMnzqBKQEUeUb8VRfIgYA1EE9hbz7lBuDoq3rYVFgUGAiB+OH5Q2j3Kw3IF2dv9UdBE+cmDrex+3OEbkjtAPMiLgg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22238},"main":"music-mcp-server.js","engines":{"node":">=18.0.0"},"scripts":{"test":"node test-server.js","build":"echo 'Build completed'","check":"node publish-check.js","start":"node music-mcp-server.js","prepublishOnly":"npm run check"},"_npmUser":{"name":"congshen","email":"736944761@qq.com"},"repository":{"url":"git+https://github.com/congshen/music-mcp-server.git","type":"git"},"_npmVersion":"10.8.2","description":"本地音乐MCP服务器 - 支持npx部署和阿里百炼集成","directories":{},"_nodeVersion":"20.19.0","dependencies":{"@modelcontextprotocol/sdk":"^0.4.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/music-mcp-server_1.0.0_1761015814859_0.4672409864843683","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@congshen/music-mcp-server","version":"1.0.1","description":"本地音乐MCP服务器 - 支持npx部署和阿里百炼集成","main":"music-mcp-server.js","bin":{"music-mcp-server":"music-mcp-server.js"},"scripts":{"start":"node music-mcp-server.js","test":"node test-server.js","prepublishOnly":"npm run check","check":"node publish-check.js","build":"echo 'Build completed'"},"keywords":["mcp","music","server","local","bailian","alibaba","npx"],"author":{"name":"congshen"},"license":"MIT","dependencies":{"@modelcontextprotocol/sdk":"^0.4.0"},"engines":{"node":">=18.0.0"},"repository":{"type":"git","url":"git+https://github.com/congshen/music-mcp-server.git"},"homepage":"https://github.com/congshen/music-mcp-server#readme","bugs":{"url":"https://github.com/congshen/music-mcp-server/issues"},"_id":"@congshen/music-mcp-server@1.0.1","_nodeVersion":"20.19.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-XAkQspUkX1u76ZG945rNE1ln7shTM42vRFWYKns7X7gSRXT+XI1JbU94sHoqzEts3rC039v67uJp9+wM/hTCeg==","shasum":"5b8aa15df7b5a8a88e7153ec581357267642a844","tarball":"https://registry.npmjs.org/@congshen/music-mcp-server/-/music-mcp-server-1.0.1.tgz","fileCount":5,"unpackedSize":22238,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICELGHFxp4c4X5+XZWq4b1ZwRe3kc+UtypfQefolJ2RwAiEA8C7/6pIwj/At2AKHCGwx4vTp/WopURYi6WLK0vu1OwQ="}]},"_npmUser":{"name":"congshen","email":"736944761@qq.com"},"directories":{},"maintainers":[{"name":"congshen","email":"736944761@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/music-mcp-server_1.0.1_1761016197856_0.29170929230468"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-21T03:03:34.752Z","modified":"2025-10-21T03:09:58.258Z","1.0.0":"2025-10-21T03:03:35.036Z","1.0.1":"2025-10-21T03:09:58.082Z"},"bugs":{"url":"https://github.com/congshen/music-mcp-server/issues"},"author":{"name":"congshen"},"license":"MIT","homepage":"https://github.com/congshen/music-mcp-server#readme","keywords":["mcp","music","server","local","bailian","alibaba","npx"],"repository":{"type":"git","url":"git+https://github.com/congshen/music-mcp-server.git"},"description":"本地音乐MCP服务器 - 支持npx部署和阿里百炼集成","maintainers":[{"name":"congshen","email":"736944761@qq.com"}],"readme":"# Music MCP Server\r\n\r\n这是一个音乐 MCP 服务器，支持通过 npx 部署并在阿里百炼等 MCP 客户端中使用。\r\n\r\n## 快速开始\r\n\r\n### NPX 部署方式\r\n\r\n```bash\r\n# 直接运行（推荐）\r\nnpx @your-org/music-mcp-server\r\n\r\n# 或者在阿里百炼中配置\r\n{\r\n  \"mcpServers\": {\r\n    \"music-server\": {\r\n      \"command\": \"npx\",\r\n      \"args\": [\"-y\", \"@your-org/music-mcp-server\"]\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n## 功能特性\r\n\r\n- 🎵 音乐搜索和播放\r\n- 📁 本地音乐文件管理\r\n- 🎧 播放控制（播放、暂停、停止、音量调节）\r\n- 📋 播放列表管理\r\n- 🔄 流式音乐播放\r\n- 📤 音乐文件上传\r\n- 🎯 RESTful API接口\r\n\r\n## 项目结构\r\n\r\n```\r\nlocal-music-server/\r\n├── config.py              # 配置文件\r\n├── database.py             # 数据库管理\r\n├── music_server.py         # 主服务器\r\n├── enhanced_mcp_server.py  # 增强版MCP服务器\r\n├── start_server.py         # 启动脚本\r\n├── requirements.txt        # 依赖包\r\n├── README.md              # 说明文档\r\n├── data/                  # 数据存储目录\r\n│   ├── songs.json         # 歌曲数据库\r\n│   └── playlists.json     # 播放列表数据库\r\n└── music_files/           # 音乐文件存储目录\r\n```\r\n\r\n## 安装和运行\r\n\r\n### 1. 安装依赖\r\n\r\n```bash\r\npip install -r requirements.txt\r\n```\r\n\r\n### 2. 启动服务器\r\n\r\n#### 方法一：使用启动脚本（推荐）\r\n```bash\r\npython start_server.py\r\n```\r\n\r\n#### 方法二：直接启动\r\n```bash\r\npython music_server.py\r\n```\r\n\r\n### 3. 验证服务器\r\n\r\n访问 http://127.0.0.1:8888 查看服务器状态\r\n访问 http://127.0.0.1:8888/docs 查看API文档\r\n\r\n## API接口\r\n\r\n### 基础接口\r\n\r\n- `GET /` - 服务器状态\r\n- `GET /api/search?query=关键词&limit=10` - 搜索音乐\r\n- `GET /api/song/{song_id}` - 获取歌曲详情\r\n- `GET /api/song/{song_id}/url` - 获取播放URL\r\n- `GET /api/stream/{song_id}` - 流式播放\r\n- `GET /api/songs` - 获取所有歌曲\r\n\r\n### 播放控制\r\n\r\n- `POST /api/play?song_id=xxx` - 播放音乐\r\n- `POST /api/pause` - 暂停播放\r\n- `POST /api/resume` - 继续播放\r\n- `POST /api/stop` - 停止播放\r\n- `POST /api/volume?volume=50` - 设置音量\r\n- `GET /api/status` - 获取播放状态\r\n\r\n### 文件管理\r\n\r\n- `POST /api/upload` - 上传音乐文件\r\n\r\n### 播放列表\r\n\r\n- `POST /api/playlist?name=列表名` - 创建播放列表\r\n- `GET /api/playlist/{playlist_id}` - 获取播放列表\r\n- `POST /api/playlist/{playlist_id}/add?song_id=xxx` - 添加歌曲到列表\r\n\r\n## MCP服务器集成\r\n\r\n### 启动增强版MCP服务器\r\n\r\n```bash\r\npython enhanced_mcp_server.py\r\n```\r\n\r\n### MCP工具列表\r\n\r\n1. `search_music` - 搜索音乐\r\n2. `play_music` - 播放音乐\r\n3. `pause_music` - 暂停音乐\r\n4. `resume_music` - 继续播放\r\n5. `stop_music` - 停止音乐\r\n6. `set_volume` - 设置音量\r\n7. `get_status` - 获取播放状态\r\n8. `create_playlist` - 创建播放列表\r\n9. `get_all_songs` - 获取所有歌曲\r\n\r\n## 使用示例\r\n\r\n### 1. 搜索音乐\r\n```bash\r\ncurl \"http://127.0.0.1:8888/api/search?query=周杰伦&limit=5\"\r\n```\r\n\r\n### 2. 播放音乐\r\n```bash\r\ncurl -X POST \"http://127.0.0.1:8888/api/play?song_id=327333\"\r\n```\r\n\r\n### 3. 上传音乐文件\r\n```bash\r\ncurl -X POST -F \"file=@music.mp3\" \"http://127.0.0.1:8888/api/upload\"\r\n```\r\n\r\n### 4. 获取播放状态\r\n```bash\r\ncurl \"http://127.0.0.1:8888/api/status\"\r\n```\r\n\r\n## 配置说明\r\n\r\n在 `config.py` 中可以修改以下配置：\r\n\r\n- `SERVER_HOST` - 服务器地址（默认：127.0.0.1）\r\n- `SERVER_PORT` - 服务器端口（默认：8888）\r\n- `MUSIC_STORAGE_PATH` - 音乐文件存储路径\r\n- `SUPPORTED_FORMATS` - 支持的音频格式\r\n\r\n## 数据存储\r\n\r\n- 歌曲信息存储在 `data/songs.json`\r\n- 播放列表存储在 `data/playlists.json`\r\n- 音乐文件存储在 `music_files/` 目录\r\n\r\n## 注意事项\r\n\r\n1. 确保端口8888未被占用\r\n2. 音乐文件需要是支持的格式（mp3, flac, wav, m4a, ogg）\r\n3. 上传的音乐文件会自动提取元数据\r\n4. 服务器启动后会自动创建必要的目录和文件\r\n\r\n## 故障排除\r\n\r\n### 服务器无法启动\r\n- 检查端口8888是否被占用\r\n- 确认所有依赖已正确安装\r\n\r\n### 音乐无法播放\r\n- 检查音乐文件是否存在\r\n- 确认文件格式是否支持\r\n\r\n### MCP服务器连接失败\r\n- 确认音乐服务器已启动\r\n- 检查网络连接和防火墙设置\r\n\r\n## 开发说明\r\n\r\n这个项目使用以下技术栈：\r\n\r\n- **FastAPI** - Web框架\r\n- **Uvicorn** - ASGI服务器\r\n- **httpx** - HTTP客户端\r\n- **Mutagen** - 音频元数据处理\r\n- **aiofiles** - 异步文件操作\r\n\r\n可以根据需要扩展更多功能，如：\r\n- 音乐推荐算法\r\n- 用户管理系统\r\n- 音乐标签和分类\r\n- 歌词显示功能\r\n- 音频格式转换","readmeFilename":"README.md"}