mcpField
S
Spotify Playlist Curator MCP Server

Spotify Playlist Curator MCP Server

本地服务
github.com/lechiffre1媒体与设计181 周前更新

关于 Spotify Playlist Curator MCP Server

面向 Spotify 用户的 MCP 服务,可分析播放列表的音频特征,并借助 Claude 推荐歌曲,也支持搜索和编辑播放列表。

主要功能

  1. 01分析播放列表音频特征
  2. 02汇总情绪、能量与节奏
  3. 03获取 Claude 歌曲推荐
  4. 04搜索 Spotify 曲目
  5. 05添加曲目并创建播放列表

适用场景

  1. 01了解播放列表的情绪与节奏
  2. 02寻找符合现有播放列表的歌曲
  3. 03将推荐曲目加入播放列表
  4. 04创建新的 Spotify 播放列表

MCP 相关

向 MCP 客户端提供播放列表查询与分析、Claude 推荐、曲目搜索及播放列表创建和编辑工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Spotify 播放列表策展 MCP 服务

一个 MCP 服务,可通过分析现有曲目,并使用 Claude AI 根据心情、氛围、BPM 和其他音乐属性推荐歌曲,帮助你策展 Spotify 播放列表。

功能

  • 连接你的 Spotify 账户并访问播放列表
  • 分析播放列表中曲目的音频特征
  • 生成播放列表心情、能量、节奏和其他特征的摘要
  • 根据播放列表分析结果获取 Claude AI 推荐的歌曲
  • 在 Spotify 上搜索曲目
  • 将推荐曲目添加到播放列表
  • 创建新的播放列表

设置

前提条件
  • Node.js(v14 或更高版本)
  • Spotify 开发者账户和已注册的应用
  • 通过 MCP(Machine Conversation Protocol)访问 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.example 创建 .env 文件:

    cp .env.example .env
    
  4. 设置你的 Spotify 开发者凭据:

    • 前往 Spotify 开发者控制台
    • 创建一个新应用
    • 将 http://localhost:3000/callback 添加为 Redirect URI
    • 将 Client ID 和 Client Secret 复制到 .env 文件中
  5. 启动服务:

    npm start
    

使用方法

身份验证

启动服务后,你需要先通过 Spotify 进行身份验证:

  1. 在浏览器中访问 http://localhost:3000/login
  2. 使用你的 Spotify 账户登录并授权该应用
  3. 身份验证成功后,你可以关闭浏览器窗口并返回 MCP 客户端
MCP 方法

以下 MCP 方法可用:

getPlaylists

返回你的 Spotify 播放列表。

const response = await client.getPlaylists();
getPlaylistDetails

获取特定播放列表的详细信息,包括曲目分析。

const response = await client.getPlaylistDetails({
  playlistId: "your_playlist_id"
});
getClaudeRecommendations

根据播放列表分析结果获取 Claude AI 推荐的歌曲。

const response = await client.getClaudeRecommendations({
  playlistId: "your_playlist_id",
  count: 10 // Optional, defaults to 10
});
addRecommendationsToPlaylist

将推荐曲目添加到播放列表。

const response = await client.addRecommendationsToPlaylist({
  playlistId: "your_playlist_id",
  trackUris: ["spotify:track:id1", "spotify:track:id2", ...]
});
searchTracks

在 Spotify 上搜索曲目。

const response = await client.searchTracks({
  query: "search query",
  limit: 10 // Optional, defaults to 10
});
createPlaylist

创建新的 Spotify 播放列表。

const response = await client.createPlaylist({
  name: "My New Playlist",
  description: "Created by Spotify Playlist Curator", // Optional
  isPublic: false // Optional, defaults to false
});

客户端使用示例

import { createClient } from '@anthropic-ai/mcp-client';

async function main() {
  // Create MCP client
  const client = createClient({
    serverUrl: 'http://localhost:3000',
    anthropicApiKey: 'your_anthropic_api_key' // Required for Claude integration
  });

  // 1. Get user playlists
  const playlists = await client.getPlaylists();
  console.log('Your playlists:', playlists);

  // 2. Select a playlist and get its details
  const playlistId = playlists.playlists[0].id;
  const playlistDetails = await client.getPlaylistDetails({ playlistId });
  console.log('Playlist summary:', playlistDetails.summary);

  // 3. Get recommendations from Claude
  const recommendations = await client.getClaudeRecommendations({ playlistId });
  console.log('Claude recommendations:', recommendations.claudeRecommendations);

  // 4. Add recommendations to the playlist
  const trackUris = recommendations.claudeRecommendations
    .filter(track => track.matched)
    .map(track => track.uri);
  
  if (trackUris.length > 0) {
    const result = await client.addRecommendationsToPlaylist({ playlistId, trackUris });
    console.log('Added recommendations:', result);
  }
}

main().catch(console.error);

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。