关于 Spotify MCP Server
Spotify MCP Server 是通过 Spotify API 控制播放的 Python MCP 服务,面向需要播放控制功能的 MCP 客户端。它支持选择曲目、跳过、随机播放和循环播放。
主要功能
- 01播放和暂停
- 02跳到下一首曲目
- 03随机播放和循环播放列表
- 04按名称播放专辑
- 05按名称播放曲目
适用场景
- 01从 MCP 客户端控制 Spotify 播放
- 02播放指定名称的专辑或曲目
MCP 相关
它将 Spotify 播放控制功能作为工具提供给 MCP 客户端。服务通过 stdio 运行,并使用配置在 .env 文件中的 Spotify 凭据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Spotify MCP 服务
Spotify MCP 服务 是一个 Model Context Protocol(MCP)服务,旨在与 Spotify API 交互。它提供了控制 Spotify 播放的工具,例如播放、暂停、跳过曲目、随机播放播放列表等。此服务使用 mcp 框架和 spotipy 库构建。
功能
- 播放、暂停和跳过曲目。
- 随机播放和循环播放播放列表。
- 按名称播放指定专辑或曲目。
- 内置工具,可无缝控制 Spotify 播放。
前置条件
设置服务之前,请确保具备以下条件:
- Python 3.12 或更高版本。
- 拥有已注册应用的 Spotify 开发者账户。你需要:
SPOTIFY_CLIENT_IDSPOTIFY_CLIENT_SECRET
- 包含 Spotify 凭据的
.env文件。 - 一个 Spotify Premium 账户
安装
-
克隆仓库:
git clone <repository-url> cd spotify-mcp-server -
创建并激活虚拟环境:
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate -
安装用于依赖项管理的
uv:pip install uvWindows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" -
使用
uv根据 pyproject.toml 文件安装依赖项:uv sync -
在项目根目录创建
.env文件,并添加 Spotify 凭据:SPOTIFY_CLIENT_ID=your_client_id SPOTIFY_CLIENT_SECRET=your_client_secret
使用方法
-
启动 MCP 服务:
python server.py -
使用提供的工具控制 Spotify 播放。例如:
play():开始播放当前曲目。pause():暂停当前曲目。next_track():跳到下一首曲目。play_album("album_name"):按名称播放指定专辑。play_track("track_name"):按名称播放指定曲目。
-
将 MCP 工具添加到 MCP 客户端。例如,如果你使用 Claude: 在项目根目录添加以下内容
uv mcp install server.py
Example Using Calude Desktop
Here is the JSON file
{
"mcpServers": {
"spotify-mcp-server": {
"command": "~path-to-project\\spotify-mcp-server\\.venv\\Scripts\\python.exe",
"args": [
"~path-to-project\\spotify-mcp-server\\server.py"
],
"transport": "stdio",
"env":{
"SPOTIFY_CLIENT_ID": "############",
"SPOTIFY_CLIENT_SECRET": "############",
"TRANSPORT": "stdio"
}
}
}
}
Troubleshooting
-
Spotify Authentication Failed: Ensure your
SPOTIFY_CLIENT_IDandSPOTIFY_CLIENT_SECRETare correctly set in the.envfile. -
Server Not Starting: Verify that the
__name__check inserver.pyis correctly set to__server__:if __name__ == "__server__": mcp.run()
贡献
欢迎贡献!你可以提交问题或拉取请求。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。