使用说明
项目简介
Spotify MCP服务器是一个基于Model Context Protocol (MCP) 构建的应用后端,它将 Spotify Web API 的功能封装成一系列工具,通过标准的 MCP 协议与客户端进行交互。该服务器允许用户通过 MCP 客户端程序,以编程方式搜索 Spotify 音乐、控制播放以及管理个人播放列表。
主要功能点
- 音乐搜索: 通过关键词在 Spotify 上搜索歌曲。
- 播放控制: 获取当前播放状态、播放指定歌曲、暂停播放。
- 播放列表管理: 获取用户的 Spotify 播放列表。
- 标准化接口: 使用 JSON-RPC over stdio 与 MCP 客户端通信,遵循 MCP 协议规范。
- 易于集成: 为 LLM 应用提供即插即用的 Spotify 上下文服务。
安装步骤
-
克隆仓库
git clone <repository-url> cd spotify-mcp请将 '<repository-url>' 替换为仓库的实际 URL。
-
安装依赖 确保已安装 Node.js (v16 或更高版本) 和 npm。在项目根目录下运行:
npm install -
配置环境变量 在项目根目录下创建 '.env' 文件,并填入你的 Spotify 开发者应用凭据:
SPOTIFY_CLIENT_ID=your_spotify_client_id SPOTIFY_CLIENT_SECRET=your_spotify_client_secret SPOTIFY_REDIRECT_URI=http://localhost:8888/callback请替换 'your_spotify_client_id' 和 'your_spotify_client_secret' 为你在 Spotify Developer Dashboard 创建的应用凭据。'SPOTIFY_REDIRECT_URI' 必须与你在 Spotify 应用设置中配置的重定向 URI 一致。
-
构建项目 运行构建命令:
npm run build -
启动服务器 运行启动命令:
npm start服务器启动后,会自动打开浏览器进行 Spotify OAuth 认证。完成认证后,服务器将开始监听 stdio 输入输出。
服务器配置
MCP 客户端需要配置以下 JSON 以连接到 Spotify MCP 服务器:
{ "serverName": "spotify-mcp-server", "command": "node", "args": ["index.js"], "transport": "stdio" }
配置参数说明:
- 'serverName': 服务器名称,可以自定义,用于在 MCP 客户端中标识该服务器。
- 'command': 启动服务器的命令,这里使用 'node' 命令来运行 JavaScript 代码。
- 'args': 传递给 'node' 命令的参数,'index.js' 是服务器的入口文件。
- 'transport': 指定 MCP 客户端与服务器通信的传输协议,这里使用 'stdio' 标准输入输出。
将以上 JSON 配置添加到你的 MCP 客户端配置中,即可连接到 Spotify MCP 服务器。
基本使用方法
-
连接服务器: 在 MCP 客户端中配置并连接到 Spotify MCP 服务器。
-
列出工具: 客户端可以发送 'ListToolsRequest' 请求获取服务器提供的工具列表。
-
调用工具: 客户端可以发送 'CallToolRequest' 请求调用具体的 Spotify 工具,例如:
-
搜索歌曲:
{ "name": "search_tracks", "arguments": {"query": "周杰伦"} } -
播放歌曲:
{ "name": "play_track", "arguments": {"uri": "spotify:track:xxxxxxxxx"} } -
获取播放状态:
{ "name": "get_playback_state", "arguments": {} } -
暂停播放:
{ "name": "pause_playback", "arguments": {} } -
获取用户播放列表:
{ "name": "get_user_playlists", "arguments": {} }
客户端将通过 stdio 发送 JSON-RPC 请求给服务器,服务器执行相应的 Spotify API 操作后,将结果以 JSON-RPC 响应的形式返回给客户端。
-
请参考仓库 'README.md' 中 Tools 部分了解每个工具的详细输入输出参数和示例。
信息
分类
网页与API