使用说明
项目简介
Spotify MCP 是一个基于 Model Context Protocol (MCP) 的服务器实现,它作为一个工具,允许用户通过文本命令或自然语言指令,以标准化的方式控制 Spotify 音乐播放器。该工具集成了 Spotify API,并通过 MCP 协议与客户端通信,从而实现远程控制 Spotify 的各项功能。
主要功能点
- 获取用户歌单: 列出 Spotify 用户账号下的所有歌单。
- 音乐播放控制: 实现播放、暂停、下一曲、上一曲等基本播放控制功能。
- 音乐搜索: 根据关键词搜索 Spotify 曲库中的歌曲、艺术家、专辑和歌单。
- 播放状态查询: 获取当前播放状态、当前播放歌曲等信息。
- 音乐推荐: 基于用户喜好或指定种子生成音乐推荐列表。
- 队列管理: 查看播放队列、添加歌曲到队列。
- 歌单管理: 添加歌曲到指定歌单。
- 艺术家信息: 获取艺术家热门歌曲。
- 播放模式设置: 设置单曲循环、列表循环或关闭循环。
安装步骤
- 克隆仓库: 首先,将 GitHub 仓库克隆到本地:
git clone https://github.com/ashwanth1109/mcp-spotify cd mcp-spotify - 配置 Spotify API 凭据:
- 在 Spotify 开发者仪表板 (https://developer.spotify.com/dashboard/applications) 创建一个新的应用,并获取 'Client ID'、'Client Secret' 和 'Redirect URI'。'Redirect URI' 可以设置为 'http://localhost'。
- 在仓库根目录下创建 '.env' 文件,并复制 '.env.example' 中的内容,然后将获取到的凭据填入 '.env' 文件中。
- 安装依赖: 确保已安装 'uv',然后在仓库目录下使用 'uv' 安装项目依赖(如果项目有 'requirements.txt' 或 'pyproject.toml'):
# 如果有 requirements.txt # uv pip install -r requirements.txt # 或者,根据 README.md,可能不需要额外安装依赖,FastMCP 库可能已包含在 Cursor 等 MCP 客户端中 - 在 MCP 客户端中添加服务器: 打开你的 MCP 客户端(例如 Cursor 编辑器),在 MCP 服务器设置中添加一个新的服务器。
服务器配置
在 MCP 客户端中添加服务器时,需要配置以下信息。以下是针对本仓库的配置示例(JSON 格式):
{ "serverName": "Spotify", "command": "uv", "args": [ "--directory", "<path-to-repository/mcp-spotify>", "run", "main.py" ] }
- 'serverName': 为你的 Spotify MCP 服务器自定义一个名称,例如 "Spotify"。
- 'command': 指定启动服务器的命令。这里使用 'uv' 命令来运行 Python 脚本。你需要确保 'uv' 命令在你的系统路径中可用。
- 'args': 一个字符串数组,包含传递给 'command' 的参数。
- '--directory': 指定工作目录为你的 'mcp-spotify' 仓库的本地路径。请将 '<path-to-repository/mcp-spotify>' 替换为实际的仓库路径。
- 'run main.py': 告诉 'uv' 运行仓库目录下的 'main.py' 文件。
注意: 请将 '<path-to-repository/mcp-spotify>' 替换为你实际克隆的仓库在本地文件系统中的绝对路径。
基本使用方法
配置完成后,在 MCP 客户端中启用 "Spotify" 服务器。你就可以通过客户端提供的界面(例如 Cursor 编辑器的 Agent 模式)使用自然语言或命令来控制 Spotify 了。
例如,你可以尝试以下指令:
- "Show me my playlists" (显示我的歌单)
- "Play my 'Chill Vibes' playlist" (播放我的 'Chill Vibes' 歌单)
- "Pause song" (暂停歌曲)
- "What song is this?" (这是什么歌?)
- "Search for Coldplay" (搜索 Coldplay)
- "Play song 'Fix You'" (播放歌曲 'Fix You')
具体支持的指令可以参考仓库 'README.md' 文件中的 "Trying it out" 和 "Features" 部分。
信息
分类
桌面与硬件