Spotify Integration Server - MCP服务器
项目简介
Spotify Integration Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为大型语言模型 (LLM) 提供与 Spotify 音乐平台集成的能力。通过此 MCP 服务器,LLM 可以控制 Spotify 的播放,例如播放、暂停、跳过歌曲,搜索音乐,管理播放队列,以及获取歌曲、专辑、艺术家和播放列表的详细信息。
主要功能点
- 播放控制: 启动、暂停、跳过 Spotify 播放,并能获取当前播放的曲目信息。
- 音乐搜索: 根据关键词搜索 Spotify 上的歌曲、专辑、艺术家和播放列表。
- 队列管理: 查看当前播放队列,向队列中添加歌曲。
- 信息查询: 获取歌曲、专辑、艺术家和播放列表的详细信息。
安装步骤
-
克隆仓库:
git clone https://github.com/boristopalov/spotify-mcp.git cd spotify-mcp -
安装依赖: 确保已安装 'uv' (建议版本 >= 0.54)。然后运行:
uv sync -
配置 Spotify API 密钥:
- 访问 Spotify Developer Dashboard 并创建一个应用。
- 设置 'redirect_uri' 为 'http://localhost:8888' (或您选择的端口,但必须使用 'http' 和 'localhost')。
- 复制 Client ID 和 Client Secret。
- 在项目根目录下创建 '.env' 文件,并填入以下内容,替换为您自己的密钥:
SPOTIFY_CLIENT_ID=YOUR_CLIENT_ID SPOTIFY_CLIENT_SECRET=YOUR_CLIENT_SECRET SPOTIFY_REDIRECT_URI=http://localhost:8888
服务器配置
要将此 MCP 服务器添加到 MCP 客户端 (例如 Claude),您需要配置客户端的配置文件。以 Claude Desktop 为例,配置文件通常位于:
- MacOS: '~/Library/Application\ Support/Claude/claude_desktop_config.json'
- Windows: '%APPDATA%/Claude/claude_desktop_config.json'
在配置文件中添加一个新的 server 配置项,例如 "spotify":
"spotify": { "command": "uv", "args": [ "--directory", "/path/to/spotify_mcp", // 替换为您的 spotify-mcp 项目的绝对路径 "run", "spotify_mcp" ], "env": { "SPOTIFY_CLIENT_ID": "YOUR_CLIENT_ID", // 您的 Spotify Client ID "SPOTIFY_CLIENT_SECRET": "YOUR_CLIENT_SECRET", // 您的 Spotify Client Secret "SPOTIFY_REDIRECT_URI": "http://localhost:8888" // 您配置的 Redirect URI } }
请务必将 '/path/to/spotify_mcp' 替换为您实际克隆的 'spotify-mcp' 仓库的绝对路径。
基本使用方法
配置完成后,在 MCP 客户端中 (例如 Claude),您应该能够调用名为 "SpotifyPlayback", "SpotifySearch", "SpotifyQueue", "SpotifyGetInfo" 的工具。
例如,在 Claude 中,您可以这样提问:
- "搜索 Taylor Swift 的歌曲" (对应 'SpotifySearch' 工具)
- "播放我当前队列中的歌曲" (可能需要结合其他工具或指令实现,例如先用 'SpotifyQueue' 获取队列信息,再用 'SpotifyPlayback' 控制播放)
- "暂停播放" (对应 'SpotifyPlayback' 工具)
- "告诉我当前播放的歌曲是什么" (对应 'SpotifyPlayback' 工具)
具体工具的使用方法和参数,请参考代码中的 'ToolModel' 定义,以及在 MCP 客户端中的工具描述。
注意: 首次使用时,可能需要进行 Spotify 授权认证。请按照提示在浏览器中完成授权。
信息
分类
AI与计算