Spotify MCP

Spotify MCP

一个 FastMCP 工具,它允许用户通过 Cursor Composer 中的自然语言命令来控制 Spotify,从而管理播放、搜索内容以及与播放列表互动。

娱乐与媒体
语音处理
操作系统自动化
访问服务器

Tools

get_my_playlists

FastMCP tool to get user playlists using SpotifyClient.

start_playback

FastMCP tool to resume playback on the currently active Spotify device.

pause_playback

FastMCP tool to pause playback on spotify.

search_spotify

Search Spotify for tracks, artists, albums, or playlists. Args: query: Search term type: One of 'track', 'artist', 'album', 'playlist' limit: Max number of results

next_track

Skip to next track in queue

previous_track

Go back to previous track

seek_position

Seek to position in current track Args: position_ms: Position in milliseconds

get_playback_state

Get current playback information

get_recommendations

Get Spotify recommendations based on seeds Args: seed_artists: Comma-separated artist IDs seed_tracks: Comma-separated track IDs seed_genres: Comma-separated genres limit: Number of recommendations

get_item_info

Get detailed information about a Spotify item Args: item_id: Spotify ID type: One of 'track', 'album', 'artist', 'playlist'

start_playback_track

Start playback of a specific track on Spotify Args: track_uri: Spotify URI of the track (e.g. 'spotify:track:1234...') device_id: Optional device to play on

get_top_artists

Get user's top artists from Spotify Args: limit: Number of artists (max 50) time_range: One of 'short_term' (4 weeks), 'medium_term' (6 months), 'long_term' (all time)

get_queue

Get the current queue of tracks

add_to_queue

Add a track to the queue Args: track_id: Spotify track ID to add

skip_tracks

Skip multiple tracks at once Args: num_skips: Number of tracks to skip (default: 1)

set_repeat_mode

Set repeat mode for playback Args: state: One of 'track', 'context', or 'off'

get_current_track

Get information about the currently playing track

start_playlist_playback

Start playback of a specific playlist Args: playlist_id: Spotify playlist ID device_id: Optional device to play on

get_artist_top_tracks

Get top tracks for an artist Args: artist_id: Spotify artist ID

add_to_playlist

Add tracks to a playlist Args: playlist_id: Spotify playlist ID track_ids: List of track IDs to add

reorder_queue

Reorder tracks in queue by moving a track to a different position Args: range_start: Position of track to move insert_before: Position to insert the track

README

Spotify MCP

一个用于 Spotify 的 FastMCP 工具。

演示

链接:https://drive.google.com/file/d/1jGGQBzeXSKSJijeUwFZLdvrKPmPuogGd/

前提条件

安装

  • 克隆此仓库
  • 在仓库根目录创建一个 .env 文件,并添加你的 Spotify API 凭据(从 .env.example 复制)
  • 你可以通过访问 Spotify 开发者仪表板 并创建一个应用来获取你的凭据。
  • 进入 Cursor 设置 > 功能 > MCP 服务器 > + 添加新的 MCP 服务器
  • 名称:Spotify,类型:command,命令:uv --directory <path-to-repository/mcp-spotify> run main.py

你应该能看到该工具现在已安装。 installed_mcp

尝试一下

  • 在“代理”模式下打开 Composer,瞧!你可以让 Cursor 控制你的 Spotify 播放器。(确保你已在活动的设备上打开 Spotify)

功能

