音乐发行版
用于个人音乐分发的MCP服务器——管理您的目录,上传到SoundCloud和YouTube,跟踪跨平台的发布状态。专为与Claude Code或任何MCP客户端一起使用而构建。
工具(12)
目录管理
| 工具 | 说明 |
|---|---|
distro_list_tracks | 列出所有带有元数据和发布状态的曲目 |
distro_add_track | 将带有元数据的音频文件添加到目录中 |
distro_update_track | 更新曲目元数据+将ID3标签写入MP3文件 |
distro_scan_new | 在~/桌面/AI音乐/中自动发现新的音频文件 |
上传和分发
| 工具 | 说明 |
|---|---|
distro_upload_soundcloud | 将目录曲目上传到SoundCloud(公共/私人) |
distro_upload_youtube | 生成波形视频并上传到YouTube |
distro_upload_all | 在一次通话中上传到所有连接的平台 |
发布管理
| 工具 | 说明 |
|---|---|
distro_release_status | 所有轨道和站台状态汇总 |
distro_open_dashboard | 打开web仪表板进行可视化目录管理 |
认证
| 工具 | 说明 |
|---|---|
distro_auth_soundcloud | 启动SoundCloud OAuth流 |
distro_auth_youtube | 启动YouTube OAuth流(谷歌) |
distro_auth_status | 检查哪些平台已连接 |
快速开始
先决条件
- Node.js 18+
- ffmpeg(
brew install ffmpeg) - SoundCloud客户端凭据(可选)
- YouTube/Google OAuth凭据(可选)
安装
npm install -g music-distro在Claude代码中配置
添加 ~/.mcp.json:
{
"mcpServers": {
"music-distro": {
"command": "music-distro",
"env": {
"MUSIC_OUTPUT_DIR": "~/Desktop/AI-Music",
"MUSIC_DISTRO_PORT": "3847",
"CREDS_DIR": "/path/to/credentials/music-distro"
}
}
}
}或从源运行
git clone https://github.com/ExpertVagabond/music-distro.git
cd music-distro/server
npm install && npm run build
node build/index.js环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
MUSIC_OUTPUT_DIR | ~/Desktop/AI-Music | 音频文件和catalog.json所在的位置 |
MUSIC_DISTRO_PORT | 3847 | OAuth回调和仪表板的端口 |
CREDS_DIR | -- | 平台凭据目录 |
DASHBOARD_DIR | -- | 仪表板静态文件的路径 |
工作流程
1.扫描新曲目
distro_scan_new
→ Discovers new audio files, reads metadata via ffprobe, adds to catalog2.更新元数据
distro_update_track
id: "track-uuid"
title: "Building in the Dark"
artist: "Matthew Karsten"
genre: "Electronic"
bpm: 128
tags: ["trap", "dark", "808"]
→ Updates catalog + writes ID3 tags to MP33.上传到平台
distro_upload_soundcloud --track_id "uuid" --sharing public
distro_upload_youtube --track_id "uuid" --privacy unlisted
# or upload to all at once:
distro_upload_all --track_id "uuid"4.检查释放状态
distro_release_status
→ Shows all tracks with SoundCloud/YouTube URLs and upload status平台身份验证
声云
- 在以下位置创建SoundCloud应用程序 soundcloud.com/you/apps
- 保存凭据:
// $CREDS_DIR/soundcloud-client.json
{ "client_id": "...", "client_secret": "..." }- 跑
distro_auth_soundcloud→ 打开OAuth浏览器
油管
- 在中创建OAuth凭据 谷歌云控制台
- 另存为
$CREDS_DIR/youtube/client_secret.json - 跑
distro_auth_youtube→ 打开Google OAuth浏览器
仪表盘
用于可视化目录管理的Web UI http://localhost:3847/dashboard:
- 使用元数据跟踪目录表
- 发布带有平台链接的状态徽章
- 统计栏(总计/已上传/待处理)
- 身份验证状态指示器
- 扫描新文件
启动仪表板服务器: npm run dev
目录存储
所有数据存储在 $MUSIC_OUTPUT_DIR/catalog.json:
{
"tracks": [
{
"id": "uuid",
"title": "Track Name",
"artist": "Artist",
"genre": "Electronic",
"duration_seconds": 30,
"files": { "wav": "path.wav", "mp3": "path.mp3" },
"releases": {
"soundcloud": { "status": "uploaded", "url": "https://..." },
"youtube": { "status": "pending" }
}
}
]
}相关项目
许可证
麻省理工学院——紫松鼠传媒
