返回市场
MCP- Spotify服务器

MCP- Spotify服务器

作者:superseoworld18 星标更新:2025-03-03

项目介绍

ArtistLens

smithery 徽章 npm 版本

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

当前版本: 0.4.12

<a href="https://glama.ai/mcp/servers/mmrvuig6tp"><img width="380" height="200" src="https://gips2.baidu.com/it/u=1458418219,2152113534&fm=3081&app=3081&f=PNG?w=760&h=400" alt="ArtistLens MCP服务器" /></a>

安装

通过Smithery安装

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

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播放列表列表

更新

要更新到最新版本:

# 如果是全局安装
npm update -g @thomaswawra/artistlens

# 如果使用npx,它会自动使用最新版本
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 '添加一些惊人的功能'
  5. 推送到分支(git push origin feature/amazing-feature
  6. 打开Pull Request

许可证

MIT许可证

smithery 徽章