arr-mcp
arr-mcp
Model Context Protocol サーバーの小規模な実装で、*arr メディアスタック(Sonarr、Radarr、Prowlarr、Jellyseerr、Bazarr)をクリーンで型付けされたツールの背後に置くものです。Claude などの MCP クライアントは、各アプリの REST API を介してそれらのツールを直接呼び出します。ブラウザも、スクリーンスクレイピングも、LAN への VPN も不要です。
サーバーは API キーを自身で保持し、クライアントがそれらを見ることはありません。.104 Docker ホスト上で動作し、認証付き Cloudflare Tunnel を介してクラウドから到達できるため、自宅にいる場合でも、スマホから Claude を操作している場合でも機能します。
なぜこれが存在するのか
Claude がこれまでメディアスタックで行っていたことはすべて、Mac 上のブラウザ拡張機能を経由していました。これには、接続 ID の変動(「どのブラウザ?」)、セッション/2FA の煩わしさ、VPN とリモートコントロールの操作などがありました。このサーバーはブラウザと Mac をループから完全に排除し、UI スクレイピングを高速で構造化された API 呼び出しに置き換えます。
Related MCP server: mcp-arr-suite
ツール
エリア | ツール |
概要 |
|
Sonarr |
|
Radarr |
|
Prowlarr |
|
Jellyseerr |
|
Bazarr |
|
* = 書き込みアクション(検索をトリガーするか、シリーズのブロックリストをクリアします)。その他はすべて読み取り専用です。削除/削除や設定変更のツールは意図的にありません — これにより影響範囲を小さく保ちます。必要に応じて後で追加します。
セットアップ
cp config.example.env .env
# edit .env: real API keys (Settings > General > Security > API Key in each app)
# and a strong MCP_AUTH_TOKEN: python3 -c "import secrets; print(secrets.token_urlsafe(48))"
docker compose up -d --buildクイックローカルチェック(MCP セッションが欠落しているという 400/406 が返るはずです — これはサーバーが起動しており、トークンが受け入れられたことを意味します。401 はトークンが間違っていることを意味します):
curl -s -o /dev/null -w "%{http_code}\n" \
-H "Authorization: Bearer <your MCP_AUTH_TOKEN>" \
http://localhost:8787/mcpDocker なしで実行する場合(開発用)
pip install -r requirements.txt
set -a; source .env; set +a
python server.pyClaude に公開する
MCP エンドポイントは https://<your-hostname>/mcp です。
トンネルを張ります。
docker-compose.ymlのcloudflaredサービスをコメントアウトして独自のトンネルを設定するか、既存の Jellyfin トンネルにhttp://arr-mcp:8787(ホストからはhttp://localhost:8787)を指すホスト名を追加します。ホスト名の前に Cloudflare Access を置くか、ベアラートークンに依存します — 理想的には両方です。Claude にカスタムコネクタとして追加します。 設定 → カスタマイズ → コネクタ → カスタムコネクタを追加 → URL
https://<your-hostname>/mcp。ベアラートークンをAuthorization: Bearer <token>ヘッダーとして指定します。 Claude は上記のツールを一覧表示します。
セキュリティに関する注意
ベアラートークン(
MCP_AUTH_TOKEN)は、エンドポイントがインターネットから到達可能になる前に必須です。空のままにすると、サーバーは警告を出力し、認証なしで提供します — localhost にバインドされている場合のみ許容されます。コンテナはデフォルトで
127.0.0.1:8787にバインドされるため、選択したトンネルを介してのみ公開されます。API キーは
.env(git 無視、docker 無視)にのみ存在します。漏洩した場合は各アプリでローテーションしてください。スコープは意図的に読み取り重視です。破壊的なツール(シリーズの削除、キューからの削除、設定の編集)を追加する前に、インターネットから到達可能なエンドポイントで利便性がリスクに見合うかどうかを判断してください。
ファイル
server.py— MCP サーバーとすべてのツール(ストリーミング可能な HTTP トランスポート + ベアラー認証)arr_client.py— すべてのサービスで共有される軽量な非同期 REST クライアントconfig.py— 環境変数からサービスごとにクライアントを構築(欠落 = 無効)Dockerfile/docker-compose.yml— コンテナ + オプションのトンネルconfig.example.env—.envにコピー
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityAmaintenanceAn MCP server for the Servarr stack — Sonarr, Radarr, Lidarr, Readarr, and Prowlarr — packaged as a Docker container. Lets an MCP client (Claude Desktop, etc.) browse and search whichever \*arr apps you're running.29MIT
- AlicenseAqualityCmaintenanceEnables interaction with the *arr media management suite (Sonarr, Radarr, Lidarr, Prowlarr, SABnzbd) and TRaSH Guides through MCP tools, allowing media library management, searching, and configuration via natural language.7081MIT
- FlicenseAqualityAmaintenanceMCP server to manage your *ARR media stack (Radarr, Sonarr, Lidarr, Readarr, Prowlarr) for searching, adding, and managing movies, TV shows, music, books, and indexers.1
- AlicenseBqualityBmaintenanceEnables control and management of a self-hosted media stack (Radarr, Sonarr, Prowlarr, SABnzbd, qBittorrent) through natural language via MCP.15GPL 3.0
Related MCP Connectors
Jikan MCP — wraps the Jikan v4 API (anime/manga data, free, no auth)
AniList MCP — wraps AniList GraphQL API (free, no auth)
Podcast Index MCP — wraps the Podcast Index API (podcastindex.org)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dogeared/arr-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server