TIDAL音乐流媒体MCP服务器

TIDAL音乐流媒体服务的传统MCP(模型上下文协议)服务器,提供简洁的API封装,遵循官方MCP最佳实践,围绕tidalapi方法进行轻量级封装,无需自定义业务逻辑。

  • by keenanbb
  • Python
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 keenanbass1/tidal-mcp

使用说明

TIDAL MCP服务器

用于TIDAL音乐流媒体服务的传统MCP(模型上下文协议)服务器。按照官方的MCP最佳实践清理API包装器-围绕tidalapi方法的薄包装器,没有自定义的业务逻辑。

特性

27工具

类别 工具 描述
认证 login OAuth浏览器身份验证
搜索 search_tracks 按姓名/艺术家查找曲目
search_albums 查找相册
search_artists 寻找艺术家
search_playlists 查找公共播放列表
收藏夹 get_favorite_tracks 获得喜欢的曲目
get_favorite_albums 获取已保存的相册
get_favorite_artists 获得关注的艺术家
add_track_to_favorites 就像一条赛道
remove_track_from_favorites 与赛道不同
remove_album_from_favorites 删除已保存的相册
播放列表 get_user_playlists 列出您的播放列表
get_playlist_tracks 从播放列表中获取曲目
create_playlist 创建新播放列表
add_tracks_to_playlist 将曲目添加到播放列表
remove_tracks_from_playlist 从播放列表中删除曲目
update_playlist 更新名称/描述
delete_playlist 删除播放列表
专辑 get_album_tracks 获取所有专辑曲目
get_album 获取相册详细信息
get_similar_albums 查找类似相册
艺术家 get_artist 通过个人简介获取艺术家详细信息
get_artist_albums 获取艺术家唱片
get_artist_top_tracks 获取热门曲目
get_similar_artists 寻找相似的艺术家
建议 get_track_radio 与种子相似的轨迹
get_artist_radio 基于艺术家风格的曲目

安装

需求

设置

# Clone and enter directory
cd tidal-mcp

# Install with uv
uv sync

# Or with pip
pip install -e .

用法

使用克劳德桌面

添加到您的Claude Desktop配置中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "tidal": {
      "command": "/path/to/uv",
      "args": [
        "--directory", "/path/to/tidal-mcp",
        "run", "tidal-mcp"
      ]
    }
  }
}

备注:使用完整路径 uv (查找 which uv)

与MCP检查员一起

npx @modelcontextprotocol/inspector uv run tidal-mcp

直接使用

uv run tidal-mcp

认证

python authenticate.py

示例工作流

根据搜索结果创建播放列表

  1. login -通过TIDAL进行身份验证
  2. search_tracks("Radiohead Creep") -查找曲目
  3. create_playlist("My Playlist", "A collection of favorites") -创建播放列表
  4. add_tracks_to_playlist(playlist_id, [track_ids...]) -添加曲目

浏览相册并将其添加到播放列表

  1. search_albums("OK Computer") -查找相册
  2. get_album_tracks(album_id) -获取所有曲目
  3. add_tracks_to_playlist(playlist_id, [all_track_ids...]) -添加到播放列表

管理现有播放列表

  1. get_user_playlists() -列出您的播放列表
  2. get_playlist_tracks(playlist_id) -查看轨迹
  3. remove_tracks_from_playlist(playlist_id, track_ids=[...]) -移除轨道
  4. update_playlist(playlist_id, name="New Name") -重命名

发展

项目结构

tidal-mcp/
├── pyproject.toml           # Project configuration
├── README.md                 # This file
├── CLAUDE.md                # AI development guidance
└── src/
    └── tidal_mcp/
        ├── __init__.py      # Package init
        ├── models.py        # Pydantic response models
        └── server.py        # MCP server with 27 tools

依赖项

  • fastmcp>=2.12.0 -MCP协议框架
  • tidalapi>=0.8.6 -TIDAL API客户端(工作OAuth需要v0.8.6+)
  • anyio>=4.0.0 -异步实用程序

测试

# Test with MCP Inspector
npx @modelcontextprotocol/inspector uv run tidal-mcp

# Quick protocol test
echo '{"jsonrpc": "2.0", "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "test", "version": "1.0.0"}}, "id": 1}' | uv run tidal-mcp

故障排除

身份验证失败

  • 确保tidalapi>=0.8.6(旧版本具有无效的OAuth凭据)
  • 删除 .tidal-sessions/ 并重新验证

搜索未返回任何结果

  • 简化查询(单个艺术家或歌曲名称)
  • 检查拼写

港口冲突(检查员)

pkill -f "inspector|tidal-mcp"

未来路线图

该服务器目前有27个工具,涵盖核心TIDAL功能。未来可能增加的内容:

  • 远程服务器:Claude.ai和移动应用程序的HTTP/SSE传输(请参阅 docs/REMOTE-DEPLOYMENT.md)
  • 高级搜索:ISRC/UPC查找,用于精确识别曲目/专辑
  • 回放:队列管理和当前播放信息(需要TIDAL Connect)
  • 社交:关注用户、协作播放列表

许可证

麻省理工学院

鸣谢

内置于 FastMCP 和 没有.