Spotify Playlist Curator MCP Server

Spotify Playlist Curator MCP Server

site icon
2025.04.10 0
JavaScript音乐播放列表管理AI 音乐推荐娱乐功能
Spotify Playlist Curator MCP Server 是一个帮助用户管理和优化 Spotify 播放列表的服务。它通过分析现有曲目的音频特征,并利用 Claude AI 根据心情、氛围、BPM 等音乐属性推荐歌曲,从而帮助用户创建和优化播放列表。
View on GitHub

Overview

基本能力

产品定位

Spotify Playlist Curator MCP Server 是一个专注于音乐播放列表管理的服务,旨在通过 AI 技术提升用户的音乐体验。

核心功能

  • 连接到 Spotify 账户并访问用户的播放列表
  • 分析播放列表中曲目的音频特征
  • 生成播放列表的情绪、能量、节奏等特征的摘要
  • 通过 Claude AI 基于播放列表分析推荐歌曲
  • 在 Spotify 上搜索曲目
  • 将推荐的曲目添加到播放列表中
  • 创建新的播放列表

适用场景

  • 用户希望优化现有播放列表的音乐风格
  • 用户需要根据特定心情或活动创建新的播放列表
  • 用户想要发现与现有播放列表风格相似的新歌曲

工具列表

  • getPlaylists: 获取用户的 Spotify 播放列表
  • getPlaylistDetails: 获取特定播放列表的详细信息,包括曲目分析
  • getClaudeRecommendations: 基于播放列表分析获取 Claude AI 的歌曲推荐
  • addRecommendationsToPlaylist: 将推荐的曲目添加到播放列表中
  • searchTracks: 在 Spotify 上搜索曲目
  • createPlaylist: 创建新的 Spotify 播放列表

常见问题解答

  • 如何获取 Spotify 开发者凭证? 访问 Spotify Developer Dashboard 创建新应用并获取 Client ID 和 Client Secret。
  • 如何认证 Spotify 账户? 启动服务后访问 http://localhost:3000/login 并使用 Spotify 账户登录授权。

使用教程

使用依赖

  • Node.js (v14 或更高版本)
  • Spotify 开发者账户和注册应用
  • 通过 MCP 访问 Claude

安装教程

  1. 克隆仓库: git clone https://github.com/lechiffre1/Spotify-Playlist-Curator-MCP-Server.git cd Spotify-Playlist-Curator-MCP-Server

  2. 安装依赖: npm install

  3. 创建 .env 文件: cp .env.example .env

  4. 设置 Spotify 开发者凭证:

  5. 访问 Spotify Developer Dashboard
  6. 创建新应用
  7. 添加 http://localhost:3000/callback 作为重定向 URI
  8. 将 Client ID 和 Client Secret 复制到 .env 文件

  9. 启动服务: npm start

调试方式

  1. 认证 Spotify 账户:
  2. 访问 http://localhost:3000/login
  3. 使用 Spotify 账户登录并授权应用
  4. 认证成功后关闭浏览器窗口并返回 MCP 客户端

  5. 使用 MCP 方法:

  6. 获取播放列表:await client.getPlaylists();
  7. 获取播放列表详情:await client.getPlaylistDetails({ playlistId: "your_playlist_id" });
  8. 获取 Claude 推荐:await client.getClaudeRecommendations({ playlistId: "your_playlist_id", count: 10 });
  9. 添加推荐到播放列表:await client.addRecommendationsToPlaylist({ playlistId: "your_playlist_id", trackUris: ["spotify:track:id1", "spotify:track:id2"] });
  10. 搜索曲目:await client.searchTracks({ query: "search query", limit: 10 });
  11. 创建播放列表:await client.createPlaylist({ name: "My New Playlist", description: "Created by Spotify Playlist Curator", isPublic: false });

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。