From fcd3f6d0f0c4470d7b4de41dd3dab54c0d57a883 Mon Sep 17 00:00:00 2001 From: hermes-agent Date: Thu, 13 Aug 2026 16:28:47 +0000 Subject: [PATCH] Bump applemusic, zotero, nextcloud MCP servers to latest - applemusic-mcp: 0.15.1 -> 0.18.3 (adds keyring dep) - zotero-mcp: 0.5.0 -> 0.9.1 (pyzotero 1.13.5, vendored pdf-inspector, updated dep set per pyproject) - nextcloud-mcp-server: 0.121.3 -> 0.173.0 (adds anyio, uvicorn, cryptography, lxml, botocore, numpy, packaging, pypdfium2; updated postPatch for new uv_build/icalendar constraints) All hashes computed via nix build on wilkes; nix flake check passes. --- packages/applemusic-mcp/package.nix | 5 ++- packages/nextcloud-mcp-server/package.nix | 11 ++--- packages/zotero-mcp/package.nix | 54 +++++++++++++++-------- 3 files changed, 45 insertions(+), 25 deletions(-) diff --git a/packages/applemusic-mcp/package.nix b/packages/applemusic-mcp/package.nix index 9a637bf..4350a70 100644 --- a/packages/applemusic-mcp/package.nix +++ b/packages/applemusic-mcp/package.nix @@ -6,14 +6,14 @@ python3Packages.buildPythonApplication rec { pname = "applemusic-mcp"; - version = "0.15.1"; + version = "0.18.3"; pyproject = true; src = fetchFromGitHub { owner = "epheterson"; repo = "applemusic-mcp"; rev = "v${version}"; - hash = "sha256-N97bZyT8TWOrt1WS7W31OJaICwoUxFfcDDuRs+TweTQ="; + hash = "sha256-VHW7ct824hW+Gv3x6tMDGnvx3Hj/0ZDqGjc7yQOaf7U="; }; build-system = with python3Packages; [ @@ -26,6 +26,7 @@ python3Packages.buildPythonApplication rec { requests cryptography playwright + keyring ]; pythonImportsCheck = [ "applemusic_mcp" ]; diff --git a/packages/nextcloud-mcp-server/package.nix b/packages/nextcloud-mcp-server/package.nix index a44833b..15ccf29 100644 --- a/packages/nextcloud-mcp-server/package.nix +++ b/packages/nextcloud-mcp-server/package.nix @@ -132,14 +132,14 @@ let in python3Packages.buildPythonApplication rec { pname = "nextcloud-mcp-server"; - version = "0.121.3"; + version = "0.173.0"; pyproject = true; src = fetchFromGitHub { owner = "cbcoutinho"; repo = "nextcloud-mcp-server"; rev = "v${version}"; - hash = "sha256-U6BG5anTEllNnJzta4VV6QOfn86+N15q6v/SfLGM7mc="; + hash = "sha256-wN0LUoKD4qR00H1eTeIHEoAmSEC7YY+sQ2HtY6oerjE="; }; build-system = [ python3Packages.uv-build ]; @@ -148,6 +148,7 @@ python3Packages.buildPythonApplication rec { mcp httpx pillow icalendar pydantic click pyjwt aiosqlite alembic authlib fastembed anthropic boto3 starlette jinja2 markdownify pymupdf pymupdf4llm openai dynaconf sqlalchemy + anyio uvicorn cryptography lxml botocore numpy packaging pypdfium2 pythonvcard4 prometheus-client python-json-logger importlib-metadata googleapis-common-protos opentelemetry-api opentelemetry-proto @@ -161,11 +162,11 @@ python3Packages.buildPythonApplication rec { postPatch = '' substituteInPlace pyproject.toml \ - --replace-quiet '"uv_build>=0.11.5,<0.12.0"' '"uv_build"' \ - --replace-quiet '" (>=1.27,<1.28)"' '""' \ + --replace-quiet '"uv_build>=0.12.1,<0.13.0"' '"uv_build"' \ + --replace-quiet '" (>=1.29,<1.30)"' '""' \ --replace-quiet '" (>=0.28.1,<0.29.0)"' '""' \ --replace-quiet '" (>=10.3.0,<12.0.0)"' '""' \ - --replace-quiet '" (>=7.1.0,<7.2.0)"' '""' \ + --replace-quiet '" (>=7.2.0,<7.3.0)"' '""' \ --replace-quiet '" (>=3.0.1,<4.0)"' '""' \ --replace-quiet '" (>=1.28.2,<2.0.0)"' '""' \ --replace-quiet '" (>=2.0.0,<3.0.0)"' '""' \ diff --git a/packages/zotero-mcp/package.nix b/packages/zotero-mcp/package.nix index 08d1d72..3da5096 100644 --- a/packages/zotero-mcp/package.nix +++ b/packages/zotero-mcp/package.nix @@ -3,13 +3,14 @@ python3Packages, fetchFromGitHub, fetchPypi, + fetchurl, }: let # Internal dependency: pyzotero (not in nixpkgs) pyzotero = python3Packages.buildPythonPackage rec { pname = "pyzotero"; - version = "1.11.0"; + version = "1.13.5"; format = "wheel"; src = fetchPypi { @@ -17,7 +18,7 @@ let format = "wheel"; dist = "py3"; python = "py3"; - hash = "sha256-VDSMczLHnNGs9THyVI/I2MbqMeiemMQgIy2XoZOtlbI="; + hash = "sha256-KoHXv+ix6kRzvLUPOPBeAeAJaO/3bBxHi1PwUa5rDcg="; }; propagatedBuildInputs = with python3Packages; [ @@ -36,46 +37,60 @@ let license = licenses.blueOak100; }; }; + + # pdf-inspector: Rust with prebuilt abi3 wheels, not in nixpkgs. + # Pinned exactly (pre-1.0); no Python dependencies of its own. + pdf-inspector = python3Packages.buildPythonPackage rec { + pname = "pdf-inspector"; + version = "0.2.6"; + format = "wheel"; + + src = fetchurl { + url = "https://files.pythonhosted.org/packages/59/af/be72ab2bd310b6532e4311cf06175eb722802ccea29dbd9281f66c645bd8/pdf_inspector-0.2.6-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"; + hash = "sha256-33bdEAUEtwXOku8sZo8VLwUnfZQqvZSn0/JSy1RI1W0="; + }; + + doCheck = false; + pythonImportsCheck = [ "pdf_inspector" ]; + + meta = with lib; { + description = "PDF text extraction (Rust, abi3 wheels)"; + homepage = "https://github.com/54yyyu/pdf-inspector"; + license = licenses.mit; + }; + }; in python3Packages.buildPythonApplication rec { pname = "zotero-mcp"; - version = "0.5.0"; + version = "0.9.1"; pyproject = true; src = fetchFromGitHub { owner = "54yyyu"; repo = "zotero-mcp"; rev = "v${version}"; - hash = "sha256-ioy6bdP+jFioUGBKiiYtD4nbdFe6v2E3nCi6s9+dTT0="; + hash = "sha256-1A4aKGLFUmY+abLKhxmnSd3KaJtC8onda4/MkjrybIg="; }; build-system = with python3Packages; [ hatchling ]; - # Core dependencies + # Core dependencies (from pyproject.toml v0.9.1) dependencies = with python3Packages; [ pyzotero - mcp python-dotenv - markitdown + pdf-inspector + markdownify pydantic requests fastmcp + httpx unidecode - # PDF support - pymupdf - ebooklib - pdfplumber - # Semantic search - chromadb - sentence-transformers - openai - google-genai - tiktoken + bibtexparser ]; - # Optional: semantic search dependencies + # Optional extras (semantic search, PDF, scite) optional-dependencies = with python3Packages; { semantic = [ chromadb @@ -88,6 +103,9 @@ python3Packages.buildPythonApplication rec { pymupdf ebooklib ]; + scite = [ + requests + ]; }; pythonImportsCheck = [ "zotero_mcp" ]; -- 2.55.0