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 分