以下是一个示例对话,展示了如何通过 Cursor Composer 与 Spotify MCP 工具进行交互:

  1. 用户: "Show me my playlists." (显示我的播放列表。) 响应: "Here are your playlists: Chill Vibes, Workout Mix, Top Hits." (这是你的播放列表:Chill Vibes、Workout Mix、Top Hits。)

  2. 用户: "Play my 'Chill Vibes' playlist." (播放我的 'Chill Vibes' 播放列表。)

  3. 用户: "Pause song." (暂停歌曲。) 响应: "Playback paused." (播放已暂停。)

  4. 用户: "Resume song." (恢复歌曲。) 响应: "Resuming playback..." (正在恢复播放...)

  5. 用户: "What song is this?" (这是什么歌?) 响应: "You're listening to 'Faded' by Alan Walker." (你正在听 Alan Walker 的 'Faded'。)

  6. 用户: "Tell me about this artist and show me some popular tracks." (告诉我关于这位艺术家的信息,并展示一些热门曲目。) 响应: "Artist Info: Alan Walker." (艺术家信息:Alan Walker。)

  7. 用户: "Show me my top artists from the last 6 months." (显示我过去 6 个月中最常播放的艺术家。) 响应: "Here are your most played artists..." (这是你最常播放的艺术家...)

  8. 用户: "Search for Coldplay." (搜索 Coldplay。) 响应: "Found artist: Coldplay. Here are their top tracks..." (找到艺术家:Coldplay。这是他们的热门曲目...)

  9. 用户: "Play song 'Fix You'." (播放歌曲 'Fix You'。) 响应: "Starting playback for 'Fix You'..." (正在开始播放 'Fix You'...)

  10. 用户: "Show me my queue." (显示我的队列。) 响应: "Current queue: Track 1, Track 2, Track 3..." (当前队列:曲目 1、曲目 2、曲目 3...)

  11. 用户: "Add 'Paradise' to my queue." (将 'Paradise' 添加到我的队列。) 响应: "Added 'Paradise' by Coldplay to your queue." (已将 Coldplay 的 'Paradise' 添加到你的队列。)

  12. 用户: "Move 'Paradise' up in the queue." (将 'Paradise' 在队列中上移。)

  13. 用户: "Set it on repeat." (设置为重复播放。)

  14. 用户: "I like this song. Recommend some similar tracks." (我喜欢这首歌。推荐一些类似的曲目。) 响应: "Here are some recommendations based on this track..." (这是基于此曲目的一些推荐...)

  15. 用户: "Add this track to my 'Chill Vibes' playlist." (将此曲目添加到我的 'Chill Vibes' 播放列表。)

其他可用功能:

  • 搜索曲目中的特定位置
  • 查看详细的播放状态
  • 一次跳过多个曲目

如果你希望支持更多功能,请随时提出 issue!

推荐服务器

Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。

精选
本地
JavaScript
YouTube Transcript MCP Server

YouTube Transcript MCP Server

这个服务器用于获取指定 YouTube 视频 URL 的字幕,从而可以与 Goose CLI 或 Goose Desktop 集成,进行字幕提取和处理。

精选
Python
The Verge News MCP Server

The Verge News MCP Server

提供从The Verge的RSS feed获取和搜索新闻的工具,允许用户获取今日新闻、检索过去一周的随机文章,以及在最近的Verge内容中搜索特定关键词。

精选
TypeScript
MCP Spotify Server

MCP Spotify Server

通过 Spotify Web API 实现与 Spotify 音乐目录的交互,支持搜索、艺术家信息检索、播放列表管理和自动令牌处理。

精选
TypeScript
mcp-server-youtube-transcript

mcp-server-youtube-transcript

一个模型上下文协议服务器,可以从 YouTube 视频中检索文本记录。该服务器通过一个简单的界面直接访问视频的字幕和副标题。

精选
JavaScript
Beamlit MCP Server

Beamlit MCP Server

一个 MCP 服务器实现,它支持 Beamlit CLI 和 AI 模型之间的无缝集成,并使用模型上下文协议标准。

官方
TypeScript
ThingsPanel MCP

ThingsPanel MCP

一个集成服务器,将人工智能模型与 ThingsPanel 物联网平台连接起来,使人工智能助手能够通过自然语言与物联网设备交互,以进行设备控制、数据检索和管理操作。

官方
Python
systemd-coredump MCP Server

systemd-coredump MCP Server

启用支持 MCP 的应用程序,通过与 systemd-coredump 功能集成,来访问、管理和分析系统核心转储。

本地
JavaScript
Terminal Controller for MCP

Terminal Controller for MCP

一个 MCP 服务器,它通过一个标准化的接口,使 LLM 能够安全地执行终端命令、进行目录导航和进行文件系统操作。

本地
Python