Add yarr: Rust MCP server for media automation fleets (Sonarr, Radarr, Prowlarr, Jellyfin, SABnzbd, qBittorrent, Plex)
NixOS Configuration CI / Nix Flake Check (pull_request) Failing after 1m0s

Replaces the Node.js-based mcp-arr-server and jellyfin-mcp backends
in the gateway with a single Rust binary that covers both *arr and
Jellyfin. Rust binaries work through the gateway's stdio spawn
(where Node.js ones fail with 401).
This commit is contained in:
hermes-agent
2026-08-15 08:42:53 +00:00
parent 9bcb95b262
commit e5db294f18
3 changed files with 38 additions and 3 deletions
Generated
+3 -3
View File
@@ -2,11 +2,11 @@
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1781577229,
"narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=",
"lastModified": 1786599213,
"narHash": "sha256-yNJd40f11EzXBjSByCB7IPpeFFAdeoSKKM67dGkfFoU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "567a49d1913ce81ac6e9582e3553dd90a955875f",
"rev": "0e251e24a4f24e036a084b6b4b2d2491af4167f4",
"type": "github"
},
"original": {
+1
View File
@@ -28,5 +28,6 @@
navidrome-mcp = pkgs.callPackage ./navidrome-mcp/package.nix { };
ovhcloud-mcp = pkgs.callPackage ./ovhcloud-mcp/package.nix { };
slskd-mcp = pkgs.callPackage ./slskd-mcp/package.nix { };
yarr = pkgs.callPackage ./yarr/package.nix { };
# example-mcp-server = pkgs.callPackage ./example-mcp-server/package.nix { };
}
+34
View File
@@ -0,0 +1,34 @@
{
lib,
makeRustPlatform,
fetchFromGitHub,
rustc,
cargo,
}:
let
rustPlatform = makeRustPlatform {
inherit cargo rustc;
};
in
rustPlatform.buildRustPackage rec {
pname = "yarr";
version = "2.2.2";
src = fetchFromGitHub {
owner = "dinglebear-ai";
repo = "yarr";
rev = "15a599bab38a";
hash = "sha256-PlD2NYK06rVdKirUq2dw04WL9yFrM2TB1d67Weero0k=";
};
cargoHash = "sha256-e89uYPLqwhh1epedUvVEDTT4y35nuwLWlco4AVvKoK4=";
meta = with lib; {
description = "Rust MCP server for media automation fleets - Sonarr, Radarr, Prowlarr, Jellyfin, SABnzbd, qBittorrent, Plex";
homepage = "https://github.com/dinglebear-ai/yarr";
license = licenses.agpl3Only;
mainProgram = "yarr";
platforms = platforms.all;
};
}