mcpField
S
ScrobblerContext - Last.fm MCP Server

ScrobblerContext - Last.fm MCP Server

本地服务
github.com/tfmart游戏娱乐373 周前更新

关于 ScrobblerContext - Last.fm MCP Server

ScrobblerContext 是用 Swift 构建的 MCP 服务,供 AI 助手访问 Last.fm 音乐数据,涵盖音乐发现、收听记录、账户功能和曲目播放记录提交。

主要功能

  1. 01搜索艺人、专辑和曲目
  2. 02查询音乐信息与推荐
  3. 03查看收听记录和统计数据
  4. 04OAuth 认证与会话管理
  5. 05提交播放记录并管理喜爱曲目

适用场景

  1. 01查找与已知乐队相似的艺人
  2. 02查看用户的收听记录
  3. 03向 Last.fm 提交曲目播放记录
  4. 04更新喜爱曲目和正在播放状态

MCP 相关

通过 stdio 向 MCP 客户端提供 Last.fm 搜索、用户音乐库、认证和播放记录工具。

配置

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

暂未收录安装方式

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

代码仓库

工具

还没有获取到工具列表

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

详细介绍

ScrobblerContext - Last.fm MCP 服务

npm version Swift 6.0+ License: MIT 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 凭据
  1. 访问 Last.fm API 账号创建页面
  2. 填写应用详情:
    • 应用名称:应用名称(例如,“我的 MCP 服务”)
    • 应用描述:简要描述
    • 应用主页 URL:你的网站(可以是 GitHub 仓库)
    • 回调 URL:http://localhost:8080/callback(用于 OAuth)
  3. 保存你的 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 标准进行通信。配置客户端以:

  1. 将 scrobblercontext-mcp 作为服务命令执行
  2. 设置必需的环境变量
  3. 使用 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 了解相关指南。

文档

故障排除

找不到 Swift:从 swift.org 安装 Swift

会话密钥无效:使用 authenticate_browser 重新进行身份验证

API 密钥错误:确认你的 LASTFM_API_KEY 和 LASTFM_SECRET_KEY 正确无误

服务断开连接:检查 MCP 客户端配置中是否已设置环境变量

许可证

MIT 许可证 - 详情请参阅 LICENSE 文件。

致谢

评论

支持 Markdown

第一次接触 MCP?

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

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