Mcp Arr

io.github.aplaceforallmystuff由 GitHub 账号 aplaceforallmystuff 发布v1.0.0更新于 Oct 24, 2026

MCP server for *arr media suite - Sonarr, Radarr, Lidarr, Readarr, Prowlarr

已验证STDIO仅桌面效率与工作流媒体与设计

概览

AI 生成的概览

让助手查询和管理 Sonarr、Radarr、Lidarr 与 Prowlarr 的媒体库、下载队列、日历和索引器。

可以做什么
连接 *arr 媒体套件,按服务提供工具:列出剧集、电影和艺术家,搜索新内容并带标签添加,触发缺失剧集、专辑或电影的下载,查看下载队列和即将发布的日历。Prowlarr 工具可列出索引器、跨站点搜索、测试索引器健康状态并查看统计。跨服务工具可报告各服务状态并同时搜索所有已配置服务;只读的配置审查工具和 TRaSH Guides 参考工具可帮助分析质量配置与命名规范。
适用场景
适合已经运行一个或多个 *arr 应用、希望通过助手而不是逐个打开网页界面来管理媒体库、查看下载进度、查找缺失内容或审查质量与命名设置的用户。未配置任何 *arr 服务时也可仅使用 TRaSH 参考模式。
运行要求
npm 包需要 Node.js 18+,也可使用已发布的 Docker 镜像。至少一个可通过网络访问的 *arr 应用,并配置 URL 与 API 密钥对:SONARR_URL/SONARR_API_KEY、RADARR_URL/RADARR_API_KEY、LIDARR_URL/LIDARR_API_KEY、READARR_URL/READARR_API_KEY 或 PROWLARR_URL/PROWLARR_API_KEY。远程 HTTP 模式使用 MCP_TRANSPORT、HOST、PORT 和 MCP_PATH。TRaSH Guides 工具需要访问 GitHub。
安装前请注意
每个配置的服务都需要 API 密钥(SONARR_API_KEY、RADARR_API_KEY、LIDARR_API_KEY、READARR_API_KEY、PROWLARR_API_KEY),应作为机密保存。多个工具会改变状态:添加剧集、电影或艺术家,触发下载,更新电影设置,以及移除队列项并可选加入黑名单。配置审查工具为只读,但其建议仅供参考。远程 HTTP 模式可绑定到非本机地址,应限制对 /mcp 端点的访问。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Mcp Arr,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

MCP *arr Server

[Architecture]

[Oathe Security] [npm version] [CI] [License: MIT] [MCP]

MCP server for the *arr media management suite - Sonarr, Radarr, Lidarr, and Prowlarr.

Supports both local stdio mode for Claude/Codex-style clients and remote HTTP mode for hosted MCP clients such as ChatGPT connectors.

Why Use This?

  • Unified media management - Control all your *arr applications from one interface
  • Natural language queries - Ask about your library in plain English
  • Cross-service search - Find content across TV, movies, and music simultaneously
  • Download monitoring - Check queue status and progress across all services
  • Calendar integration - See upcoming releases for all media types
  • Configuration review - Get AI-powered suggestions for optimizing your setup
  • Flexible configuration - Enable only the services you use

Features

CategoryCapabilities
Sonarr (TV)List series, view episodes, search shows, trigger downloads, check queue, view calendar, review setup
Radarr (Movies)List movies, search films, trigger downloads, check queue, view releases, review setup
Lidarr (Music)List artists, view albums, search musicians, trigger downloads, check queue, view calendar, review setup
Prowlarr (Indexers)List indexers, search across all trackers, test health, view statistics
Cross-ServiceStatus check, unified search across all configured services
ConfigurationQuality profiles, download clients, naming conventions, health checks, storage info
TRaSH GuidesReference quality profiles, custom formats, naming conventions, compare against recommendations

Prerequisites

  • Node.js 18+
  • At least one *arr application running with API access:

Installation

Using npm (Recommended)

bash
npx mcp-arr-server

Remote HTTP Mode

bash
MCP_TRANSPORT=http PORT=3000 npx mcp-arr-server

By default the remote server listens on 127.0.0.1:3000 and serves MCP on /mcp.

Environment variables for remote mode:

  • MCP_TRANSPORT=http to enable remote Streamable HTTP transport
  • HOST to override the bind host (default 127.0.0.1)
  • PORT to override the port (default 3000)
  • MCP_PATH to override the MCP endpoint path (default /mcp)

Docker

Prebuilt images are published to GitHub Container Registry on every release. You do not need to build anything:

bash
docker pull ghcr.io/aplaceforallmystuff/mcp-arr:latest

Tags follow the release version — latest, 1, 1.7, and each exact version such as 1.7.3. Pin to a major or minor tag if you want updates without surprises.

Run in local stdio mode:

bash
docker run --rm -i \  -e SONARR_URL=http://host.docker.internal:8989 \  -e SONARR_API_KEY=your-sonarr-api-key \  ghcr.io/aplaceforallmystuff/mcp-arr:latest

Run in remote HTTP mode:

