spotify-mcp-go
MCP server for Spotify. Connect your AI assistant to the Spotify Web API.
Quick start · Install · Setup · Connect your client · Ideas
______________________________________________________________________
这是什么?
将Spotify Web API作为工具公开的MCP服务器。它处理OAuth,因此您的MCP客户端(Claude Desktop、Claude Code、Cursor等)可以通过浏览器登录并开始进行Spotify API调用。
代码生成器读取Spotify的OpenAPI规范,并生成一个类型化的Go客户端和MCP工具定义。这在CI中每周运行一次,因此当Spotify添加或更改端点时,工具会自动更新。
快速启动
# 1. Install
brew install makesometh-ing/tap/spotify-mcp-go
# 2. Create a Spotify app at https://developer.spotify.com/dashboard
# Set the Redirect URI to http://127.0.0.1:8080/callback
# 3. Configure credentials
export SPOTIFY_CLIENT_ID=your_client_id
export SPOTIFY_CLIENT_SECRET=your_client_secret
# 4. Start the server
spotify-mcp-go
# 5. Connect your MCP client to http://127.0.0.1:8080/mcp
# OAuth login happens automatically in the browser on first connect.安装
自制(macOS)
brew install makesometh-ing/tap/spotify-mcp-go二进制下载
从以下网址获取您平台的最新版本 .
容器
docker pull ghcr.io/makesometh-ing/spotify-mcp-go:latest
docker run -p 8080:8080 --env-file .env ghcr.io/makesometh-ing/spotify-mcp-go:latest来源
go install github.com/makesometh-ing/spotify-mcp-go/cmd/server@latest设置
1.创建Spotify应用程序
- 首选 developer.spotify.com/dashboard
- 点击“创建应用”
- 设置 重定向URI 到
http://127.0.0.1:8080/callback - 复制您的 客户端ID 和 客户端密钥
2.配置服务器
cp .env.example .env
# Edit .env with your Spotify credentialsSPOTIFY_CLIENT_ID=your_client_id
SPOTIFY_CLIENT_SECRET=your_client_secret3.启动服务器
spotify-mcp-go配置
服务器按优先级顺序从三个源读取配置:
- 命令行标志 (最高)
- 环境变量
.env文件 在工作目录中- 默认值 (最低)
命令行标志
| 标志 | 默认值 | 描述 |
|---|---|---|
--spotify-client-id | (必填) | Spotify应用程序客户端ID |
--spotify-client-secret | (必填) | Spotify应用程序客户端机密 |
--port | 8080 | HTTP服务器端口 |
--token-db | ~/.config/spotify-mcp-go/auth/tokens.db | SQLite令牌存储路径 |
--base-url | `http://127.0.0.1: | |
| ` | 公共基础URL(用于反向代理/隧道/云托管) | |
--debug | false | 启用stderr的调试日志记录 |
环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
SPOTIFY_CLIENT_ID | 是 | Spotify应用程序客户端ID | |
SPOTIFY_CLIENT_SECRET | 是 | Spotify应用程序客户端机密 | |
SPOTIFY_MCP_PORT | 没有 | 8080 | HTTP服务器端口 |
SPOTIFY_MCP_TOKEN_DB | 没有 | ~/.config/spotify-mcp-go/auth/tokens.db | SQLite令牌存储路径 |
SPOTIFY_MCP_BASE_URL | 没有 | `http://127.0.0.1: | |
| ` | 公共基础URL(用于反向代理/隧道/云托管) |
公共托管
要公开托管服务器(在反向代理、隧道后面或云实例上),请设置 SPOTIFY_MCP_BASE_URL 到公共URL:
export SPOTIFY_MCP_BASE_URL=https://spotify-mcp.example.com
spotify-mcp-go服务器将在所有OAuth元数据、回调重定向和启动输出中使用此URL。注册 https://spotify-mcp.example.com/callback 作为Spotify开发者仪表板中的重定向URI。
客户端配置
将您的客户指向 http://127.0.0.1:8080/mcpOAuth在首次连接时在浏览器中自动发生。
克劳德桌面
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"spotify": {
"url": "http://127.0.0.1:8080/mcp"
}
}
}克劳德代码
claude mcp add spotify --transport http http://127.0.0.1:8080/mcp光标
设置>MCP服务器>添加服务器。姓名: spotify,网址: http://127.0.0.1:8080/mcp.
帆板运动
添加到MCP配置中:
{
"mcpServers": {
"spotify": {
"serverUrl": "http://127.0.0.1:8080/mcp"
}
}
}光线投射
打开命令面板并运行“安装服务器”。姓名: spotify,网址: http://127.0.0.1:8080/mcp.
Codex CLI
codex mcp add spotify http://127.0.0.1:8080/mcp在MCP客户端上使用Docker
通过Docker运行服务器时,MCP端点是相同的(http://127.0.0.1:8080/mcp)只要绘制港口地图:
docker run -p 8080:8080 \
-e SPOTIFY_CLIENT_ID=your_client_id \
-e SPOTIFY_CLIENT_SECRET=your_client_secret \
ghcr.io/makesometh-ing/spotify-mcp-go:latest或者用a .env 文件:
docker run -p 8080:8080 --env-file .env ghcr.io/makesometh-ing/spotify-mcp-go:latest注: 如果没有卷装载,令牌将是短暂的,并在容器停止时丢失。装载令牌数据库目录以在重新启动时持久化令牌:
docker run -p 8080:8080 --env-file .env \
-v ~/.config/spotify-mcp-go/auth:/home/nonroot/.config/spotify-mcp-go/auth \
ghcr.io/makesometh-ing/spotify-mcp-go:latest或使用随附的 docker-compose.yml:
docker compose up其他客户
任何支持流式HTTP传输的MCP客户端都可以工作。服务器通过RFC 8414/RFC 9728发现通告身份验证端点。
使用理念
连接后,您可以问一些问题:
- “现在正在播放什么?将其添加到我的收藏夹。”
- “使用我库中的器乐曲目创建一个名为“焦点模式”的播放列表。”
- “搜索本月发行的爵士乐专辑。”
- “哪些艺术家出现在我的3个以上的播放列表中?”
- “合并我的跑步和健身房播放列表,跳过重复的播放列表。”
- “我追随的艺术家推出了哪些新作品?”
- “比较我早上和晚上播放列表的能量。”
- “将音量设置为30%并打开随机播放。”
版本控制
CalVer: YYYY.MM.PATCH (例如。, 2026.04.0).
发展
make build # Compile binaries
make test # Run tests with race detector
make lint # Run golangci-lint v2
make codegen # Regenerate from Spotify OpenAPI spec
make run # Build and start the server
make docker # Build container with ko
make clean # Remove build artifacts许可证
麻省理工学院
