Spotify Playlist Curator MCP Server
一个 MCP 服务器,可以分析你的 Spotify 播放列表,并使用 Claude 根据情绪、氛围、BPM 和其他音乐属性来推荐歌曲。
lechiffre1
README
Spotify 播放列表管理 MCP 服务器
一个 MCP 服务器,通过分析您现有的曲目并使用 Claude AI 根据情绪、氛围、BPM 和其他音乐属性推荐歌曲,来帮助管理 Spotify 播放列表。
功能
- 连接到您的 Spotify 帐户并访问您的播放列表
- 分析您的播放列表中曲目的音频特征
- 生成播放列表情绪、能量、节奏和其他特征的摘要
- 根据播放列表分析从 Claude AI 获取歌曲推荐
- 在 Spotify 上搜索曲目
- 将推荐的曲目添加到您的播放列表
- 创建新的播放列表
设置
前提条件
- Node.js (v14 或更高版本)
- 一个 Spotify 开发者帐户和注册的应用程序
- 通过 MCP (机器会话协议) 访问 Claude
安装
-
克隆此存储库:
git clone https://github.com/lechiffre1/Spotify-Playlist-Curator-MCP-Server.git cd Spotify-Playlist-Curator-MCP-Server
-
安装依赖项:
npm install
-
基于提供的
.env.example
创建一个.env
文件:cp .env.example .env
-
设置您的 Spotify 开发者凭据:
- 前往 Spotify 开发者仪表板
- 创建一个新的应用程序
- 添加
http://localhost:3000/callback
作为重定向 URI - 将您的 Client ID 和 Client Secret 复制到
.env
文件
-
启动服务器:
npm start
用法
身份验证
当您启动服务器时,您需要首先使用 Spotify 进行身份验证:
- 在您的浏览器中访问
http://localhost:3000/login
- 使用您的 Spotify 帐户登录并授权该应用程序
- 成功身份验证后,您可以关闭浏览器窗口并返回到您的 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 // 可选,默认为 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 // 可选,默认为 10
});
createPlaylist
创建一个新的 Spotify 播放列表。
const response = await client.createPlaylist({
name: "My New Playlist",
description: "Created by Spotify Playlist Curator", // 可选
isPublic: false // 可选,默认为 false
});
客户端使用示例
import { createClient } from '@anthropic-ai/mcp-client';
async function main() {
// 创建 MCP 客户端
const client = createClient({
serverUrl: 'http://localhost:3000',
anthropicApiKey: 'your_anthropic_api_key' // Claude 集成必需
});
// 1. 获取用户播放列表
const playlists = await client.getPlaylists();
console.log('Your playlists:', playlists);
// 2. 选择一个播放列表并获取其详细信息
const playlistId = playlists.playlists[0].id;
const playlistDetails = await client.getPlaylistDetails({ playlistId });
console.log('Playlist summary:', playlistDetails.summary);
// 3. 从 Claude 获取推荐
const recommendations = await client.getClaudeRecommendations({ playlistId });
console.log('Claude recommendations:', recommendations.claudeRecommendations);
// 4. 将推荐添加到播放列表
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
推荐服务器
Crypto Price & Market Analysis MCP Server
一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。
MCP PubMed Search
用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。
mixpanel
连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

Nefino MCP Server
为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。
Vectorize
将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。
Mathematica Documentation MCP server
一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。
kb-mcp-server
一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。
Research MCP Server
这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

Cryo MCP Server
一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。