Skip to main content
Glama

arr-mcp

Небольшой сервер Model Context Protocol, который помещает медиа-стек *arr (Sonarr, Radarr, Prowlarr, Jellyseerr, Bazarr) за чистые типизированные инструменты. MCP-клиент, такой как Claude, вызывает эти инструменты напрямую через REST API каждого приложения — без браузера, без скрейпинга экрана, без VPN в локальную сеть.

Сервер сам хранит API-ключи; клиент их никогда не видит. Он работает на docker-хосте .104 и доступен из облака через аутентифицированный Cloudflare Tunnel, так что он работает, дома ли вы или управляете Claude с телефона.

Зачем это существует

Всё, что Claude раньше делал с медиа-стеком, проходило через расширение браузера на Mac — что приводило к проблемам с идентичностью подключения («какой браузер?»), трению с сессиями/2FA и танцам с VPN и удалённым управлением. Этот сервер полностью убирает браузер и Mac из цикла и заменяет скрейпинг интерфейса быстрыми структурированными API-вызовами.

Related MCP server: mcp-arr-suite

Инструменты

Область

Инструменты

Обзор

stack_health

Sonarr

sonarr_health, sonarr_series, sonarr_series_detail, sonarr_missing_episodes, sonarr_search_episodes, sonarr_search_season, sonarr_queue, sonarr_blocklist_clear*, sonarr_lookup

Radarr

radarr_health, radarr_movies, radarr_search_movies*, radarr_queue

Prowlarr

prowlarr_health, prowlarr_indexers

Jellyseerr

jellyseerr_requests

Bazarr

bazarr_status

* = действие записи (запускает поиск или очищает блок-лист серии). Всё остальное — только чтение. Здесь намеренно нет инструментов удаления/изменения конфигурации — это ограничивает радиус поражения. Добавляйте больше позже по мере необходимости.

Настройка

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

Быстрая локальная проверка (должна вернуть 400/406 об отсутствующей MCP-сессии — это значит, что сервер работает и ваш токен принят; 401 означает, что токен неверен):

curl -s -o /dev/null -w "%{http_code}\n" \
  -H "Authorization: Bearer <your MCP_AUTH_TOKEN>" \
  http://localhost:8787/mcp

Запуск без Docker (для разработки)

pip install -r requirements.txt
set -a; source .env; set +a
python server.py

Доступ к Claude

Конечная точка MCP: https://<your-hostname>/mcp.

  1. Туннелируйте его. Либо раскомментируйте сервис cloudflared в docker-compose.yml и дайте ему собственный туннель, либо добавьте имя хоста в существующий туннель Jellyfin, указывающий на http://arr-mcp:8787 (или http://localhost:8787 с хоста). Поставьте Cloudflare Access перед именем хоста или полагайтесь на bearer-токен — в идеале и то, и другое.

  2. Добавьте его как пользовательский коннектор в Claude. Настройки → Настроить → Коннекторы → Добавить пользовательский коннектор → URL https://<your-hostname>/mcp. Укажите bearer-токен в заголовке Authorization: Bearer <token>. Затем Claude перечислит указанные выше инструменты.

Замечания по безопасности

  • Bearer-токен (MCP_AUTH_TOKEN) обязателен до того, как конечная точка станет доступна из интернета. Если он пуст, сервер выводит предупреждение и работает без аутентификации — это допустимо только при привязке к localhost.

  • Контейнер по умолчанию привязан к 127.0.0.1:8787, так что ничего не открыто, кроме выбранного вами туннеля.

  • API-ключи хранятся только в .env (игнорируется git и docker). Если они утекут, смените их в каждом приложении.

  • Область действия намеренно ориентирована на чтение. Прежде чем добавлять разрушительные инструменты (удаление серий, удаление из очереди, изменение настроек), решите, стоит ли удобство риска на конечной точке, доступной через интернет.

Файлы

  • server.py — MCP-сервер и все инструменты (транспорт streamable-HTTP + bearer-аутентификация)

  • arr_client.py — тонкий асинхронный REST-клиент, общий для всех сервисов

  • config.py — создаёт клиент для каждого сервиса из переменных окружения (отсутствует = отключено)

  • Dockerfile / docker-compose.yml — контейнер + опциональный туннель

  • config.example.env — скопируйте в .env

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    A
    quality
    A
    maintenance
    An 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.
    29
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables 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.
    70
    8
    1
    MIT
  • F
    license
    A
    quality
    A
    maintenance
    MCP 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

View all related MCP servers

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)

View all MCP Connectors

Latest Blog Posts

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