1 parent
471a7b4fbf
commit
f23109857b
3 files changed
+133
-11
No files matched your search
@@ -3,9 +3,18 @@
|
||||
python3Packages,
|
||||
fetchFromGitHub,
|
||||
fetchPypi,
|
||||
fetchurl,
|
||||
}:
|
||||
|
||||
let
|
||||
# Upstream >=0.185.0 was ported to the MCP SDK 2.x API
|
||||
# (`mcp.server.mcpserver.MCPServer`). nixpkgs pins the SDK at 1.x, so use the
|
||||
# per-package 2.x stack from packages/lib/mcp2.nix.
|
||||
mcp2 = import ../lib/mcp2.nix {
|
||||
inherit lib fetchurl;
|
||||
pythonPackages = python3Packages;
|
||||
};
|
||||
|
||||
# Helper: buildPythonPackage for a wheel fetched from PyPI
|
||||
# CRITICAL: pname MUST use underscores, not hyphens, for PyPI wheel filenames
|
||||
fetchWheel = { pname, version, hash, propagatedBuildInputs ? [ ], meta ? { } }:
|
||||
@@ -132,23 +141,24 @@ let
|
||||
in
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "nextcloud-mcp-server";
|
||||
version = "0.184.0";
|
||||
version = "0.195.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cbcoutinho";
|
||||
repo = "nextcloud-mcp-server";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-IfICpyuSZRZBwAmZ6onWTT39Gc6oFYzTdtEZqawGZC4=";
|
||||
hash = "sha256-k8WeVe1ScWN7Lh+trowzn+UVuQBgfgI1Klfz4w5F8do=";
|
||||
};
|
||||
|
||||
build-system = [ python3Packages.uv-build ];
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
mcp httpx pillow icalendar pydantic click pyjwt
|
||||
mcp2.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
|
||||
olefile openpyxl python-docx python-pptx
|
||||
|
||||
pythonvcard4 prometheus-client python-json-logger importlib-metadata
|
||||
googleapis-common-protos opentelemetry-api opentelemetry-proto
|
||||
@@ -163,13 +173,10 @@ python3Packages.buildPythonApplication rec {
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace-quiet '"uv_build>=0.12.1,<0.13.0"' '"uv_build"' \
|
||||
--replace-quiet '" (>=1.29,<1.30)"' '""' \
|
||||
--replace-quiet '" (>=2.1,<3)"' '""' \
|
||||
--replace-quiet '" (>=0.28.1,<0.29.0)"' '""' \
|
||||
--replace-quiet '" (>=10.3.0,<12.0.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)"' '""' \
|
||||
--replace-quiet '" (>=7.3.0,<7.4.0)"' '""' \
|
||||
--replace-quiet '">=3.0.1,<4.0"' '""' \
|
||||
--replace-quiet '">=3.8.0,<4.0"' '""' \
|
||||
--replace-quiet '">=3.2.13,<4.0"' '""' \
|
||||
@@ -189,6 +196,12 @@ python3Packages.buildPythonApplication rec {
|
||||
dontCheckRuntimeDeps = true;
|
||||
catchConflicts = false;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"nextcloud_mcp_server"
|
||||
"mcp"
|
||||
"pymupdf"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "MCP server for Nextcloud — files, calendar, contacts, notes, deck, talk, sharing";
|
||||
homepage = "https://github.com/cbcoutinho/nextcloud-mcp-server";
|
||||
|
||||
Reference in new issue
Block a user