音乐库管理助手

Lidarr Assistant MCP是一个通过AI助手(如Claude)管理Lidarr音乐库的模型上下文协议服务器,支持通过自然语言搜索艺术家、添加艺术家、管理专辑和监控下载队列。

  • by axelterrier
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 axelterrier/lidarr-assistant-mcp

使用说明

🎵 Lidarr 助手 MCP

MCP(模型上下文协议)服务器,用于通过像Claude这样的AI助手管理您的Lidarr音乐库。

📋 概述

Lidarr Assistant MCP 允许您直接从 Claude Desktop 或任何 MCP 兼容客户端控制 Lidarr。使用自然语言添加艺术家、搜索音乐、管理专辑并监控下载!

这个项目是受到……的启发而设计的 ARR-助理-MCP(或根据具体上下文,可译为“ARR助理-MCP系统/模块/等”) 并将其扩展以支持Lidarr,一个音乐库管理器。

✨ 特点

  • 🔍(放大镜图标,通常表示搜索或查看细节) 搜索艺术家 通过与MusicBrainz的集成
  • 加号 添加艺术家 自动监控地添加到您的图书馆
  • 📚 书籍 管理相册 和轨迹
  • 📊(表格/数据图表) 查看图书馆统计信息 以及收藏概览
  • ⚙️(齿轮符号,常用于表示机械、装置或设置等含义,在此处作为独立符号无直接对应中文翻译,可保留原样或根据上下文解释为“齿轮”、“装置”等) 配置质量配置文件 以及元数据配置文件
  • 📥(文件夹图标,可理解为“文件夹”或“资料夹”) 监控下载队列 实时地
  • 🔎 翻译成中文是:🔎(这个符号本身在中文中没有直接对应的翻译,它通常代表“搜索”或“放大镜”的意思,用于表示搜索或查看细节的动作。) 自动搜索 对于缺失的专辑
  • 📋(清单/事项列表) 列出缺失的专辑 正在被监控的

🛠️ 前提条件

  • python ≥ 3.12
  • 紫外线 - 快速的Python包管理器(在此安装)
  • Lidarr - 运行中的实例
  • Claude 桌面版 (或任何与MCP兼容的客户端)

📦 安装

1. 克隆或创建项目

# Create project directory
mkdir lidarr-assistant-mcp
cd lidarr-assistant-mcp

# Or clone from your repository
git clone https://github.com/your-username/lidarr-assistant-mcp.git
cd lidarr-assistant-mcp

2. 安装依赖项

# Initialize project with uv
uv init

# Install dependencies
uv sync

⚙️ 配置

本地配置(.env)

创建一个 .env 在项目根目录下存放用于本地开发的文件:

LIDARR_URL=http://your-ip:8686
LIDARR_API_KEY=your-lidarr-api-key

如何找到您的Lidarr API密钥:

  1. 在浏览器中打开 Lidarr
  2. 首选 Settings → General → Security
  3. 复制 API Key 价值

Claude桌面版的配置

编辑您的MCP配置文件:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS(苹果电脑操作系统): ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

在(文件/列表等)中添加以下条目 mcpServers 对象:

{
  "mcpServers": {
    "lidarr-assistant": {
      "command": "uv",
      "args": [
        "--directory",
        "C:/Users/YourUsername/Documents/lidarr-assistant-mcp",
        "run",
        "src/lidarr_assistant_mcp/main.py"
      ],
      "env": {
        "LIDARR_URL": "http://78.198.189.9:8686",
        "LIDARR_API_KEY": "your-lidarr-api-key-here"
      }
    }
  }
}

重要提示: 更新路径和值:

  • 改变 --directory 路径以匹配您的安装位置
  • 替换 LIDARR_URL 使用您的Lidarr服务器地址
  • 替换 LIDARR_API_KEY 使用您的实际API密钥

🚀 使用方法

本地测试

# Set environment variables and run
export LIDARR_URL="http://your-ip:8686"
export LIDARR_API_KEY="your-api-key"
uv run src/lidarr_assistant_mcp/main.py

服务器将启动并等待通过标准输入输出(stdio)接收MCP命令。

与Claude Desktop配合使用

配置Claude Desktop后:

  1. 重启Claude桌面版 加载新的MCP服务器
  2. 与克劳德开始对话
  3. 克劳德将自动获得Lidarr工具的访问权限

示例命令

一旦与Claude集成,您就可以使用自然语言:

测试连接:

Test the connection to Lidarr

搜索艺术家:

Search for Pink Floyd in Lidarr

添加一位艺术家:

Add the artist Pink Floyd to my Lidarr library

查看库:

Show me all artists in my music library

检查缺失的专辑:

What albums am I missing from my monitored artists?

查看下载队列:

What's currently downloading in Lidarr?

查找缺失的专辑:

Search for all missing albums

🔧 可用工具

工具 描述
------ -------------
测试连接并显示 Lidarr 配置 search_artist
通过名称或MusicBrainz ID搜索艺术家 add_artist
将艺术家添加到您的库中并进行监控 get_artists
列出你库中的所有艺术家 get_artist_albums
获取特定艺术家的所有专辑 search_missing_albums
触发搜索缺失的专辑 get_quality_profiles
查看可用的音频质量配置文件 get_metadata_profiles
查看元数据配置文件(专辑类型) get_download_queue
查看当前下载队列 get_wanted_missing

| 列出缺失的监控专辑 |

