ArtistLens
娱乐与多媒体
ArtistLens
🔥 热度:11

Spotify的音乐目录进行交互

DeepSeek 导航网:一个强大的模型上下文协议(MCP)服务器,提供对 Spotify Web API 的访问。 ArtistLens 使您能够无缝地与 Spotify 的音乐目录进行交互,包括搜索曲目、专辑和艺术家,以及访问特定艺术家的信息,如热门曲目和相关艺术家。

安装

通过 Smithery 安装

要通过Smithery自动为 Claude Desktop 安装 ArtistLens:

npx -y @smithery/cli install @superseoworld/artistlens --client claude

手动安装

您可以全局安装该软件包:

npm install -g @thomaswawra/artistlens

或者直接使用 npx 运行:

npx -y @thomaswawra/artistlens

配置

添加到您的 MCP 设置文件中(例如,claude_desktop_config.jsoncline_mcp_settings.json):

{
  "mcpServers": {
    "spotify": {
      "command": "npx",
      "args": ["-y", "@thomaswawra/artistlens"],
      "env": {
        "SPOTIFY_CLIENT_ID": "your_client_id",
        "SPOTIFY_CLIENT_SECRET": "your_client_secret"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

您需要提供您的 Spotify API 凭证:

  1. 前往Spotify 开发者仪表板
  2. 创建一个新的应用程序
  3. 获取您的客户端 ID 和客户端密钥
  4. 将它们按照上述方式添加到配置中

功能

  • 搜索曲目、专辑、艺术家和播放列表
  • 获取艺术家信息,包括热门曲目和相关艺术家
  • 获取专辑信息和曲目
  • 访问新发行和推荐
  • 获取带有市场特定内容和章节的有声书信息
  • 注意:有声书端点可能需要额外的身份验证或市场特定访问权限
  • 获取并修改播放列表信息(名称、描述、公开/私密状态)
  • 支持分页访问播放列表曲目和项目
  • 同时支持 Spotify ID 和 URI
  • 自动令牌管理,采用客户端凭据流
  • 全面的功能测试套件
  • 代码组织良好,职责分离明确

可用工具

  • get_access_token: 获取有效的 Spotify 访问令牌
  • search: 搜索曲目、专辑、艺术家或播放列表
  • get_artist: 获取艺术家信息
  • get_artist_top_tracks: 获取艺术家的热门曲目
  • get_artist_related_artists: 获取与给定艺术家相似的艺术家
  • get_artist_albums: 获取艺术家的专辑
  • get_album: 获取专辑信息
  • get_album_tracks: 获取专辑中的曲目
  • get_track: 获取曲目信息
  • get_available_genres: 获取用于推荐的可用流派列表
  • get_new_releases: 获取新发行的专辑
  • get_recommendations: 基于种子曲目、艺术家或流派获取曲目推荐
  • get_audiobook: 获取有声书信息,可选市场参数
  • get_multiple_audiobooks: 获取多个有声书的信息(最多 50 个)
  • get_audiobook_chapters: 获取有声书章节,支持分页(每次请求 1-50 章)
  • get_playlist: 获取由 Spotify 用户拥有的播放列表
  • get_playlist_tracks: 获取播放列表中曲目的完整详情(每次请求 1-100 首曲目)
  • get_playlist_items: 获取播放列表中项目的完整详情(每次请求 1-100 个项目)
  • modify_playlist: 更改播放列表详情(名称、描述、公开/私有状态、协作状态)
  • add_tracks_to_playlist: 向播放列表添加一个或多个曲目,可选位置
  • remove_tracks_from_playlist: 从播放列表中移除一个或多个曲目,可选位置和快照 ID
  • get_current_user_playlists: 获取当前 Spotify 用户拥有或关注的播放列表列表(每次请求 1-50 个播放列表)
  • get_featured_playlists: 获取带有特定类别的 Spotify 推荐播放列表列表,可选语言环境和支持分页
  • get_category_playlists: 获取带有特定类别的 Spotify 播放列表列表

更新

要更新到最新版本:

# If installed globally
npm update -g @thomaswawra/artistlens

# If using npx, it will automatically use the latest version
npx -y @thomaswawra/artistlens

开发

该项目是开源的,可在 GitHub 上找到:https://github.com/superseoworld/artistlens

项目结构

代码库组织成以下目录:

  • src/handlers/: 包含不同 Spotify API 端点的处理器类
  • src/types/: 请求和响应对象的 TypeScript 接口
  • src/utils/: 用于 API 通信的实用函数和类
  • src/__tests__/: 所有功能的 Jest 测试文件

测试

该项目使用 Jest 进行测试。要运行测试:

npm test

在开发期间以监视模式运行测试:

npm run test:watch

贡献

要贡献代码,请遵循以下步骤:

  1. 叉取仓库
  2. 创建你的特性分支 (git checkout -b feature/amazing-feature)
  3. 为你的更改添加测试
  4. 提交你的更改 (git commit -m 'Add some amazing feature')
  5. 将更改推送到分支 (git push origin feature/amazing-feature)
  6. 打开拉取请求

相关推荐