This commit is contained in:
@@ -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
@@ -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"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -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"
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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; [
|
||||
|
||||
@@ -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 { };
|
||||
}
|
||||
@@ -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 \
|
||||
|
||||
@@ -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; [
|
||||
|
||||
@@ -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; [
|
||||
|
||||
Generated
+4606
File diff suppressed because it is too large
Load Diff
@@ -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;
|
||||
};
|
||||
}
|
||||
Generated
+24788
-230
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
@@ -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=";
|
||||
|
||||
@@ -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
File diff suppressed because it is too large
Load Diff
@@ -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; {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user