A slick, docker-ready Model Context Protocol (MCP) server powered by Spotipy—transforming Spotify playback, search, and playlist actions into handy MCP tools.
接入配置
选择客户端,复制配置,再按项目文档补齐环境变量。
claude mcp add spotify-server-docker --env SPOTIPY_CLIENT_ID='<SPOTIPY_CLIENT_ID>' --env SPOTIPY_CLIENT_SECRET='<SPOTIPY_CLIENT_SECRET>' --env SPOTIPY_REDIRECT_URI='<SPOTIPY_REDIRECT_URI>' -- docker run --rm -i -v '${HOME}/.cache/spotify-mcp:/app/.cache' spotify-mcp:latest~/.codex/config.toml
[mcp_servers.spotify-server-docker]
command = "docker"
args = ["run", "--rm", "-i", "-v", "${HOME}/.cache/spotify-mcp:/app/.cache", "spotify-mcp:latest"]
env = { SPOTIPY_CLIENT_ID = "<SPOTIPY_CLIENT_ID>", SPOTIPY_CLIENT_SECRET = "<SPOTIPY_CLIENT_SECRET>", SPOTIPY_REDIRECT_URI = "<SPOTIPY_REDIRECT_URI>" }
# codex mcp add spotify-server-docker --env SPOTIPY_CLIENT_ID='<SPOTIPY_CLIENT_ID>' --env SPOTIPY_CLIENT_SECRET='<SPOTIPY_CLIENT_SECRET>' --env SPOTIPY_REDIRECT_URI='<SPOTIPY_REDIRECT_URI>' -- docker run --rm -i -v '${HOME}/.cache/spotify-mcp:/app/.cache' spotify-mcp:latest~/.cursor/mcp.json
{
"mcpServers": {
"spotify-server-docker": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-v",
"${HOME}/.cache/spotify-mcp:/app/.cache",
"spotify-mcp:latest"
],
"env": {
"SPOTIPY_CLIENT_ID": "<SPOTIPY_CLIENT_ID>",
"SPOTIPY_CLIENT_SECRET": "<SPOTIPY_CLIENT_SECRET>",
"SPOTIPY_REDIRECT_URI": "<SPOTIPY_REDIRECT_URI>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"spotify-server-docker": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-v",
"${HOME}/.cache/spotify-mcp:/app/.cache",
"spotify-mcp:latest"
],
"env": {
"SPOTIPY_CLIENT_ID": "<SPOTIPY_CLIENT_ID>",
"SPOTIPY_CLIENT_SECRET": "<SPOTIPY_CLIENT_SECRET>",
"SPOTIPY_REDIRECT_URI": "<SPOTIPY_REDIRECT_URI>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"spotify-server-docker": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-v",
"${HOME}/.cache/spotify-mcp:/app/.cache",
"spotify-mcp:latest"
],
"env": {
"SPOTIPY_CLIENT_ID": "<SPOTIPY_CLIENT_ID>",
"SPOTIPY_CLIENT_SECRET": "<SPOTIPY_CLIENT_SECRET>",
"SPOTIPY_REDIRECT_URI": "<SPOTIPY_REDIRECT_URI>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"spotify-server-docker": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-v",
"${HOME}/.cache/spotify-mcp:/app/.cache",
"spotify-mcp:latest"
],
"env": {
"SPOTIPY_CLIENT_ID": "<SPOTIPY_CLIENT_ID>",
"SPOTIPY_CLIENT_SECRET": "<SPOTIPY_CLIENT_SECRET>",
"SPOTIPY_REDIRECT_URI": "<SPOTIPY_REDIRECT_URI>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"spotify-server-docker": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-v",
"${HOME}/.cache/spotify-mcp:/app/.cache",
"spotify-mcp:latest"
],
"env": {
"SPOTIPY_CLIENT_ID": "<SPOTIPY_CLIENT_ID>",
"SPOTIPY_CLIENT_SECRET": "<SPOTIPY_CLIENT_SECRET>",
"SPOTIPY_REDIRECT_URI": "<SPOTIPY_REDIRECT_URI>"
}
}
}
}需要的环境变量
SPOTIPY_CLIENT_IDSPOTIPY_CLIENT_SECRETSPOTIPY_REDIRECT_URI
把占位值换成你自己的密钥;不要把密钥提交到代码仓库。