Token导航 LogoToken导航TokenDH.com
REMOTE MCP SERVERS JACK logo
音视频stdio官方级别未说明来源级核验

REMOTE MCP SERVERS JACK

MCP Server

一个基于MCP协议的Spotify服务端实现,提供播放控制、搜索、队列管理、设备控制等功能,可部署在Google Cloud Run上。

工具数

24

提示词数

0

GitHub Stars

0

资源数

0
云服务PythonClaude自动化控制Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

jck411

提供方

jck411

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python scripts/get_spotify_token.py

详细介绍

远程MCP服务器

一组可部署到Google Cloud Run的MCP(模型上下文协议)服务器,可供任何兼容MCP的客户端(Claude、ChatGPT等)使用。

当前服务器

Spotify MCP服务器

直播: https://spotify-mcp-421545226088.us-central1.run.app/mcp

Spotify的播放控制、搜索、队列管理、库访问和设备控制。

文档

📖 MCP服务器开发指南 -综合指南涵盖:

  • 项目结构和配置
  • FastMCP设置(无状态_http,json_response)
  • 身份验证模式(OAuth、API密钥)
  • API客户端模式
  • 云运行部署
  • 秘密管理
  • 测试策略
  • 常见陷阱和解决方案

Spotify MCP服务器

特性

  • 播放控制:播放、暂停、跳过、音量、洗牌、重复
  • 搜索:查找曲目、专辑、艺术家、播放列表
  • 队列管理:查看并添加到队列
  • 图书馆:查看最近播放的播放列表,如曲目
  • 设备控制:列出设备,传输播放

快速开始

1.设置Spotify应用程序

  1. 首选https://developer.spotify.com/dashboard
  2. 创建新应用程序
  3. 注意你的 客户端ID客户端密钥
  4. 添加重定向URI: http://127.0.0.1:8888/callback (使用127.0.0.1,而不是本地主机)

2.获取刷新令牌

# Set credentials
export SPOTIFY_CLIENT_ID="your_client_id"
export SPOTIFY_CLIENT_SECRET="your_client_secret"

# Run OAuth flow
python scripts/get_spotify_token.py

3.地方发展

# Create venv
python -m venv .venv
source .venv/bin/activate

# Install
uv pip install -e ".[dev]"

# Set env vars (or use .env file)
export SPOTIFY_CLIENT_ID="your_client_id"
export SPOTIFY_CLIENT_SECRET="your_client_secret"
export SPOTIFY_REFRESH_TOKEN="your_refresh_token"

# Run (stdio mode for local clients like Claude Desktop)
python -m spotify_mcp.server

# Run (HTTP mode for testing)
MCP_TRANSPORT=http PORT=8080 python -m spotify_mcp.server

4.部署到云端运行

# First time: Create secrets in Google Secret Manager
echo -n "your_client_id" | gcloud secrets create SPOTIFY_CLIENT_ID --data-file=-
echo -n "your_client_secret" | gcloud secrets create SPOTIFY_CLIENT_SECRET --data-file=-
echo -n "your_refresh_token" | gcloud secrets create SPOTIFY_REFRESH_TOKEN --data-file=-

# Deploy
gcloud run deploy spotify-mcp \
    --source . \
    --region us-central1 \
    --allow-unauthenticated \
    --set-secrets="SPOTIFY_CLIENT_ID=SPOTIFY_CLIENT_ID:latest,SPOTIFY_CLIENT_SECRET=SPOTIFY_CLIENT_SECRET:latest,SPOTIFY_REFRESH_TOKEN=SPOTIFY_REFRESH_TOKEN:latest" \
    --memory 512Mi \
    --timeout 300

5.测试部署

# Initialize connection
curl -X POST https://YOUR-SERVICE-URL/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc": "2.0", "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "test", "version": "1.0"}}, "id": 1}'

# List tools
curl -X POST https://YOUR-SERVICE-URL/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc": "2.0", "method": "tools/list", "id": 2}'

# Call a tool
curl -X POST https://YOUR-SERVICE-URL/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "params": {"name": "spotify_get_playback", "arguments": {}}, "id": 3}'

6.连接MCP客户端

对于基于HTTP的MCP客户端(如远程聊天机器人):

{
  "mcpServers": {
    "spotify": {
      "transport": "streamable-http",
      "url": "https://spotify-mcp-421545226088.us-central1.run.app/mcp"
    }
  }
}

对于基于stdio的MCP客户端(如Claude Desktop):

{
  "mcpServers": {
    "spotify": {
      "command": "python",
      "args": ["-m", "spotify_mcp.server"],
      "env": {
        "SPOTIFY_CLIENT_ID": "your_client_id",
        "SPOTIFY_CLIENT_SECRET": "your_client_secret",
        "SPOTIFY_REFRESH_TOKEN": "your_refresh_token"
      }
    }
  }
}

可用工具

工具说明
spotify_get_playback获取当前播放状态
spotify_play按搜索查询或URI播放曲目
spotify_pause暂停播放
spotify_next跳到下一首曲目
spotify_previous跳至上一曲目
spotify_volume设置音量(0-100)
spotify_shuffle切换洗牌模式
spotify_repeat设置重复模式
spotify_seek寻求在轨道上定位
spotify_queue查看播放队列
spotify_queue_add将曲目添加到队列
spotify_devices列出可用设备
spotify_transfer将播放转移到设备
spotify_search搜索曲目/专辑/艺术家
spotify_my_playlists获取用户的播放列表
spotify_get_playlist_tracks从播放列表中获取曲目
spotify_create_playlist创建新的播放列表
spotify_delete_playlist删除/取消关注播放列表
spotify_add_tracks_to_playlist将曲目添加到播放列表
spotify_play_context播放播放列表/专辑/艺术家
spotify_recently_played获取最近播放的曲目
spotify_get_saved_tracks获得点赞/保存曲目
spotify_play_liked_songs播放您喜欢的歌曲
spotify_like_track将曲目保存到库

建筑

运输方式

模式用例端点
stdio本地客户端(Claude Desktop)不适用(stdin/stdout)
streamable-http远程客户端,云运行/mcp

配置

服务器使用 FastMCP 使用以下云部署设置:

mcp = FastMCP(
    "spotify",
    stateless_http=True,   # No session state (scalable)
    json_response=True,    # JSON responses (not SSE streams)
)

项目结构

├── pyproject.toml
├── Dockerfile
├── .env.example
├── docs/
│   └── MCP_SERVER_GUIDE.md    # Development & deployment guide
├── scripts/
│   └── get_spotify_token.py
└── src/spotify_mcp/
    ├── __init__.py
    ├── server.py              # FastMCP tools
    ├── auth.py                # OAuth token management
    └── client.py              # Spotify API wrapper

许可证

麻省理工学院

目录标签

目录标签

云服务PythonClaude自动化控制音乐流媒体混合部署API集成Spotify

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

24

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP