使用说明
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 |
基于艺术家风格的曲目 |
安装
需求
- Python 3.10+
- 紫外线 (推荐)或pip
设置
# 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
示例工作流
根据搜索结果创建播放列表
login-通过TIDAL进行身份验证search_tracks("Radiohead Creep")-查找曲目create_playlist("My Playlist", "A collection of favorites")-创建播放列表add_tracks_to_playlist(playlist_id, [track_ids...])-添加曲目
浏览相册并将其添加到播放列表
search_albums("OK Computer")-查找相册get_album_tracks(album_id)-获取所有曲目add_tracks_to_playlist(playlist_id, [all_track_ids...])-添加到播放列表
管理现有播放列表
get_user_playlists()-列出您的播放列表get_playlist_tracks(playlist_id)-查看轨迹remove_tracks_from_playlist(playlist_id, track_ids=[...])-移除轨道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)
- 社交:关注用户、协作播放列表
许可证
麻省理工学院