bash
docker run --rm -p 3000:3000 \  -e MCP_TRANSPORT=http \  -e HOST=0.0.0.0 \  -e PORT=3000 \  -e SONARR_URL=http://host.docker.internal:8989 \  -e SONARR_API_KEY=your-sonarr-api-key \  ghcr.io/aplaceforallmystuff/mcp-arr:latest

Minimal docker-compose.yml:

yaml
services:  mcp-arr:    image: ghcr.io/aplaceforallmystuff/mcp-arr:latest    ports:      - "3000:3000"    environment:      MCP_TRANSPORT: http      HOST: 0.0.0.0      PORT: 3000      SONARR_URL: http://host.docker.internal:8989      SONARR_API_KEY: your-sonarr-api-key      RADARR_URL: http://host.docker.internal:7878      RADARR_API_KEY: your-radarr-api-key
Building it yourself

Only needed if you are developing against a change that is not released yet:

bash
docker build -t mcp-arr .

From Source

bash
git clone https://github.com/aplaceforallmystuff/mcp-arr.gitcd mcp-arrnpm installnpm run build

Configuration

Getting API Keys

Each *arr application has an API key in Settings > General > Security:

  1. Open your *arr application's web interface
  2. Go to Settings > General
  3. Find the API Key under the Security section
  4. Copy the API key for use in configuration

For Claude Desktop

Add to your Claude Desktop config file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

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",        "PROWLARR_URL": "http://localhost:9696",        "PROWLARR_API_KEY": "your-prowlarr-api-key"      }    }  }}

For Claude Code

Add to ~/.claude.json:

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"      }    }  }}

Note: Only configure the services you have running. The server automatically detects which services are available based on the environment variables you provide.

TRaSH-only mode: if you don’t configure any *arr services, the server still starts and exposes the TRaSH Guides reference tools plus generic search and fetch.

ChatGPT / Remote MCP

To use mcp-arr with ChatGPT, run the server in remote HTTP mode on a reachable host and connect ChatGPT to the /mcp endpoint.

The server now exposes the generic search and fetch tools expected by ChatGPT-style remote MCP integrations:

  • search discovers matching *arr media and TRaSH profiles
  • fetch returns structured detail for a selected search result

The existing service-specific tools remain available for richer local or power-user workflows.

Usage Examples

Library Management

  • "Show me all my TV series"
  • "What movies do I have in Radarr?"
  • "List all artists in my music library"

Searching & Adding Content

  • "Search for sci-fi shows on Sonarr"
  • "Find action movies from the 90s"
  • "Add this show to my TV library"
  • "Add that movie to Radarr"
  • "Search for jazz albums and add this artist"
  • "Add this movie with my '4k' tag"
  • "What tags do I have in Sonarr?"

Download Queue

  • "What's downloading right now?"
  • "Check the Sonarr queue"
  • "Show Radarr download progress"

Upcoming Releases

  • "What TV episodes are coming this week?"
  • "Show upcoming movie releases"
  • "Any new albums coming out this month?"

Downloading Content

  • "What episodes of this show am I missing?"
  • "Download the missing episodes for that series"
  • "Search for this specific movie"
  • "Grab that album I'm missing"

Indexer Management

  • "Are my indexers healthy?"
  • "How are my indexers performing?"
  • "Test all my Prowlarr indexers"

Configuration Review

  • "Review my Sonarr setup and suggest improvements"
  • "Show me my quality profiles in Radarr"
  • "Are there any health issues with my Lidarr?"
  • "What naming convention am I using for TV shows?"
  • "Help me understand my quality profiles - why am I not getting 4K?"
  • "Check my download client configuration"
  • "How much free space do I have on my root folders?"

Cross-Service

  • "Check status of all my *arr services"
  • "Search for 'comedy' across all services"

Available Tools

General Tools

ToolDescription
arr_statusGet connection status for all configured *arr services
arr_search_allSearch across all configured services simultaneously
searchGeneric discovery tool for remote MCP clients such as ChatGPT
fetchGeneric detail-fetch tool for items returned by search

Sonarr Tools (TV)

ToolDescription
sonarr_get_seriesList all TV series in your library
sonarr_searchSearch for TV series by name (returns tvdbId for adding)
sonarr_add_seriesAdd a TV series to Sonarr (supports tags)
sonarr_get_root_foldersGet available root folders for adding series
sonarr_get_quality_profilesGet available quality profiles for adding series
sonarr_get_queueView current download queue with limit and offset pagination
sonarr_get_calendarSee upcoming episodes
sonarr_get_episodesList episodes for a series (shows missing vs available)
sonarr_search_missingTrigger search for all missing episodes in a series
sonarr_search_episodeTrigger search for specific episode(s)
sonarr_refresh_seriesTrigger a metadata refresh for a specific series in Sonarr

Radarr Tools (Movies)

