🎵 车间音乐MCP服务器
人工智能@普林斯顿x CBC研讨会-2025年10月31日
构建一个真正的MCP服务器,将克劳德连接到Spotify!搜索歌曲,分析音乐收藏,并使用自然语言创建播放列表。 注意:您将需要您的Spotify API客户端和此服务器的密钥,所以只需遵循代码并稍后进行测试!
______________________________________________________________________
🎯 你将学到什么
- MCP基础:构建赋予Claude新功能的服务器
- API集成:连接到真实服务(Spotify)
- 工具设计:为AI创建直观的界面
- 现实世界技能:处理API的更改和弃用(就像我们对Spotify 2025年的更新所做的那样!)
⚡ 快速开始
先决条件
- Python 3.10或更高版本
- Spotify帐户(免费即可!)
- 已安装Claude Desktop应用程序
- 基本熟悉终端/命令行
安装
- 克隆此存储库
git clone
cd claude-mcp-workshop- 安装依赖项
pip install -r requirements.txt- 设置Spotify凭据
- 跟随 SPOTIFY_SETUP.md 获取API密钥 - 复制 .env.example 到 .env 并填写您的凭据
- 配置Claude桌面
- 看 设置.md 详细说明 - 将MCP服务器添加到您的Claude Desktop配置中
- 启动服务器并尝试!
python music_server_updated_2025.py然后重新启动克劳德桌面并开始聊天!
🎵 它能做什么?
连接后,您可以问Claude以下问题:
基本发现:
- “给我找一些乐观的独立歌曲” -搜索曲目
- “告诉我泰勒·斯威夫特最受欢迎的歌曲” -艺术家信息
- “根据致盲灯给我推荐” -获取歌曲推荐
收集分析:
- “此播放列表适合家庭使用吗?” -检查明确内容
- “我的音乐品味有多丰富?” -艺术家、流派和时代多样性
- “我最喜欢听哪些艺术家的作品?” -艺术家频率分析
- “哪些流派主导了我的收藏?” -类型细分和分布
- “分析此播放列表” -获取流行度统计数据和明确的内容概述
创建播放列表: 🎯
- “从这20首歌曲创建播放列表” -制作实际的Spotify播放列表
- “按流派平衡此收藏并创建播放列表” -智能播放列表生成
🔧 可用工具(共10个)
发现和搜索
search_tracks
按名称、艺术家或关键字在Spotify上搜索歌曲。返回曲目详细信息、受欢迎程度和Spotify链接。
get_recommendations
根据种子曲目、艺术家或流派获取歌曲推荐。非常适合发现与你已经喜欢的音乐相似的新音乐。
get_artist_info
获取艺术家的详细信息,包括他们的热门曲目、流派、受欢迎程度和粉丝数量。
播放列表工具⭐ 新
create_playlist
从歌曲集创建一个真正的Spotify播放列表!提供歌曲名称和艺术家,它将搜索它们并在您的帐户上创建播放列表。
generate_balanced_playlist
从更大的收藏中创建平衡的播放列表。平衡方式:
- 类型 -跨流派的平等代表性
- 艺术家 -每位艺术家最多2首歌曲,以实现多样性
- 时代 -几十年分布均匀
analyze_playlist
分析任何Spotify播放列表以获取流行度统计数据、明确的内容百分比和曲目详细信息。
收集分析工具🎯
analyze_explicitness
检查你的歌曲收藏中的露骨内容——找出露骨歌词的百分比,并获得适合家庭的评级。
analyze_collection_diversity
分析你的音乐收藏有多多样化:
- 艺术家多样性和多样性得分
- 流派传播和独特流派
- 人气分布(主流vs地下)
- 年代范围和几十年的分布
get_top_artists_from_collection
找出你的收藏中出现频率最高的艺术家,并查看他们的贡献百分比。非常适合了解你的听力习惯。
analyze_genres_in_collection
获得完整的流派细分-主导风格、流派多样性得分以及每首歌曲的详细分布百分比和流派标签。
🚨 2025年发生了什么变化?
API重要更新: Spotify在2024年11月弃用了他们的音频功能端点。此MCP服务器已更新,可以在没有它的情况下工作!
有什么不同:
- ❌ 移除:可跳舞性、能量、效价、节奏等音频功能不再可用
- ✅ 仍然可用:曲目信息(姓名、艺术家、专辑、受欢迎程度、明确标志)、艺术家流派、发行日期
- 🎯 新焦点:播放列表创建、流派分析、明确性检查和收藏多样性
这对你意味着什么:
- 你将不再看到“情绪”分析或“能量水平”
- 重点转向实用工具:创建播放列表和分析收藏的多样性
- 这些工具现在使用可靠可用的内容:流行度评分、流派、明确标志和发布年份
🏗️ 建筑
┌─────────────┐
│ Claude │ Asks: "Find upbeat songs"
│ Desktop │
└──────┬──────┘
│ MCP Protocol
│
┌──────▼──────────┐
│ MCP Server │ Converts to: search_tracks("upbeat")
│ (This Code!) │
└──────┬──────────┘
│ Spotify API
│
┌──────▼──────────┐
│ Spotify Web │ Returns: Song data
│ API │
└─────────────────┘它是如何工作的:
- 你用自然语言问克劳德一个音乐问题
- Claude决定使用哪个MCP工具
- 您的MCP服务器调用Spotify的API
- 结果返回给Claude
- 克劳德以友好的方式介绍他们
📚 文档
- QUICKSTART.md -10分钟后开始跑步
- 设置.md -详细的安装指南
- SPOTIFY_SETUP.md -如何获取API证书
- 工具_参考.md - 📄 所有工具的快速参考(打印此!)
- 示例.md - ⭐ 批量分析工具的示例查询!
- 进展_分析.md - 🎯 高级分析:明确性、多样性、艺术家、流派!
- 工作坊_GUIDE.md -完整的研讨会演练
- 故障排除.md -常见问题和修复
- 贡献.md -打造自己的工具!
🎓 学习资源
MCP新手?
想了解更多信息吗?
🏆 48小时挑战
研讨会结束后,尝试构建自己的MCP服务器!一些想法:
- 📚 书籍推荐 -连接到Goodreads或开放图书馆
- 🎬 影片分析 -使用TMDB API获取胶片数据
- 🍕 食谱查找器 -与Spoonacular集成
- ⚡ 智能家居 -控制灯光或恒温器
- 📊 数据Viz -根据您的数据生成图表
加入AI@Princeton在挑战中寻求支持!
🐛 故障排除
“ModuleNotFoundation错误:没有名为'spotipy'的模块”
- 运行:
pip install -r requirements.txt
“无法连接到Spotify”
- 检查你的
.env文件具有正确的凭据 - 确保您已在他们的仪表板上创建了Spotify应用程序
“克劳德看不见工具”
- 将服务器添加到配置后重新启动Claude Desktop
- 检查配置中的服务器路径是否为绝对路径(完整路径)
更多问题? 看 故障排除.md
🤝 贡献
想添加更多功能吗?结账 贡献.md 用于:
- 如何添加新工具
- 代码风格指南
- 测试您的更改
- 提交改进
📝 许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
🙏 致谢
专为AI@Princeton的MCP工作坊系列。特别感谢:
- 创建MCP的拟人化
- Spotify因其出色的API
- 普林斯顿人工智能社区
📧 问题?
- 研讨会问题:在会议期间或在Discord上提问
- 技术问题:在GitHub上打开一个问题
- MCP通用帮助:检查 docs.anthopic.com/mcp
______________________________________________________________________
准备好建造了吗? 从开始 QUICKSTART.md 或跳进去 设置.md!
⭐ 如果这对你有帮助,请在GitHub上给它一颗星!
