关于 ScrobblerContext - Last.fm MCP Server
ScrobblerContext 是用 Swift 构建的 MCP 服务,供 AI 助手访问 Last.fm 音乐数据,涵盖音乐发现、收听记录、账户功能和曲目播放记录提交。
主要功能
- 01搜索艺人、专辑和曲目
- 02查询音乐信息与推荐
- 03查看收听记录和统计数据
- 04OAuth 认证与会话管理
- 05提交播放记录并管理喜爱曲目
适用场景
- 01查找与已知乐队相似的艺人
- 02查看用户的收听记录
- 03向 Last.fm 提交曲目播放记录
- 04更新喜爱曲目和正在播放状态
MCP 相关
通过 stdio 向 MCP 客户端提供 Last.fm 搜索、用户音乐库、认证和播放记录工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
ScrobblerContext - Last.fm MCP 服务
一个 Model Context Protocol(MCP)服务,可访问 Last.fm 的音乐数据库。它使用 Swift 构建,可让 AI 助手搜索音乐、管理用户音乐库并记录曲目播放。
目录
功能
- 身份验证:通过浏览器 OAuth 流程安全登录,并持久保存会话
- 艺人操作:搜索艺人、获取详细信息、查找相似艺人
- 专辑操作:搜索专辑、获取曲目列表和元数据
- 曲目操作:搜索曲目、获取详情和推荐
- 用户数据:访问收听历史、统计信息和社交功能
- 记录播放:提交曲目播放记录、更新正在播放状态、喜欢或取消喜欢曲目
快速开始
通过 npm 安装(推荐)
# Install globally
npm install -g scrobblercontext-mcp
# Set up your Last.fm API credentials
export LASTFM_API_KEY="your_api_key_here"
export LASTFM_SECRET_KEY="your_secret_key_here"
# Run the server
scrobblercontext-mcp
获取 Last.fm API 凭据
- 访问 Last.fm API 账号创建页面
- 填写应用详情:
- 应用名称:应用名称(例如,“我的 MCP 服务”)
- 应用描述:简要描述
- 应用主页 URL:你的网站(可以是 GitHub 仓库)
- 回调 URL:
http://localhost:8080/callback(用于 OAuth)
- 保存你的 API Key 和 Shared Secret
配置 MCP 客户端
Claude Desktop
将以下内容添加到你的 claude_desktop_config.json:
{
"mcpServers": {
"lastfm": {
"command": "scrobblercontext-mcp",
"env": {
"LASTFM_API_KEY": "your_api_key_here",
"LASTFM_SECRET_KEY": "your_secret_key_here"
}
}
}
}
配置文件位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json
Cursor
将以下内容添加到 MCP 设置中:
{
"mcpServers": {
"lastfm": {
"command": "scrobblercontext-mcp",
"env": {
"LASTFM_API_KEY": "your_api_key_here",
"LASTFM_SECRET_KEY": "your_secret_key_here"
}
}
}
}
其他 MCP 客户端
该服务通过 stdio 按照 Model Context Protocol 标准进行通信。配置客户端以:
- 将
scrobblercontext-mcp作为服务命令执行 - 设置必需的环境变量
- 使用 stdio 传输
使用示例
通过 Last.fm 进行身份验证:
User: "Authenticate with Last.fm"
Assistant: [Uses authenticate_browser tool to start OAuth flow]
搜索音乐:
User: "Find artists similar to Radiohead"
Assistant: [Uses get_similar_artists tool to find recommendations]
记录曲目播放:
User: "Scrobble 'Bohemian Rhapsody' by Queen"
Assistant: [Uses scrobble_track tool to submit to your profile]
手动安装
先决条件:
- Swift 6.0+(下载)
- macOS 13.0+,或支持 Swift 的 Linux 系统
- Last.fm API 凭据
从源代码构建:
git clone https://github.com/tfmart/ScrobblerContext
cd ScrobblerContext
swift build
export LASTFM_API_KEY="your_api_key_here"
export LASTFM_SECRET_KEY="your_secret_key_here"
swift run ScrobblerContext
可用工具
身份验证工具(5)
authenticate_browser- 在浏览器中启动 OAuth 流程set_session_key- 设置现有会话密钥check_auth_status- 检查身份验证状态restore_session- 恢复已保存的会话logout- 清除身份验证信息
艺术家工具(9)
search_artist- 搜索艺术家get_artist_info- 获取艺术家详情和简介get_similar_artists- 查找相似艺术家get_artist_correction- 获取修正后的艺术家名称get_artist_tags- 获取艺术家标签get_artist_top_albums- 获取艺术家的热门专辑get_artist_top_tracks- 获取艺术家的热门曲目add_artist_tags- 添加个人标签(需要身份验证)remove_artist_tag- 移除个人标签(需要身份验证)
专辑工具(6)
search_album- 搜索专辑get_album_info- 获取专辑详情和曲目列表get_album_tags- 获取专辑标签get_album_top_tags- 获取热门专辑标签add_album_tags- 添加个人标签(需要身份验证)remove_album_tag- 移除个人标签(需要身份验证)
曲目工具(8)
search_track- 搜索曲目get_track_info- 获取曲目详情get_similar_tracks- 查找相似曲目get_track_correction- 获取修正后的曲目信息get_track_tags- 获取曲目标签get_track_top_tags- 获取热门曲目标签add_track_tags- 添加个人标签(需要身份验证)remove_track_tag- 移除个人标签(需要身份验证)
用户工具(9)
get_user_info- 获取用户资料和统计信息get_user_recent_tracks- 获取最近的收听记录get_user_top_artists- 按时间段获取热门艺术家get_user_top_tracks- 按时间段获取热门曲目get_user_top_albums- 按时间段获取热门专辑get_user_top_tags- 获取最常使用的标签get_user_friends- 获取好友列表get_user_loved_tracks- 获取标记为喜爱的曲目get_user_personal_tags_for_artists- 获取已添加标签的艺术家
Scrobble 工具(5)
scrobble_track- 提交单首曲目的播放记录scrobble_multiple_tracks- 提交多首曲目的播放记录update_now_playing- 更新当前曲目状态love_track- 将曲目标记为喜爱unlove_track- 从喜爱曲目中移除
参与贡献
欢迎贡献!请参阅 CONTRIBUTING.md 了解相关指南。
文档
- API 文档 - 根据代码自动生成
- 贡献指南 - 开发环境设置和相关指南
- Model Context Protocol - MCP 规范
- Last.fm API - Last.fm API 文档
故障排除
找不到 Swift:从 swift.org 安装 Swift
会话密钥无效:使用 authenticate_browser 重新进行身份验证
API 密钥错误:确认你的 LASTFM_API_KEY 和 LASTFM_SECRET_KEY 正确无误
服务断开连接:检查 MCP 客户端配置中是否已设置环境变量
许可证
MIT 许可证 - 详情请参阅 LICENSE 文件。
致谢
- Last.fm 提供音乐数据 API
- ScrobbleKit 提供 Swift Last.fm SDK
- Model Context Protocol 提供通信标准
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。