Spotify MCP服务器
本项目是一个基于Model Context Protocol (MCP) 实现的服务器,旨在让大型语言模型 (LLM) 能够与 Spotify 服务进行交互。通过此服务器,LLM客户端(如 Claude)可以调用预设的工具,实现搜索歌曲、创建播放列表、获取音乐推荐等功能,从而扩展 LLM 在音乐领域的应用能力。
主要功能点
- 搜索歌曲: 根据歌曲名称、艺术家或关键词在 Spotify 上查找音乐。
- 查看个人资料: 获取当前 Spotify 用户的个人信息。
- 创建播放列表: 在用户的 Spotify 账户中创建新的播放列表。
- 添加歌曲到播放列表: 将指定的歌曲添加到已有的播放列表中。
- 获取音乐推荐: 基于用户偏好或种子歌曲获取个性化的音乐推荐。
安装步骤
-
环境准备:
- 确保已安装 Node.js v16 或更高版本和 npm。
- 拥有一个 Spotify 账户。
- 在 Spotify开发者仪表板 注册一个 Spotify 开发者应用。
-
创建 Spotify 开发者应用:
- 登录 Spotify 开发者仪表板。
- 点击 "Create an App" 创建应用。
- 填写应用名称和描述。
- 在 "Redirect URIs" 中添加 'http://localhost:8888/callback'。
- 记录应用的 Client ID 和 Client Secret。
-
安装项目:
# 克隆或下载仓库 git clone https://github.com/hrishi0102/spotifyyy-mcp.git cd spotifyyy-mcp # 安装依赖 npm install -
获取 Spotify 访问令牌:
- 修改 'spotify-auth.js' 文件,将 'CLIENT_ID' 和 'CLIENT_SECRET' 替换为你 Spotify 应用的凭据。
- 运行身份验证脚本:
脚本将打开浏览器,引导你登录 Spotify 并授权应用访问你的账户。授权成功后,访问令牌将保存到 'secrets.json' 文件中。node spotify-auth.js
-
构建 MCP 服务器:
npm run build -
配置 MCP 客户端 (以 Claude Desktop 为例):
- 打开 Claude Desktop 的配置文件 ('claude_desktop_config.json')。
- macOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
- Windows: '%APPDATA%\Claude\claude_desktop_config.json'
- 在 'mcpServers' 中添加 Spotify 服务器配置:
注意: 将 '/path/to/spotifyyy-mcp' 替换为你的项目实际路径。{ "mcpServers": { "spotify": { "command": "node", "args": ["/path/to/spotifyyy-mcp/build/spotify-mcp-server.js"] } } }
- 打开 Claude Desktop 的配置文件 ('claude_desktop_config.json')。
-
重启 Claude Desktop: 关闭并重新打开 Claude Desktop 使配置生效。
基本使用方法
-
设置 Spotify 凭据: 在与 Claude 对话开始时,首先需要使用 'set-spotify-credentials' 工具设置你的 Spotify 凭据。凭据信息来源于之前步骤生成的 'secrets.json' 文件。
Tool: set-spotify-credentials Parameters: { "clientId": "你的 Client ID", "clientSecret": "你的 Client Secret", "accessToken": "你的 access_token", "refreshToken": "你的 refresh_token" } -
使用其他 Spotify 工具: 凭据设置成功后,即可使用其他工具与 Spotify 进行交互。例如:
-
搜索歌曲:
Tool: search-tracks Parameters: { "query": "周杰伦", "limit": 3 } -
创建播放列表:
Tool: create-playlist Parameters: { "name": "我的中文歌曲", "description": "使用 Claude 创建的播放列表" } -
查看当前用户:
Tool: get-current-user Parameters: {}
更多工具的使用方法请参考仓库 'README.md' 文件中的 "Example Prompts" 部分。
-
服务器配置 (MCP 客户端配置):
{ "mcpServers": { "spotify": { "command": "node", "args": ["/path/to/spotifyyy-mcp/build/spotify-mcp-server.js"] } } }
- 'server name': "spotify" (用户自定义,用于在客户端中标识该服务器)
- 'command': "node" (启动服务器的命令,这里使用 Node.js 运行时)
- 'args': '["/path/to/spotifyyy-mcp/build/spotify-mcp-server.js"]' (传递给 'command' 的参数,指向服务器 JavaScript 文件的绝对路径,请务必替换为实际路径)
信息
分类
生产力应用