update
NixOS Configuration CI / Nix Flake Check (push) Successful in 8s

This commit is contained in:
2026-09-23 12:04:12 +02:00
parent eab27798b2
commit 471a7b4fbf
20 changed files with 33235 additions and 1661 deletions
+1
View File
@@ -22,6 +22,7 @@ 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-searxng | Privacy-respecting web search and URL reading via SearXNG | 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 |
Generated
+1 -18
View File
@@ -18,24 +18,7 @@
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs",
"rust-nixpkgs": "rust-nixpkgs"
}
},
"rust-nixpkgs": {
"locked": {
"lastModified": 1786599213,
"narHash": "sha256-yNJd40f11EzXBjSByCB7IPpeFFAdeoSKKM67dGkfFoU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0e251e24a4f24e036a084b6b4b2d2491af4167f4",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0e251e24a4f24e036a084b6b4b2d2491af4167f4",
"type": "github"
"nixpkgs": "nixpkgs"
}
}
},
+1
View File
@@ -60,6 +60,7 @@
packages = builtins.attrValues mcpPackages ++ [ pkgs.mcp-nixos pkgs.git ];
shellHook = ''
export SEARXNG_BASE_URL="https://search.bueso.eu"
export SEARXNG_URL="https://search.bueso.eu"
'';
};
}
+13
View File
@@ -39,6 +39,14 @@
"command": ["simple-web-search-mcp"],
"enabled": true
},
"mcp-searxng": {
"type": "local",
"command": ["mcp-searxng"],
"enabled": true,
"environment": {
"SEARXNG_URL": "https://search.bueso.eu"
}
},
"rust-research": {
"type": "local",
"command": ["rust-research-mcp"],
@@ -96,6 +104,11 @@
"type": "local",
"command": ["mcp-score", "serve"],
"enabled": true
},
"docx": {
"type": "local",
"command": ["docx-mcp"],
"enabled": true
}
}
}
+2 -2
View File
@@ -6,14 +6,14 @@
python3Packages.buildPythonApplication rec {
pname = "applemusic-mcp";
version = "0.18.3";
version = "0.20.1";
pyproject = true;
src = fetchFromGitHub {
owner = "epheterson";
repo = "applemusic-mcp";
rev = "v${version}";
hash = "sha256-VHW7ct824hW+Gv3x6tMDGnvx3Hj/0ZDqGjc7yQOaf7U=";
hash = "sha256-T956sblq/4TrAXkY4cwIFDPW6a2bjzyeyRyejYB4ARc=";
};
build-system = with python3Packages; [
+1
View File
@@ -30,5 +30,6 @@
slskd-mcp = pkgs.callPackage ./slskd-mcp/package.nix { };
yarr = pkgs.callPackage ./yarr/package.nix { };
pdf-mcp = pkgs.callPackage ./pdf-mcp/package.nix { };
mcp-searxng = pkgs.callPackage ./mcp-searxng/package.nix { };
# example-mcp-server = pkgs.callPackage ./example-mcp-server/package.nix { };
}
+3 -2
View File
@@ -6,14 +6,14 @@
python3Packages.buildPythonApplication rec {
pname = "duckduckgo-mcp-server";
version = "0.4.0";
version = "0.6.1";
pyproject = true;
src = fetchFromGitHub {
owner = "nickclyde";
repo = "duckduckgo-mcp-server";
rev = "v${version}";
hash = "sha256-g1mpBrhuCt3g/XnUfHoY8lJDMizINypikj8Lqk2LVuE=";
hash = "sha256-X99edQE4317/WEadi/QQnLZHpWCMBW2ipa8am4lfO2Q=";
};
build-system = [ python3Packages.hatchling ];
@@ -21,6 +21,7 @@ python3Packages.buildPythonApplication rec {
dependencies = with python3Packages; [
beautifulsoup4
httpx
httpcore
mcp
];
@@ -71,14 +71,14 @@ let
in
python313Packages.buildPythonApplication rec {
pname = "kindly-web-search-mcp-server";
version = "0.1.8-unstable";
version = "0.1.9-unstable";
pyproject = true;
src = fetchFromGitHub {
owner = "Shelpuk-AI-Technology-Consulting";
repo = "kindly-web-search-mcp-server";
rev = "2b76afb37bf311facbde6750d0a0c0cbdfb8fec2";
hash = "sha256-90QHr2FPiMSwKXmjlZ2W9NIQvj3LDXzYIq6m/Z+sJMw=";
rev = "52a4e480d8041f8d4f388cee1ddecbd8e1ab01c7";
hash = "sha256-Mf3PMUic3XiNkiABRy6DrEhoGwcqq/xThU4ROO4S8dY=";
};
build-system = with python313Packages; [
@@ -95,10 +95,18 @@ python313Packages.buildPythonApplication rec {
pymupdf
fastmcp
trafilatura
starlette
uvicorn
];
nativeBuildInputs = [ makeWrapper ];
# Upstream pins floors newer than nixpkgs currently ships (starlette 1.6,
# pydantic 2.13, beautifulsoup4 4.15, trafilatura 2.2, ...). The APIs this
# server actually uses are present in the nixpkgs versions, so the strict
# runtime-deps floor check is skipped here.
dontCheckRuntimeDeps = true;
# Wrap with Chromium path for headless browser content extraction
postInstall = ''
wrapProgram $out/bin/kindly-web-search-mcp-server \
+3 -3
View File
@@ -6,14 +6,14 @@
python3Packages.buildPythonApplication rec {
pname = "mcp-email-server";
version = "1.4.1";
version = "1.9.1";
pyproject = true;
src = fetchFromGitHub {
owner = "Wh1isper";
repo = "mcp-email-server";
rev = "a1668a912db08373cc109b7482363129c75fd646";
hash = "sha256-Zt+198bQMthp6Mxmmsd7eTh9iybqOXWuVqLylzfUiIg=";
rev = "1.9.1";
hash = "sha256-FGjpRkVOFLkqY45Wl1lBuSWZvUnkyESZPeAB+d+1KYw=";
};
build-system = with python3Packages; [
+5 -5
View File
@@ -6,10 +6,10 @@
}:
let
# music21 is not in nixpkgs; vendor it (upstream mcp-score pins >=9.0,<10)
# music21 is not in nixpkgs; vendor it (upstream mcp-score pins >=10.5,<11)
music21 = python313Packages.buildPythonPackage rec {
pname = "music21";
version = "9.9.2";
version = "10.5.0";
format = "wheel";
src = fetchPypi {
@@ -17,7 +17,7 @@ let
format = "wheel";
dist = "py3";
python = "py3";
hash = "sha256-ZIAQq40TKNCxB0bO8UV+hLEidM0xYkgifpbSHielGMo=";
hash = "sha256-mSTv9fv1hJDmfL87eKWLpTBA53woGTDTVK8yp0fpRgY=";
};
propagatedBuildInputs = with python313Packages; [
@@ -50,8 +50,8 @@ python313Packages.buildPythonApplication rec {
src = fetchFromGitHub {
owner = "tskovlund";
repo = "mcp-score";
rev = "3ff9d4b6504fcee5032c44fdcf7dc1d7a21a4b5d";
hash = "sha256-zrpvzxi8AbF5/etuvMZLni4HSFBYGRe55rpKJJEAg60=";
rev = "b2155a59119103c39a37f14166d0d6920e564c76";
hash = "sha256-XYZjGa7pWaVmZ4dF/vOLkrYjSjNXP/148DQjujMdvIU=";
};
build-system = with python313Packages; [
File diff suppressed because it is too large Load Diff
+32
View File
@@ -0,0 +1,32 @@
{
lib,
buildNpmPackage,
fetchzip,
}:
buildNpmPackage rec {
pname = "mcp-searxng";
version = "2.4.0";
src = fetchzip {
url = "https://registry.npmjs.org/mcp-searxng/-/mcp-searxng-${version}.tgz";
hash = "sha256-WB1p3+IDPpRzXh1WSFbWA3ezX8Ih2FsZlV3D3od/v1A=";
};
npmDepsHash = "sha256-srchzmiehwh4wOzhXfDbHiT7t4i8FPRSlakdUGIF/Ks=";
postPatch = ''
cp ${./package-lock.json} package-lock.json
'';
# dist/ is already built in the npm tarball
dontNpmBuild = true;
meta = with lib; {
description = "MCP server integrating SearXNG for privacy-respecting web search and URL reading";
homepage = "https://github.com/ihor-sokoliuk/mcp-searxng";
license = licenses.mit;
mainProgram = pname;
platforms = platforms.all;
};
}
+24788 -230
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -8,14 +8,14 @@
buildNpmPackage rec {
pname = "n8n-mcp";
version = "2.35.1";
version = "2.87.0";
src = fetchzip {
url = "https://registry.npmjs.org/${pname}/-/${pname}-${version}.tgz";
hash = "sha256-CWHH1ACcMCWkLahV5fTO0/k5OtfVUKNldHseDP8EfEk=";
hash = "sha256-YEINthnVgy5nc0KPPHWhXBiiA5vR/ThKqie9lJ6d3co=";
};
npmDepsHash = "sha256-x9ziuYxZPQMqkB2HA4HmGkpge7NGp9t4t4aNTi0XXn4=";
npmDepsHash = "sha256-oy3aR16bTuyztbY3rgTo2z66/4kCk2BNE4BLZjhtki8=";
postPatch = ''
cp ${./package-lock.json} package-lock.json
+2 -2
View File
@@ -6,11 +6,11 @@
buildNpmPackage rec {
pname = "navidrome-mcp";
version = "2.2.0";
version = "2.3.0";
src = fetchzip {
url = "https://registry.npmjs.org/${pname}/-/${pname}-${version}.tgz";
hash = "sha256-1wZyM0GJUrQfzBK1tWqqIcVk90KUv/9wt2ZpRobQp/A=";
hash = "sha256-npUgzJpB0DaFuzU/1SuOIOVvd2gqZtb1Kos7NC8/Pd4=";
};
npmDepsHash = "sha256-58OZ4qVfeN+0LVzcSJQHQqiY66gPSGWI6ht/4fMp0oQ=";
+2 -2
View File
@@ -132,14 +132,14 @@ let
in
python3Packages.buildPythonApplication rec {
pname = "nextcloud-mcp-server";
version = "0.173.0";
version = "0.184.0";
pyproject = true;
src = fetchFromGitHub {
owner = "cbcoutinho";
repo = "nextcloud-mcp-server";
rev = "v${version}";
hash = "sha256-wN0LUoKD4qR00H1eTeIHEoAmSEC7YY+sQ2HtY6oerjE=";
hash = "sha256-IfICpyuSZRZBwAmZ6onWTT39Gc6oFYzTdtEZqawGZC4=";
};
build-system = [ python3Packages.uv-build ];
+3740 -1379
View File
File diff suppressed because it is too large Load Diff
+13 -4
View File
@@ -2,24 +2,33 @@
lib,
buildNpmPackage,
fetchzip,
autoPatchelfHook,
stdenv,
}:
buildNpmPackage rec {
pname = "pdf-reader-mcp";
version = "2.3.0";
version = "4.1.3";
src = fetchzip {
url = "https://registry.npmjs.org/@sylphx/pdf-reader-mcp/-/pdf-reader-mcp-${version}.tgz";
hash = "sha256-nLtTYE5pSLigAQqsWx3TvntOign30vUJ4jaCDScm9oY=";
hash = "sha256-oxEL7lwEJdhPoA4p/HiQeMp9TP7al1z2KpiPTUPqn6c=";
};
npmDepsHash = "sha256-Z+C1pGJb1gCUR4qlM9ZSjhevqWPdCOVhL631GFaehbc=";
npmDepsHash = "sha256-3XohzskNUMGkIgZvQie9DA8DfHxJZGD86n+uVZPxMdg=";
# The runtime launcher spawns a prebuilt Rust binary shipped in the matching
# optional platform package. On Linux it is dynamically linked against glibc,
# so its interpreter and RPATH must be patched for NixOS.
nativeBuildInputs = lib.optional stdenv.isLinux autoPatchelfHook;
buildInputs = lib.optional stdenv.isLinux stdenv.cc.cc.lib;
postPatch = ''
cp ${./package-lock.json} package-lock.json
'';
# dist/ is already built in the npm tarball
# dist/ and the native Rust binary ship prebuilt; there is no build step.
dontNpmBuild = true;
meta = with lib; {
+3 -3
View File
@@ -6,13 +6,13 @@
let
wheel = fetchurl {
url = "https://files.pythonhosted.org/packages/6b/9c/dc73804f0f62208d59794080d009fb86b7ac6e9d4b5ad452791355dcfb51/transmission_mcp-1.0.1-py3-none-any.whl";
hash = "sha256-1TKb75iNKgMqw0YVZ+rDEac4IyCuj94y1OMzqQROCrI=";
url = "https://files.pythonhosted.org/packages/7e/81/fb2a2f2073d22b0a18c4c96b9c9ff386c3d0b49b6263097bf646d8b72800/transmission_mcp-1.1.0-py3-none-any.whl";
hash = "sha256-J22L3lY+XVdLdZeu8KuFdly0BkFUoAbX4GE/9a5kKSU=";
};
in
python3Packages.buildPythonApplication rec {
pname = "transmission-mcp";
version = "1.0.1";
version = "1.1.0";
format = "wheel";
src = wheel;
+5 -5
View File
@@ -10,7 +10,7 @@ let
# Internal dependency: pyzotero (not in nixpkgs)
pyzotero = python3Packages.buildPythonPackage rec {
pname = "pyzotero";
version = "1.13.5";
version = "1.14.0";
format = "wheel";
src = fetchPypi {
@@ -18,7 +18,7 @@ let
format = "wheel";
dist = "py3";
python = "py3";
hash = "sha256-KoHXv+ix6kRzvLUPOPBeAeAJaO/3bBxHi1PwUa5rDcg=";
hash = "sha256-OUoU8HTEFwVfzqopcLWUzpJaYJTJ09zIpzTgdCbs9BU=";
};
propagatedBuildInputs = with python3Packages; [
@@ -62,21 +62,21 @@ let
in
python3Packages.buildPythonApplication rec {
pname = "zotero-mcp";
version = "0.9.1";
version = "0.13.0";
pyproject = true;
src = fetchFromGitHub {
owner = "54yyyu";
repo = "zotero-mcp";
rev = "v${version}";
hash = "sha256-1A4aKGLFUmY+abLKhxmnSd3KaJtC8onda4/MkjrybIg=";
hash = "sha256-xL54SbaAczkwk4tkan+wVVTv9ACKIC6hcAADI2GTnxk=";
};
build-system = with python3Packages; [
hatchling
];
# Core dependencies (from pyproject.toml v0.9.1)
# Core dependencies (from pyproject.toml v0.13.0)
dependencies = with python3Packages; [
pyzotero
python-dotenv