{ lib, buildNpmPackage, fetchzip, makeWrapper, python3, }: buildNpmPackage rec { pname = "n8n-mcp"; version = "2.35.1"; src = fetchzip { url = "https://registry.npmjs.org/${pname}/-/${pname}-${version}.tgz"; hash = "sha256-CWHH1ACcMCWkLahV5fTO0/k5OtfVUKNldHseDP8EfEk="; }; npmDepsHash = "sha256-x9ziuYxZPQMqkB2HA4HmGkpge7NGp9t4t4aNTi0XXn4="; postPatch = '' cp ${./package-lock.json} package-lock.json ''; # dist/ and data/ are already built in the npm tarball dontNpmBuild = true; # better-sqlite3 needs python3 for node-gyp nativeBuildInputs = [ makeWrapper python3 ]; # Disable telemetry by default in Nix builds postInstall = '' wrapProgram $out/bin/${pname} \ --set N8N_MCP_TELEMETRY_DISABLED "true" ''; meta = with lib; { description = "MCP server providing AI assistants with access to n8n node documentation and workflow management"; homepage = "https://github.com/czlonkowski/n8n-mcp"; license = licenses.mit; mainProgram = pname; platforms = platforms.all; }; }