127 lines
3.9 KiB
Markdown
127 lines
3.9 KiB
Markdown
# Mikes ARR-MCP
|
|
|
|
Ein kleiner, eigenständiger Docker-Container für **Sonarr und Radarr**. Das
|
|
Dockerfile basiert bereits auf Debian Slim; ein leerer Debian-Container muss
|
|
nicht vorher angelegt oder nachträglich verändert werden.
|
|
|
|
MCP-Endpunkt nach der Standardinstallation:
|
|
|
|
```text
|
|
http://<UNRAID-IP>:8207/mcp
|
|
```
|
|
|
|
## Warum nicht einfach der unveränderte Knuckles-MCP?
|
|
|
|
Stand 28. August 2026 wurde `Knuckles-Team/arr-mcp` 2.1.0 geprüft. Übernommen
|
|
werden dessen Python-3.14-Slim-Basis, `/health`-Check, Prozess-Init und begrenzte
|
|
Docker-Logs. Nicht übernommen wird die generische Oberfläche mit
|
|
`sonarr_action(action, params_json)` und `radarr_action(action, params_json)`.
|
|
Ein kleines Modell muss dabei Methodennamen und Parameter erraten und kann
|
|
versehentlich eine Schreibaktion wählen. Das Paket 2.1.0 selbst wird noch nicht
|
|
als Basis verwendet: Seine veröffentlichte PyPI-Version verlangt derzeit ein
|
|
nicht öffentlich verfügbares `agent-utilities >=2.0.0`. Die reproduzierbar
|
|
installierbare Basis bleibt deshalb vorläufig `arr-mcp[mcp]==1.0.1`.
|
|
|
|
Dieser Fork bietet stattdessen eindeutige Werkzeuge mit festen Parametern:
|
|
|
|
```text
|
|
sonarr_find_series
|
|
sonarr_get_season_summary
|
|
sonarr_search_releases
|
|
sonarr_system_status
|
|
radarr_find_movie
|
|
radarr_movie_codec_inventory
|
|
radarr_search_releases
|
|
```
|
|
|
|
Alle sieben sind rein lesend. Es gibt keinen Raw-Request und kein generisches
|
|
Action-Werkzeug. `sonarr_search_releases` ändert insbesondere kein Monitoring
|
|
und startet weder automatische Suche noch Download.
|
|
|
|
Nur mit `ARR_MCP_WRITE=1` erscheinen zusätzlich:
|
|
|
|
```text
|
|
sonarr_preview_release_grab
|
|
sonarr_grab_release
|
|
sonarr_preview_episode_search
|
|
sonarr_start_episode_search
|
|
```
|
|
|
|
Die beiden ausführenden Werkzeuge verlangen eine vorherige Vorschau, eine
|
|
ausdrückliche Bestätigung und ein kurzlebiges Ticket. Radarr-Schreibwerkzeuge
|
|
sind absichtlich nicht enthalten.
|
|
|
|
## Installation auf Unraid
|
|
|
|
Im vollständigen Checkout als root genau einen Befehl ausführen:
|
|
|
|
```bash
|
|
./services/arr-mcp/install-on-unraid.sh
|
|
```
|
|
|
|
Beim ersten Lauf wird nur diese Datei angelegt:
|
|
|
|
```text
|
|
/mnt/nvme-storage/appdata/ARR-MCP/arr-mcp.env
|
|
```
|
|
|
|
Dort `SONARR_TOKEN` und `RADARR_TOKEN` eintragen und denselben Befehl erneut
|
|
starten. Das Skript baut `mike-ai/arr-mcp:1.1.0`, startet ausschließlich
|
|
`ARR-MCP` und installiert die vorhandene Unraid-DockerMan-Vorlage. Eine
|
|
vorhandene Env-Datei wird weder angezeigt noch überschrieben.
|
|
|
|
### Kurzer Auftrag für Hermes/Qwen
|
|
|
|
```text
|
|
Installiere Mikes ARR-MCP aus
|
|
ssh://git@192.168.1.2:33/michael/AI-Profile-Router.git auf Unraid. Lies dazu
|
|
services/arr-mcp/README.md und führe ausschließlich
|
|
services/arr-mcp/install-on-unraid.sh aus. Erfinde keinen eigenen Container und
|
|
keine andere ARR-Konfiguration. Falls SONARR_TOKEN oder RADARR_TOKEN fehlen,
|
|
stoppe und nenne mir nur die fehlenden Variablennamen; zeige keine vorhandenen
|
|
Werte an. Melde am Ende nur Containerstatus, Healthcheck, MCP-URL und die
|
|
angebotenen Werkzeugnamen.
|
|
```
|
|
|
|
## Vorhandener nackter Debian-Slim-Container
|
|
|
|
Nur als Alternative, wenn bewusst bereits ein persistenter Debian-Slim-
|
|
Container mit dem kompletten Repository läuft:
|
|
|
|
```bash
|
|
./services/arr-mcp/install-in-debian-slim.sh
|
|
```
|
|
|
|
Danach startet `/usr/local/bin/run-arr-mcp` den Server. Dieser Weg ist weniger
|
|
reproduzierbar; bei Neuerstellung des Containers geht die nachträgliche
|
|
Installation verloren. Der Dockerfile-Build oben ist deshalb empfohlen.
|
|
|
|
## MCP-Client eintragen
|
|
|
|
```yaml
|
|
mcp_servers:
|
|
arr:
|
|
url: http://192.168.1.2:8207/mcp
|
|
timeout: 600
|
|
```
|
|
|
|
Danach die Werkzeugliste neu laden oder einen neuen Chat öffnen.
|
|
|
|
## Test, Update und Entfernung
|
|
|
|
Offline-Tests:
|
|
|
|
```bash
|
|
python3 -m unittest dev/test_sonarr_release_grab.py dev/test_radarr_patch.py
|
|
```
|
|
|
|
Update nach `git pull`: denselben Installationsbefehl erneut ausführen.
|
|
|
|
Entfernung:
|
|
|
|
```bash
|
|
./services/arr-mcp/install-on-unraid.sh uninstall
|
|
```
|
|
|
|
Die Appdata-Konfiguration bleibt dabei als Rückfall erhalten.
|