🚀 MCP *arr Server
MCP *arr Server 是一款适用于 *arr 媒体管理套件(包括 Sonarr、Radarr、Lidarr、Readarr 和 Prowlarr)的服务器。它提供了统一的媒体管理接口,支持自然语言查询、跨服务搜索等功能,能帮助用户更高效地管理媒体资源。
🚀 快速开始
MCP *arr Server 为 *arr 媒体管理套件(如 Sonarr、Radarr、Lidarr、Readarr 和 Prowlarr)提供了 MCP 服务器支持。你可以通过以下步骤快速开始使用:
- 确保满足 先决条件。
- 按照 安装指南 进行安装。
- 完成 配置 步骤。
- 参考 使用示例 进行操作。
✨ 主要特性
- 统一媒体管理:通过一个界面控制所有 *arr 应用程序。
- 自然语言查询:使用自然英语询问你的媒体库信息。
- 跨服务搜索:同时在电视、电影、音乐和书籍中查找内容。
- 下载监控:检查所有服务的队列状态和进度。
- 日历集成:查看所有媒体类型的即将发布内容。
- 配置审查:获取由 AI 提供的优化设置建议。
- 灵活配置:仅启用你使用的服务。
各服务功能详情
| 类别 |
功能 |
| Sonarr (电视) |
列出剧集、查看剧集信息、搜索节目、触发下载、检查队列、查看日历、审查设置 |
| Radarr (电影) |
列出电影、搜索影片、触发下载、检查队列、查看发布信息、审查设置 |
| Lidarr (音乐) |
列出艺术家、查看专辑、搜索音乐家、触发下载、检查队列、查看日历、审查设置 |
| Readarr (书籍) |
列出作者、查看书籍、搜索作家、触发下载、检查队列、查看日历、审查设置 |
| Prowlarr (索引器) |
列出索引器、在所有跟踪器中搜索、测试健康状况、查看统计信息 |
| 跨服务 |
状态检查、在所有配置的服务中进行统一搜索 |
| 配置 |
质量配置文件、下载客户端、命名约定、健康检查、存储信息 |
| TRaSH 指南 |
参考质量配置文件、自定义格式、命名约定,并与建议进行比较 |
📦 安装指南
使用 npm(推荐)
npx mcp-arr-server
从源代码安装
git clone https://github.com/aplaceforallmystuff/mcp-arr.git
cd mcp-arr
npm install
npm run build
🔧 配置
获取 API 密钥
每个 *arr 应用程序在“设置 > 常规 > 安全”中都有一个 API 密钥。获取步骤如下:
- 打开你的 *arr 应用程序的 Web 界面。
- 转到“设置”>“常规”。
- 在安全部分找到“API 密钥”。
- 复制 API 密钥以用于配置。
针对 Claude Desktop 的配置
将以下内容添加到你的 Claude Desktop 配置文件中:
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"arr": {
"command": "npx",
"args": ["-y", "mcp-arr-server"],
"env": {
"SONARR_URL": "http://localhost:8989",
"SONARR_API_KEY": "your-sonarr-api-key",
"RADARR_URL": "http://localhost:7878",
"RADARR_API_KEY": "your-radarr-api-key",
"LIDARR_URL": "http://localhost:8686",
"LIDARR_API_KEY": "your-lidarr-api-key",
"READARR_URL": "http://localhost:8787",
"READARR_API_KEY": "your-readarr-api-key",
"PROWLARR_URL": "http://localhost:9696",
"PROWLARR_API_KEY": "your-prowlarr-api-key"
}
}
}
}
针对 Claude Code 的配置
将以下内容添加到 ~/.claude.json 文件中:
{
"mcpServers": {
"arr": {
"command": "npx",
"args": ["-y", "mcp-arr-server"],
"env": {
"SONARR_URL": "http://localhost:8989",
"SONARR_API_KEY": "your-sonarr-api-key",
"RADARR_URL": "http://localhost:7878",
"RADARR_API_KEY": "your-radarr-api-key"
}
}
}
}
注意:仅配置你正在运行的服务。服务器会根据你提供的环境变量自动检测可用的服务。
💻 使用示例
基础用法
以下是一些常见的使用示例:
媒体库管理
- "Show me all my TV series"(显示我所有的电视剧)
- "What movies do I have in Radarr?"(我在 Radarr 中有哪些电影?)
- "List all artists in my music library"(列出我音乐库中的所有艺术家)
- "How many books do I have by Stephen King?"(我有多少本斯蒂芬·金的书?)
内容搜索
- "Search for Breaking Bad on Sonarr"(在 Sonarr 中搜索《绝命毒师》)
- "Find the movie Inception"(查找电影《盗梦空间》)
- "Search for Taylor Swift albums"(搜索泰勒·斯威夫特的专辑)
- "Look up books by Brandon Sanderson"(查找布兰登·桑德森的书籍)
下载队列
- "What's downloading right now?"(现在正在下载什么?)
- "Check the Sonarr queue"(检查 Sonarr 队列)
- "Show Radarr download progress"(显示 Radarr 的下载进度)
即将发布内容
- "What TV episodes are coming this week?"(本周有哪些电视剧集即将发布?)
- "Show upcoming movie releases"(显示即将上映的电影)
- "Any new albums coming out this month?"(本月有新专辑发布吗?)
- "Show me upcoming book releases"(显示即将发布的书籍)
内容下载
- "What episodes of Severance am I missing?"(我错过了《人生切割术》的哪些剧集?)
- "Download the missing episodes for that show"(下载该电视剧缺失的剧集)
- "Search for this specific movie"(搜索这部特定的电影)
- "Grab that Japanese Breakfast album"(获取那张 Japanese Breakfast 的专辑)
- "Download all missing books by Brandon Sanderson"(下载布兰登·桑德森所有缺失的书籍)
索引器管理
- "Are my indexers healthy?"(我的索引器健康吗?)
- "How are my indexers performing?"(我的索引器表现如何?)
- "Test all my Prowlarr indexers"(测试我所有的 Prowlarr 索引器)
配置审查(新增)
- "Review my Sonarr setup and suggest improvements"(审查我的 Sonarr 设置并提出改进建议)
- "Show me my quality profiles in Radarr"(显示我在 Radarr 中的质量配置文件)
- "Are there any health issues with my Lidarr?"(我的 Lidarr 有健康问题吗?)
- "What naming convention am I using for TV shows?"(我对电视剧使用的命名约定是什么?)
- "Help me understand my quality profiles - why am I not getting 4K?"(帮助我理解我的质量配置文件 - 为什么我没有获得 4K 内容?)
- "Check my download client configuration"(检查我的下载客户端配置)
- "How much free space do I have on my root folders?"(我的根文件夹有多少可用空间?)
跨服务操作
- "Check status of all my *arr services"(检查我所有 *arr 服务的状态)
- "Search for 'The Office' across all services"(在所有服务中搜索《办公室》)
🔧 技术细节
可用工具
通用工具
| 工具 |
描述 |
arr_status |
获取所有配置的 *arr 服务的连接状态 |
arr_search_all |
同时在所有配置的服务中进行搜索 |
Sonarr 工具(电视)
| 工具 |
描述 |
sonarr_get_series |
列出你媒体库中的所有电视剧 |
sonarr_search |
搜索要添加的电视剧 |
sonarr_get_queue |
查看当前下载队列 |
sonarr_get_calendar |
查看即将发布的剧集 |
sonarr_get_episodes |
列出某部电视剧的剧集(显示缺失和可用的剧集) |
sonarr_search_missing |
触发搜索某部电视剧的所有缺失剧集 |
sonarr_search_episode |
触发搜索特定的剧集 |
Radarr 工具(电影)
| 工具 |
描述 |
radarr_get_movies |
列出你媒体库中的所有电影 |
radarr_search |
搜索要添加的电影 |
radarr_get_queue |
查看当前下载队列 |
radarr_get_calendar |
查看即将发布的电影 |
radarr_search_movie |
触发搜索并下载你媒体库中的某部电影 |
Lidarr 工具(音乐)
| 工具 |
描述 |
lidarr_get_artists |
列出你媒体库中的所有艺术家 |
lidarr_search |
搜索要添加的艺术家 |
lidarr_get_queue |
查看当前下载队列 |
lidarr_get_albums |
列出某艺术家的专辑(显示缺失和可用的专辑) |
lidarr_search_album |
触发搜索特定的专辑 |
lidarr_search_missing |
触发搜索某艺术家的所有缺失专辑 |
lidarr_get_calendar |
查看即将发布的专辑 |
Readarr 工具(书籍)
| 工具 |
描述 |
readarr_get_authors |
列出你媒体库中的所有作者 |
readarr_search |
搜索要添加的作者 |
readarr_get_queue |
查看当前下载队列 |
readarr_get_books |
列出某作者的书籍(显示缺失和可用的书籍) |
readarr_search_book |
触发搜索特定的书籍 |
readarr_search_missing |
触发搜索某作者的所有缺失书籍 |
readarr_get_calendar |
查看即将发布的书籍 |
Prowlarr 工具(索引器)
| 工具 |
描述 |
prowlarr_get_indexers |
列出所有配置的索引器 |
prowlarr_search |
在所有索引器中进行搜索 |
prowlarr_test_indexers |
测试所有索引器并返回健康状态 |
prowlarr_get_stats |
获取索引器统计信息(查询、抓取、失败情况) |
配置审查工具
这些工具适用于 Sonarr、Radarr、Lidarr 和 Readarr。将 {service} 替换为服务名称(例如,sonarr_get_quality_profiles)。
| 工具 |
描述 |
{service}_get_quality_profiles |
获取详细的质量配置文件信息,包括允许的质量和自定义格式分数 |
{service}_get_health |
获取应用程序检测到的健康检查警告和问题 |
{service}_get_root_folders |
获取存储路径、可用空间和可访问性状态 |
{service}_get_download_clients |
获取下载客户端配置和设置 |
{service}_get_naming |
获取文件和文件夹的命名约定 |
{service}_get_tags |
获取用于内容组织的标签定义 |
{service}_review_setup |
获取全面的配置信息,以便进行 AI 辅助的设置分析 |
{service}_review_setup 工具可以一次性返回所有配置信息,从而支持通过自然语言对话来优化你的设置。Claude 可以分析你的质量配置文件、提出改进建议、解释为什么某些内容无法获取,并帮助配置复杂的设置,如自定义格式。
⚠️ 重要提示
配置审查工具仅提供对你 *arr 设置的 只读 访问权限。任何对配置的更改都必须直接在 *arr 应用程序界面中进行。AI 提供的建议仅为参考 - 在进行重大更改之前,请务必备份你的配置。维护者不对因遵循 AI 生成的建议而可能出现的任何配置更改、数据丢失或其他问题负责。
TRaSH 指南工具
你可以通过 Claude 直接访问 TRaSH 指南 中社区整理的质量配置文件、自定义格式和命名约定。这些工具无需 *arr 配置 - 它们从 TRaSH 指南的 GitHub 存储库中获取参考数据。
| 工具 |
描述 |
trash_list_profiles |
列出 Radarr 或 Sonarr 可用的 TRaSH 质量配置文件 |
trash_get_profile |
获取包含自定义格式、分数和质量设置的详细配置文件 |
trash_list_custom_formats |
列出自定义格式,可选择按类别过滤(如 hdr、音频、分辨率等) |
trash_get_naming |
获取 Plex、Emby、Jellyfin 或标准的推荐命名约定 |
trash_get_quality_sizes |
获取每个质量级别推荐的最小/最大/首选大小 |
trash_compare_profile |
将你的配置文件与 TRaSH 建议进行比较(需要配置 *arr) |
trash_compare_naming |
将你的命名配置与 TRaSH 建议进行比较(需要配置 *arr) |
示例用法:
- "What quality profiles does TRaSH recommend for 4K movies?"(TRaSH 为 4K 电影推荐哪些质量配置文件?)
- "Show me the remux-web-1080p profile details"(显示 remux-web-1080p 配置文件的详细信息)
- "Compare my Radarr profile 4 against the TRaSH uhd-bluray-web profile"(将我的 Radarr 配置文件 4 与 TRaSH 的 uhd-bluray-web 配置文件进行比较)
- "What naming convention should I use for Plex?"(我应该为 Plex 使用什么命名约定?)
- "List HDR-related custom formats for Radarr"(列出 Radarr 中与 HDR 相关的自定义格式)
数据会缓存 1 小时,以减少对 GitHub API 的调用。
开发
npm run watch
npm run build
SONARR_URL="http://localhost:8989" SONARR_API_KEY="your-key" node dist/index.js
故障排除
"No *arr services configured"
确保你至少设置了一对 URL 和 API_KEY 环境变量:
SONARR_URL="http://localhost:8989"
SONARR_API_KEY="your-api-key"
"API error: 401 Unauthorized"
API 密钥不正确。请在你的 *arr 应用程序的“设置 > 常规 > 安全”中验证。
"fetch failed" or "ECONNREFUSED"
*arr 应用程序未运行或 URL 不正确。请验证:
- 应用程序正在运行。
- URL 和端口正确。
- 没有防火墙阻止连接。
"Sonarr/Radarr/etc not configured"
你尝试使用未配置的服务的工具。请添加相应的 URL 和 API_KEY 环境变量。
🤝 贡献
欢迎贡献代码!请参阅 CONTRIBUTING.md 了解贡献指南。
📄 许可证
本项目采用 MIT 许可证 - 详情请参阅 LICENSE。
🔗 链接