🎯 与Sonarr/Radarr的主要区别

  • 层级结构Radarr
  • **简单的单层(电影)**Sonarr(一个用于监控和自动下载电视节目的软件)
  • **两级(系列→集数)**Lidarr(可能指某种特定软件或系统,但直接翻译无具体含义,可保持原样或根据上下文具体解释)

两级结构,具有复杂性(艺术家 → 专辑 → 曲目)

  • 元数据来源Radarr
  • **TMDb(数字ID)**Sonarr(可译为“索纳尔”或根据具体语境保持原名,因其是一个特定软件或系统的名称)
  • **TVDb(数字ID)**Lidarr

MusicBrainz(UUID 格式)

  • 独特特点元数据配置文件
  • **控制要监控的专辑类型(专辑、EP、单曲、合集等)**多次发布
  • **专辑可以有多个版本(重新发行、不同版本)**艺术家与专辑监听对比

可以关注艺术家而不必关注他们的所有专辑

🐞 故障排除

“API密钥无效”错误 HTTP 401: Unauthorized

错误:

  1. 解决方案: LIDARR_API_KEY 验证
  2. 在你的配置中
  3. 确认Lidarr中的API密钥未过期

配置更改后重启Claude桌面版

“连接被拒绝”错误 Connection error to Lidarr

错误:

  1. 解决方案:
  2. 验证 Lidarr 是否正在运行 LIDARR_URL 确认
  3. 是正确的(IP和端口) http://your-ip:8686
  4. 在浏览器中测试该URL:

检查防火墙规则

未找到艺术家

  1. 解决方案:
  2. 尝试艺术家名称的不同拼写
  3. 使用官方的MusicBrainz名称 lidarr:uuid

如果已知,可通过MusicBrainz ID进行搜索:

缺失配置文件错误

  1. 解决方案:
  2. 验证质量配置文件是否存在:设置 → 配置文件 → 质量配置文件
  3. 验证元数据配置文件是否存在:设置 → 配置文件 → 元数据配置文件

如有必要,为每种类型至少创建一个配置文件

缺少根文件夹 No root folder configured

错误:

  1. 解决方案:
  2. 前往 Lidarr:设置 → 媒体管理 → 根文件夹 /music 添加一个根文件夹(例如。, D:\Music或者
  3. )

确保 Lidarr 具有写入权限

📚 API参考

GET  /api/v1/system/status       # System information
GET  /api/v1/rootfolder          # Root folders
GET  /api/v1/qualityprofile      # Quality profiles
GET  /api/v1/metadataprofile     # Metadata profiles (unique to Lidarr)
GET  /api/v1/artist/lookup       # Search artists
GET  /api/v1/artist              # Get all artists
GET  /api/v1/artist/{id}         # Get specific artist
POST /api/v1/artist              # Add artist
GET  /api/v1/album               # Get albums
POST /api/v1/command             # Send commands
GET  /api/v1/queue               # Download queue
GET  /api/v1/wanted/missing      # Missing albums

Lidarr API使用的端点

  • 🔗 资源Lidarr 官方网站
  • **https://lidarr.audio/(中文可表述为:Lidarr音频网站)**Lidarr API文档
  • **https://lidarr.audio/docs/api/(Lidarr API文档)**MusicBrainz(音乐大脑)
  • **https://musicbrainz.org/(音乐脑图网站)**MCP协议
  • **https://modelcontextprotocol.io/(该网址可直接作为翻译结果,因为网址本身无需翻译,但为符合要求,可表述为“网址:https://modelcontextprotocol.io/”)**MCP Python SDK(MCP Python软件开发工具包)
  • https://github.com/modelcontextprotocol/python-sdk(中文翻译为):https://github.com/modelcontextprotocol/PythonSDK(或保持原网址不变,因为网址本身无需翻译,这里仅说明其含义):ModelContextProtocol的Python SDK(软件开发工具包)仓库arr-assistant-mcp 可以翻译为“助理-辅助-多频道处理(或多客户端处理,具体含义需根据上下文确定)”。不过,这个翻译比较直译,具体含义可能需要根据实际应用场景来调整。如果“arr”、“assistant”、“mcp”有特定的行业或技术含义,那么翻译时需要考虑这些因素

https://github.com/omniwaifu/arr-assistant-mcp(中文可表述为:“https://github.com/omniwaifu/arr-assistant-mcp 项目链接”,但通常直接使用原链接表述即可,无需额外翻译链接本身)

🤝 贡献

  • 欢迎投稿!请随时:
  • 报告错误
  • 建议新功能
  • 提交拉取请求

完善文档

📝 许可证

这个项目是开源的,并遵循MIT许可协议。

  • 🙏 致谢 受……的启发
  • ARR-助手-MCP(注:这里的“arr”可能是某个特定上下文中的缩写或特定项目名称,而“-assitant-mcp”则可能表示这是一个与“MCP”相关的助手或系统组件,但具体含义需根据上下文确定。在没有具体上下文的情况下,我给出了一个较为通用的翻译。) 建立在
  • 模型上下文协议 由……提供动力/支持 Lidarr 并且

MusicBrainz(音乐大脑)

📧 支持

  1. 如果您遇到问题: 检查一下 故障排除
  2. 部分;章节
  3. 查看 Lidarr 日志:系统 → 日志
  4. 检查Claude Desktop的日志以查找MCP错误

在GitHub上提交一个包含详细信息的问题