From 7c5ea9129d2c637f4e440b01a2e716825f853f37 Mon Sep 17 00:00:00 2001 From: Luis Eduardo Bueso de Barrio Date: Mon, 13 Apr 2026 21:14:28 +0200 Subject: [PATCH] jellyfin-mcp --- README.md | 4 ++++ opencode.json | 9 +++++++++ packages/default.nix | 1 + packages/jellyfin-mcp/package.nix | 32 +++++++++++++++++++++++++++++++ 4 files changed, 46 insertions(+) create mode 100644 packages/jellyfin-mcp/package.nix diff --git a/README.md b/README.md index 4b5f5d8..a67b5a5 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,10 @@ This repository provides Nix derivations for MCP (Model Context Protocol) server | pdf-reader-mcp | Production‑ready PDF processing with parallel processing | TypeScript | | rust-research-mcp | Accumulate and organize academic knowledge | Rust | | simple-web-search-mcp | Zero-config web search and page reading for LLMs | TypeScript | +| mcp-arr-server | MCP server for *arr suite — Sonarr, Radarr, Lidarr, Prowlarr | TypeScript | +| transmission-mcp | MCP server for the Transmission BitTorrent client | Python | +| sabnzbd-mcp | MCP server for SABnzbd download management | Python | +| jellyfin-mcp | MCP server for Jellyfin — search, playback, metadata, admin | Go | | zotero-mcp | Connect Zotero research library with AI assistants | Python | ## Usage diff --git a/opencode.json b/opencode.json index 9a45dd7..fe85aad 100644 --- a/opencode.json +++ b/opencode.json @@ -82,6 +82,15 @@ "SABNZBD_API_KEY": "PLACEHOLDER", "SABNZBD_MCP_TRANSPORT": "stdio" } + }, + "jellyfin": { + "type": "local", + "command": ["jellyfin-mcp"], + "enabled": true, + "environment": { + "JELLYFIN_URL": "PLACEHOLDER", + "JELLYFIN_API_KEY": "PLACEHOLDER" + } } } } diff --git a/packages/default.nix b/packages/default.nix index 6b538bd..c89d7f3 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -23,5 +23,6 @@ mcp-arr-server = pkgs.callPackage ./mcp-arr-server/package.nix { }; transmission-mcp = pkgs.callPackage ./transmission-mcp/package.nix { }; sabnzbd-mcp = pkgs.callPackage ./sabnzbd-mcp/package.nix { }; + jellyfin-mcp = pkgs.callPackage ./jellyfin-mcp/package.nix { }; # example-mcp-server = pkgs.callPackage ./example-mcp-server/package.nix { }; } diff --git a/packages/jellyfin-mcp/package.nix b/packages/jellyfin-mcp/package.nix new file mode 100644 index 0000000..a2b3296 --- /dev/null +++ b/packages/jellyfin-mcp/package.nix @@ -0,0 +1,32 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, +}: + +buildGoModule rec { + pname = "jellyfin-mcp"; + version = "2026.318.7"; + + src = fetchFromGitHub { + owner = "jaredtrent"; + repo = "jellyfin-mcp"; + tag = "v${version}"; + hash = "sha256-/6Sy8C5+/x90ZTo74qX0agTHybsWw+Vg416GBM1PS7k="; + }; + + # go.mod requires 1.25.6 but nixpkgs has 1.25.5; patch to relax + postPatch = '' + substituteInPlace go.mod --replace-fail "go 1.25.6" "go 1.25.5" + ''; + + vendorHash = "sha256-WYb+BpnKUUrgcJ0zChdTb1oB99R8bTgpSXUtjPKhL6M="; + + meta = with lib; { + description = "MCP server for Jellyfin media server — search, playback, metadata, admin"; + homepage = "https://github.com/jaredtrent/jellyfin-mcp"; + license = licenses.mit; + mainProgram = "jellyfin-mcp"; + platforms = platforms.all; + }; +}