ToolDescription
radarr_get_moviesList all movies in your library
radarr_searchSearch for movies by name (returns tmdbId for adding)
radarr_add_movieAdd a movie to Radarr (supports tags)
radarr_get_root_foldersGet available root folders for adding movies
radarr_get_quality_profilesGet available quality profiles for adding movies
radarr_get_queueView current download queue with limit and offset pagination
radarr_get_calendarSee upcoming releases
radarr_search_movieTrigger search to download a movie in your library
radarr_search_moviesBulk-trigger searches for multiple movie IDs at once
radarr_update_movieUpdate a movie's quality profile, monitored status, minimum availability, tags, or path
radarr_delete_queue_itemRemove an item from the download queue (optionally blocklist the release)
radarr_refresh_movieTrigger a metadata refresh for a specific movie in Radarr

Lidarr Tools (Music)

ToolDescription
lidarr_get_artistsList all artists in your library
lidarr_searchSearch for artists by name (returns foreignArtistId for adding)
lidarr_add_artistAdd an artist to Lidarr (supports tags)
lidarr_get_root_foldersGet available root folders for adding artists
lidarr_get_quality_profilesGet available quality profiles for adding artists
lidarr_get_metadata_profilesGet available metadata profiles for adding artists
lidarr_get_queueView current download queue with limit and offset pagination
lidarr_get_albumsList albums for an artist (shows missing vs available)
lidarr_search_albumTrigger search for a specific album
lidarr_search_missingTrigger search for all missing albums for an artist
lidarr_get_calendarSee upcoming album releases

Prowlarr Tools (Indexers)

ToolDescription
prowlarr_get_indexersList all configured indexers
prowlarr_searchSearch across all indexers
prowlarr_test_indexersTest all indexers and return health status
prowlarr_get_statsGet indexer statistics (queries, grabs, failures)

Configuration Review Tools

These tools are available for Sonarr, Radarr, and Lidarr. Replace {service} with the service name (e.g., sonarr_get_quality_profiles).

ToolDescription
{service}_get_quality_profilesDetailed quality profile information with allowed qualities and custom format scores
{service}_get_healthHealth check warnings and issues detected by the application
{service}_get_root_foldersStorage paths, free space, and accessibility status
{service}_get_download_clientsDownload client configurations and settings
{service}_get_namingFile and folder naming conventions
{service}_get_tagsTag definitions for content organization
{service}_review_setupComprehensive configuration dump for AI-assisted setup analysis

The {service}_review_setup tool returns all configuration in a single call, enabling natural language conversations about optimizing your setup. Claude can analyze your quality profiles, suggest improvements, explain why certain content isn't being grabbed, and help configure complex settings like custom formats.

⚠️ Disclaimer: The configuration review tools provide read-only access to your *arr settings. Any changes to your configuration must be made directly in the *arr application interfaces. The AI's suggestions are recommendations only - always back up your configuration before making significant changes. The maintainers are not responsible for any configuration changes, data loss, or other issues that may arise from following AI-generated recommendations.

TRaSH Guides Tools

Access community-curated quality profiles, custom formats, and naming conventions from TRaSH Guides directly through Claude or ChatGPT. These tools work without any *arr configuration - they fetch reference data from the TRaSH Guides GitHub repository.

ToolDescription
trash_list_profilesList available TRaSH quality profiles for Radarr or Sonarr
trash_get_profileGet detailed profile with custom formats, scores, and quality settings
trash_list_custom_formatsList custom formats with optional category filter (hdr, audio, resolution, etc.)
trash_get_namingGet recommended naming conventions for Plex, Emby, Jellyfin, or standard
trash_get_quality_sizesGet recommended min/max/preferred sizes for each quality level
trash_compare_profileCompare your profile against TRaSH recommendations (requires *arr configured)
trash_compare_namingCompare your naming config against TRaSH recommendations (requires *arr configured)

Example usage:

  • "What quality profiles does TRaSH recommend for 4K movies?"
  • "Show me the remux-web-1080p profile details"
  • "Compare my Radarr profile 4 against the TRaSH uhd-bluray-web profile"
  • "What naming convention should I use for Plex?"
  • "List HDR-related custom formats for Radarr"

Data is cached for 1 hour to minimize GitHub API calls.

Development

bash
# Watch mode for developmentnpm run watch
# Build TypeScriptnpm run build
# Run locallySONARR_URL="http://localhost:8989" SONARR_API_KEY="your-key" node dist/index.js

Troubleshooting

"No *arr services configured"

Ensure you have set at least one pair of URL and API_KEY environment variables:

bash
SONARR_URL="http://localhost:8989"SONARR_API_KEY="your-api-key"

"API error: 401 Unauthorized"

The API key is incorrect. Verify it in your *arr application under Settings > General > Security.

"fetch failed" or "ECONNREFUSED"

The *arr application is not running or the URL is incorrect. Verify:

  • The application is running
  • The URL and port are correct
  • There's no firewall blocking the connection

"Sonarr/Radarr/etc not configured"

You tried to use a tool for a service that isn't configured. Add the corresponding URL and API_KEY environment variables.

Need help building or securing MCP servers?

I build and maintain MCP servers like this one, and I review AI and agent setups for security. If your team needs a custom server, an integration, or a security review of one you already run, see jimchristian.net/work or book a discovery session.

License

MIT - see LICENSE for details.

Links

来源:README.md,提交 edea1dd

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.0.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分