À propos du projet

ARR-MCP est un serveur MCP (Model Context Protocol) qui connecte des assistants IA comme Claude, Cursor et VS Code à la suite média *Arr, incluant Sonarr, Radarr, Prowlarr, Bazarr, qBittorrent et NZBGet. Il prend en charge plusieurs instances de chaque service, permettant aux utilisateurs d'exécuter des configurations distinctes (par exemple, des instances Sonarr 4K et 1080p) et de les adresser par leur nom. Le serveur implémente un véritable MCP en utilisant JSON-RPC 2.0 via stdio et Streamable HTTP, construit sur le SDK Go officiel. Il fournit 246 outils pour tous les services pris en charge, permettant aux utilisateurs d'effectuer des tâches qu'ils feraient autrement via l'interface web de chaque service. Ces outils couvrent la gestion de bibliothèque, les opérations de recherche et d'importation, la configuration des profils de qualité, la gestion des fournisseurs et les opérations système. Principales caractéristiques : - Prise en charge multi-instance avec instances nommées et sélection par défaut - Contrôles de permissions avec trois modes : lecture seule, confirmation (par défaut) et accès complet - Paramètres de portée de confirmation pour les opérations d'écriture ou destructrices - Comportement de repli pour les clients sans prise en charge de l'élicitation - Binaire statique unique avec conteneur distroless et prise en charge d'images multi-architectures - Manifestes de déploiement Kubernetes inclus La configuration peut être effectuée via des variables d'environnement pour des instances uniques ou un fichier config.yaml pour plusieurs instances. Le fichier de configuration prend en charge la référence à des secrets via des variables d'environnement, ce qui permet de le committer ou de le monter depuis une ConfigMap en toute sécurité. Le serveur valide la configuration au démarrage, détectant les erreurs avant qu'elles ne se manifestent pendant l'opération. Les outils sont organisés par service et par type d'accès (lecture, écriture, destructif). Sonarr et Radarr maintiennent une parité avec 62 noms d'outils communs. Bazarr fournit des outils de gestion des sous-titres, Prowlarr gère la gestion des indexeurs et la récupération de releases, tandis que qBittorrent et NZBGet offrent respectivement une fonctionnalité de client de téléchargement torrent et Usenet. Le serveur inclut des contrôles de santé, prend en charge les transports stdio et HTTP, et fournit une configuration prête à copier-coller pour divers clients MCP. Les charges utiles de réponse sont projetées pour inclure uniquement les champs pertinents plutôt que l'intégralité des données amont, ce qui garde les réponses gérables tout en fournissant les informations nécessaires à la prise de décision.