article
README
🚀 Spotify MCP 服务器
Spotify MCP(媒体控制协议)服务器是一款用于管理和控制 Spotify 音乐播放的工具。它提供了多种交互方式,如 Web 界面、命令行界面和语音控制,极大地提升了用户管理音乐播放的便捷性。
🚀 快速开始
先决条件
- 安装 Node.js 和 npm
- 注册 Spotify 开发者账号并获取 Client ID 和 Secret
设置步骤
- 安装依赖项
npm install
- 创建配置文件
在项目根目录下创建
.env文件,添加以下内容:
PORT=8000
BRIDGE_PORT=9000
VOICE_PORT=8001
CLIENT_ID=your_spotify_client_id
CLIENT_SECRET=your_spotify_client_secret
- 启动服务器
npm start
✨ 主要特性
- Web 界面:通过浏览器访问服务器,轻松控制音乐播放。
- 命令行界面:在终端中使用命令灵活操作 Spotify 播放。
- AI 助手集成:支持与 AI 助手(如 Claude)集成,实现语音控制。
- 语音控制:通过麦克风输入指令,便捷控制音乐播放。
- API 接口:提供 RESTful API,方便开发者扩展功能。
📦 安装指南
安装依赖
npm install
配置环境
在项目根目录创建 .env 文件,并按如下内容配置:
PORT=8000
BRIDGE_PORT=9000
VOICE_PORT=8001
CLIENT_ID=your_spotify_client_id
CLIENT_SECRET=your_spotify_client_secret
启动服务
npm start
💻 使用示例
基础用法
Web 界面
打开浏览器访问 http://localhost:8000,按照提示完成 Spotify 认证。
命令行界面
- 播放音乐:
npm run play
- 暂停播放:
npm run pause
- 切换歌曲:
npm run next
高级用法
使用 curl 发送请求
- 获取当前播放信息:
curl http://localhost:8000/api/currently-playing
- 播放音乐:
curl -X POST http://localhost:8000/api/play
- 暂停播放:
curl -X POST http://localhost:8000/api/pause
📚 详细文档
API 端点
- 获取当前播放信息:
GET /api/currently-playing
- 播放音乐:
POST /api/play
- 暂停播放:
POST /api/pause
AI 助手集成
设置触发词
在语音控制界面中,进入设置菜单,输入您喜欢的触发词(例如“小爱同学”),然后保存。
语音控制
- 在终端中启动语音服务器:
node speech/voice-server.js
- 打开浏览器访问
http://localhost:8001,进入语音控制界面。 - 点击麦克风按钮,开始录音并输入指令(例如“小爱同学,播放音乐”)。
运行所有服务
创建一个名为 start-all.js 的文件:
const { spawn } = require('child_process');
const mcp = spawn('npm', ['start'], { stdio: 'inherit' });
setTimeout(() => {
const bridge = spawn('node', ['bridge/claude-spotify-bridge.js'], { stdio: 'inherit' });
const voice = spawn('node', ['speech/voice-server.js'], { stdio: 'inherit' });
}, 1000);
运行:
node start-all.js
🔧 技术细节
开发模式
npm run dev
故障排除
端口已使用错误
- 检查是否有其他程序占用目标端口。
- 修改
.env文件中的端口号。
认证失败问题
- 确保 Client ID 和 Secret 正确。
- 重新登录 Spotify 账号。
📄 许可证
本项目遵循 MIT 协议,代码可以自由使用和修改。
扫码联系在线客服