使用说明
集成人工智能的Spotify MCP服务器
基于Flask的MCP(模块化控制协议)服务器,与Spotify集成,并使用谷歌的Gemini AI对音乐命令进行自然语言处理。
特性
- 🎵 Spotify集成播放列表管理
- 🤖 人工智能驱动的自然语言处理
- 🔒 OAuth2身份验证流程
- 📜 MCP协议合规性
- 🚀 以下各项的REST API终结点:
- 轨迹搜索
- 播放列表创建
- 播放列表修改
- 人工智能辅助命令处理
先决条件
- Python 3.9+
- Spotify开发者帐户
- Google Gemini API密钥
- 基本的命令行知识
安装
- 克隆存储库:
git clone https://github.com/yourusername/spotify-mcp-server.git
cd spotify-mcp-server
- 创建并激活虚拟环境:
python -m venv venv
source venv/bin/activate # Linux/MacOS
venv\Scripts\activate # Windows
- 安装依赖项:
pip install -r requirements.txt
配置
- 创建
.env文件:
SPOTIPY_CLIENT_ID=your_spotify_client_id
SPOTIPY_CLIENT_SECRET=your_spotify_secret
SPOTIPY_REDIRECT_URI=http://localhost:5001/callback
SPOTIPY_SCOPE=playlist-modify-public playlist-modify-private
GEMINI_API_KEY=your_gemini_api_key
- 获取凭据:
用法
- 启动服务器:
python app.py
-
通过Spotify进行身份验证:
-
使用API终结点:
AI驱动的命令
curl -X POST http://localhost:5001/mcp/chat \
-H "Content-Type: application/json" \
-d '{"prompt": "Create a workout playlist with rock songs"}'
直接API调用
# Search track
curl -X POST http://localhost:5001/mcp/execute \
-H "Content-Type: application/json" \
-d '{"action": "search_track", "parameters": {"query": "Thriller Michael Jackson"}}'
API终点
| 端点 | 方法 | 描述 |
|---|---|---|
/auth |
GET | 启动Spotify身份验证 |
/mcp/status |
GET | 服务器健康检查 |
/mcp/actions |
GET | 列出可用操作 |
/mcp/execute |
POST | 执行直接命令 |
/mcp/chat |
POST | 处理自然语言请求 |
例子
使用AI创建播放列表
curl -X POST http://localhost:5001/mcp/chat \
-H "Content-Type: application/json" \
-d '{"prompt": "Make a jazz playlist with Miles Davis and John Coltrane"}'
样本响应:
{
"result": {
"id": "3jJ5VR3RJNA",
"name": "Cool Jazz Night",
"url": "https://open.spotify.com/playlist/3jJ5VR3RJNA"
}
}
故障排除
访问令牌无效
rm -rf .spotify_cache # Clear cached credentials
# Re-authenticate via /auth endpoint
端口冲突
# Edit app.py and change port number
app.run(host='0.0.0.0', port=5001) # Modify this line
API错误
- 验证
.env凭证 - 检查Spotify开发者仪表板设置
- 确保OAuth范围正确
许可证
MIT许可证-请参阅 许可证 详见
.