返回市场
克劳德-MCP工作坊

克劳德-MCP工作坊

作者:lauechlo2 星标更新:2025-11-01

项目介绍

🎵 Workshop Music MCP Server

普林斯顿AI x CBC Workshop - 2025年10月31日

构建一个真正的MCP服务器,连接Claude到Spotify!搜索歌曲,分析音乐收藏,并使用自然语言创建播放列表。 注意:你需要你的Spotify API客户端和密钥才能运行这个服务器,所以只需跟随代码并稍后进行测试!


🎯 你将学到什么

  • MCP基础:构建赋予Claude新能力的服务器
  • API集成:连接到真实的服务(如Spotify)
  • 工具设计:为AI创建直观的界面
  • 实际技能:处理API变更和弃用(就像我们在2025年的Spotify更新中所做的那样!)

⚡ 快速开始

预备条件

  • Python 3.10或更高版本
  • 一个Spotify账户(免费即可!)
  • 安装了Claude桌面应用
  • 对终端/命令行的基本熟悉

安装

  1. 克隆此仓库

    git clone <your-repo-url>
    cd claude-mcp-workshop
    
  2. 安装依赖项

    pip install -r requirements.txt
    
  3. 设置Spotify凭证

    • 按照SPOTIFY_SETUP.md获取你的API密钥
    • 复制.env.example.env并填写你的凭证
  4. 配置Claude桌面

    • 查看SETUP.md以获取详细说明
    • 将MCP服务器添加到你的Claude桌面配置中
  5. 启动服务器并尝试一下!

    python music_server_updated_2025.py
    

    然后重启Claude桌面并开始聊天!

🎵 它能做什么?

一旦连接,你可以问Claude一些事情,比如:

基本发现:

  • “找一些欢快的独立音乐” - 搜索曲目
  • “告诉我Taylor Swift最受欢迎的歌曲” - 艺术家信息
  • “基于Blinding Lights给我推荐歌曲” - 获取歌曲推荐

收藏分析:

  • “这个播放列表适合家庭吗?” - 检查显性内容
  • “我的音乐品味有多多样化?” - 艺术家、流派和年代多样性
  • “我最常听哪些艺术家?” - 艺术家频率分析
  • “我的收藏中哪种流派占主导?” - 流派分解和分布
  • “分析这个播放列表” - 获取流行度统计和显性内容概览

播放列表创建: 🎯

  • “从这20首歌创建一个播放列表” - 创建真实的Spotify播放列表
  • “按流派平衡这个收藏并创建播放列表” - 智能播放列表生成

🔧 可用工具(共10个)

发现与搜索

search_tracks

通过名称、艺术家或关键词在Spotify上搜索歌曲。返回曲目详情、流行度和Spotify链接。

get_recommendations

根据种子曲目、艺术家或流派获取歌曲推荐。非常适合发现与你喜欢的音乐相似的新音乐。

get_artist_info

获取关于艺术家的详细信息,包括他们的热门曲目、流派、流行度和粉丝数量。

播放列表工具 ⭐ 新增!

create_playlist

从一组歌曲创建真实的Spotify播放列表!提供歌曲名称和艺术家,它会搜索它们并在你的账户上创建播放列表。

generate_balanced_playlist

从较大的收藏中创建平衡的播放列表。平衡方式:

  • 流派 - 各流派平等代表
  • 艺术家 - 每位艺术家最多两首歌以增加多样性
  • 年代 - 十年间的均匀分布

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    │  提问:“找欢快的歌曲”
│  Desktop    │
└──────┬──────┘
       │ MCP协议
       │
┌──────▼──────────┐
│  MCP服务器      │  转换为:search_tracks("upbeat")
│  (此代码!)    │
└──────┬──────────┘
       │ Spotify API
       │
┌──────▼──────────┐
│  Spotify Web    │  返回:歌曲数据
│     API         │
└─────────────────┘

如何工作:

  1. 你用自然语言向Claude提问音乐问题
  2. Claude决定使用哪个MCP工具
  3. 你的MCP服务器调用Spotify的API
  4. 结果返回给Claude
  5. Claude以友好的方式呈现结果

📚 文档

🎓 学习资源

新手MCP?

想了解更多?

🏆 48小时挑战

工作坊结束后,尝试构建你自己的MCP服务器!一些想法:

  • 📚 图书推荐 - 连接到Goodreads或Open Library
  • 🎬 电影分析 - 使用TMDB API获取电影数据
  • 🍕 配方查找器 - 集成Spoonacular
  • ⚡ 智能家居 - 控制你的灯光或恒温器
  • 📊 数据可视化 - 从你的数据生成图表

加入AI@普林斯顿Discord以获得挑战期间的支持!

🐛 故障排除

“ModuleNotFoundError: 没有名为'spotipy'的模块”

  • 运行:pip install -r requirements.txt

“无法连接到Spotify”

  • 检查你的.env文件是否具有正确的凭证
  • 确保你在Spotify仪表板上创建了一个应用程序

“Claude看不到工具”

  • 在配置中添加服务器后重启Claude桌面
  • 检查配置中的服务器路径是绝对路径(完整路径)

更多问题? 查看TROUBLESHOOTING.md

🤝 贡献

想添加更多功能?查看CONTRIBUTING.md以了解:

  • 如何添加新工具
  • 代码风格指南
  • 测试更改
  • 提交改进

📝 许可证

MIT许可证 - 详见LICENSE文件。

🙏 致谢

为AI@普林斯顿的MCP工作坊系列而建。特别感谢:

  • Anthropic创建MCP
  • Spotify优秀的API
  • 普林斯顿AI社区

📧 问题?

  • 工作坊问题:在会议期间或在Discord上提问
  • 技术问题:在GitHub上打开一个问题
  • 通用MCP帮助:查看docs.anthropic.com/mcp

准备好构建了吗?QUICKSTART.md开始,或跳转至SETUP.md

⭐ 如果这对你有帮助,请在GitHub上给它一个星!