项目简介
这是一个基于 Model Context Protocol (MCP) 构建的服务器端应用,旨在通过标准化的方式,使大型语言模型 (LLM) 能够与 Spotify API 交互,控制音乐播放。
主要功能点
- 控制播放: 开始播放、暂停、切换下一曲或上一曲。
- 播放模式: 打开或关闭随机播放(Shuffle),打开或关闭重复播放(Repeat)。
- 内容播放: 根据专辑或歌曲名称搜索并在 Spotify 中播放指定内容。
安装步骤
- 克隆仓库:
将仓库代码克隆到本地。
git clone https://github.com/254binaryninja/spotify-mcp.git cd spotify-mcp - 创建并激活虚拟环境:
建议使用虚拟环境管理项目依赖。
python -m venv .venv source .venv/bin/activate # Windows 用户请使用: .venv\Scripts\activate - 安装 uv (可选但推荐):
使用 uv 加速依赖安装。
pip install uv - 安装依赖:
安装项目所需的所有库。
uv install # 或者 pip install -r requirements.txt (如果 uv 不可用) - 配置 Spotify 凭据:
在项目根目录下创建 '.env' 文件,并填入您的 Spotify 开发者账号凭据。您需要一个 Spotify 开发者账号以及一个注册的应用来获取 Client ID 和 Client Secret。同时您需要一个 Spotify Premium 账号来使用播放控制功能。
SPOTIFY_CLIENT_ID=您的Client ID SPOTIFY_CLIENT_SECRET=您的Client Secret
服务器配置
此服务器作为 MCP 客户端(如集成 MCP 能力的 LLM 应用)的后端运行。MCP 客户端需要知道如何启动并连接到此服务器进程。通常,这需要在 MCP 客户端的配置中指定服务器的启动命令及其参数。
根据本项目结构,服务器的启动命令是 'python',启动参数是 'server.py' 文件路径。MCP 客户端配置中可能需要以下信息:
- 'server_name': 用于标识此服务器的名称,例如 '"spotify-mcp-server"'。
- 'command': 启动服务器进程的主命令,例如 '"python"'。
- 'args': 传递给命令的参数列表,例如 '["server.py"]'。
- 'transport': 通信协议,本项目通常默认使用 Stdio (标准输入输出) 进行通信。
请查阅您的 MCP 客户端文档,以了解如何添加一个使用 'python server.py' 命令启动的 MCP 服务器配置。
基本使用方法
- 启动 MCP 服务器:
在项目根目录下,运行以下命令启动服务器:
服务器启动后会监听 MCP 客户端的连接请求。在首次启动时,您可能需要根据控制台提示进行 Spotify 账号授权。python server.py - 通过 MCP 客户端调用工具: 一旦 MCP 客户端连接并识别到此服务器,LLM 就可以通过 MCP 协议调用服务器暴露的工具(如 'play', 'pause', 'play_album' 等)。例如,LLM 可以请求执行 'play_album' 工具,并提供 'album_name' 参数来播放指定的 Spotify 专辑。
信息
分类
网页与API