使用说明
Spotify MCP 服务器
一个模型上下文协议(MCP)服务器,使Claude Desktop能够与Spotify进行交互。使用自然语言创建播放列表、搜索曲目以及管理您的Spotify库。
特点/功能
- 搜索曲目按艺术家、专辑、流派或自然语言查询来查找歌曲
- 创建播放列表创建具有自定义名称和描述的新播放列表
- 添加音轨一次性向播放列表中添加多首曲目
- 查看播放列表列出您现有的Spotify播放列表
- 获取推荐根据种子(曲目、艺术家或流派)发现新音乐
先决条件
- Node.js(v18 或更高版本)
- 一个Spotify账户
- Claude 桌面应用程序
- Spotify 开发者应用凭据
安装说明
1. 克隆仓库
git clone https://github.com/tianyoul/spotify-mcp.git
cd spotify-mcp
2. 安装依赖项
npm install
3. 创建Spotify应用
- 首选 Spotify开发者仪表板
- 点击“创建应用”
- 填写详细信息:
- 应用名称Spotify MCP服务器(或任何名称)
- 应用描述Claude Desktop的MCP服务器
- 重定向URI:
http://127.0.0.1:8888/callback
- 保存你的应用
- 复制你的 客户端ID 并且 客户端密钥
4. 配置环境变量
创建一个 .env 项目根目录下的文件:
SPOTIFY_CLIENT_ID=your_client_id_here
SPOTIFY_CLIENT_SECRET=your_client_secret_here
SPOTIFY_REDIRECT_URI=http://127.0.0.1:8888/callback
替换 your_client_id_here 并且 your_client_secret_here 使用您真实的Spotify账号凭据。
5. 构建项目
npm run build
6. 用Spotify进行身份验证
npm run auth
这将:
- 打开一个浏览器窗口进行Spotify身份验证
- 请求必要的权限
- 将您的访问令牌保存在本地
7. 配置Claude桌面版
在你的Claude桌面配置文件中添加以下内容:
macOS(苹果电脑操作系统): ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux(发音类似“林克斯”): ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"spotify": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/spotify-mcp/dist/index.js"],
"env": {
"SPOTIFY_CLIENT_ID": "your_client_id_here",
"SPOTIFY_CLIENT_SECRET": "your_client_secret_here",
"SPOTIFY_REDIRECT_URI": "http://127.0.0.1:8888/callback"
}
}
}
}
重要的替换 /ABSOLUTE/PATH/TO/spotify-mcp 使用您项目目录的实际绝对路径。
8. 重启Claude桌面版
关闭并重新打开 Claude Desktop。现在应该已经连接到 Spotify MCP 服务器了。
使用示例
配置完成后,您可以通过Claude使用自然语言与Spotify进行交互:
搜索音乐:
“给我找些轻松的爵士乐”
创建一个播放列表:
“创建一个名为‘公路旅行’的播放列表,里面包含一些节奏欢快的摇滚歌曲”
将曲目添加到播放列表:
“搜索泰勒·斯威夫特的歌曲,并将前5首添加到我的旅行播放列表中”
查看您的播放列表:
“给我看看我的Spotify播放列表”
获取推荐:
“推荐与《波西米亚狂想曲》相似的歌曲”
可用工具
MCP服务器向Claude提供了以下工具:
search_tracks- 在Spotify上搜索歌曲create_playlist- 在您的账户中创建一个新的播放列表add_tracks_to_playlist- 向现有播放列表中添加曲目get_user_playlists- 列出你的播放列表get_recommendations- 根据种子曲目获取推荐曲目
故障排除
服务器断开连接错误
如果你在Claude桌面版中看到“服务器已断开连接”:
- 检查日志:
~/Library/Logs/Claude/mcp-server-spotify.log(macOS) - 确保构建成功完成:
npm run build - 验证身份:
npm run auth - 检查路径是否在
claude_desktop_config.json是绝对且正确的
令牌已过期
如果你遇到“令牌已过期”错误:
npm run auth
这将刷新您的Spotify认证。
无法找到模块错误
确保所有依赖项都已安装:
npm install
npm run build
发展
项目结构
spotify-mcp/
├── src/
│ ├── index.ts # Main MCP server implementation
│ └── auth.ts # Spotify OAuth flow
├── dist/ # Compiled JavaScript (generated)
├── .env # Environment variables (create this)
├── package.json
└── tsconfig.json
脚本
npm run build- 将TypeScript编译为JavaScriptnpm run dev- 以开发模式运行npm run auth- 用Spotify进行身份验证npm start- 启动服务器(用于测试)
安全注意事项
- 永远不要把你的(事情/秘密/承诺等)交出去
.env文件或.spotify-token.json进行版本控制 - 确保你的Spotify客户端密钥保密
- 认证令牌被本地存储在
.spotify-token.json - 令牌在需要时会自动刷新
许可证
麻省理工学院(MIT)
贡献
欢迎贡献!请随时提交拉取请求。