n8n-mcp-community 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,27 @@ All notable changes to this project will be documented here. The format follows
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.3.2] - Frozen release candidate
10
+
11
+ Version 0.3.2 is a frozen release candidate. Availability is established only
12
+ by matching npm provenance, GitHub Release assets and signatures, and MCP
13
+ Registry readbacks; this immutable entry is not rewritten after publication.
14
+
15
+ ### Security
16
+
17
+ - The runtime now uses `@modelcontextprotocol/sdk` 1.32.1, which removes the
18
+ vulnerable `1.30.0` release identified by GHSA-6qxp-vccf-f47h.
19
+ - The resolved Express dependency is now 5.3.0 and uses `proxy-addr` 2.0.8,
20
+ clearing GHSA-jqcg-44mw-7w3h from both production and complete npm audits.
21
+ - Runtime SBOM generation now derives its inventory from every production
22
+ lockfile path and rejects omissions, including packages that npm also sees
23
+ through a development path.
24
+
25
+ ### Changed
26
+
27
+ - `typescript-eslint` is updated to 8.71.2. This maintenance release does not
28
+ change the public 44-tool, 5-resource, and 4-prompt MCP contract.
29
+
9
30
  ## [0.3.1] - Frozen release candidate
10
31
 
11
32
  Version 0.3.1 is a frozen release candidate. Availability is established only
@@ -367,6 +388,7 @@ Registry readbacks; this immutable entry is not rewritten after publication.
367
388
  publishable history; authenticated public release receipts remain supported.
368
389
 
369
390
  [Unreleased]: #unreleased
391
+ [0.3.2]: #032---frozen-release-candidate
370
392
  [0.3.1]: #031---frozen-release-candidate
371
393
  [0.3.0]: #030---frozen-release-candidate
372
394
  [0.2.1]: #021---frozen-release-candidate
package/README.md CHANGED
@@ -104,7 +104,7 @@ how to check the download.
104
104
  The current source candidate has been verified with:
105
105
 
106
106
  - exactly **44 tools**, **5 resources**, and **4 prompts** over real stdio;
107
- - **319 passing tests** locally on Node.js 24.21.0; CI and release gates require
107
+ - **320 passing tests** locally on Node.js 24.21.0; CI and release gates require
108
108
  the pinned Node.js 22.23.1 and 24.18.0 matrix;
109
109
  - zero findings from Gitleaks, Semgrep, Trivy, and both project-root
110
110
  production/full `npm audit` runs; all three source scanners are reproduced in
@@ -112,7 +112,7 @@ The current source candidate has been verified with:
112
112
  - a separate no-override consumer install that resolves the patched
113
113
  `@hono/node-server` 2.x line, requires a zero-finding production audit, and
114
114
  proves the stdio runtime and exact 44/5/4 inventory;
115
- - a reproducible dependency-license gate covering 186 installed package paths;
115
+ - a reproducible dependency-license gate covering 187 installed package paths;
116
116
  - bounded same-origin HTTP contracts and zero-request policy-denial tests;
117
117
  - all 44 compiled tool lifecycles on disposable n8n Community 2.30.5 and 2.30.7
118
118
  instances with egress isolation, revoked keys, cleanup, and zero residue; and
package/dist/version.js CHANGED
@@ -1 +1 @@
1
- export const PACKAGE_VERSION = "0.3.1";
1
+ export const PACKAGE_VERSION = "0.3.2";
@@ -20,6 +20,12 @@ The package declares Node.js `>=22.0.0`. That engine range is an acceptance
20
20
  floor, not evidence that every later major has completed the release matrix.
21
21
  The supported release lines for v0.3.x are Node.js 22 and 24.
22
22
 
23
+ ## Upgrading to 0.3.2
24
+
25
+ Install `n8n-mcp-community@latest` again, then restart the MCP client. This
26
+ maintenance release updates the MCP SDK and its resolved HTTP dependencies; it
27
+ does not change the connection values, modes, or 44/5/4 MCP inventory.
28
+
23
29
  ## Upgrading to 0.3.0
24
30
 
25
31
  Install `n8n-mcp-community@latest` again, then restart the MCP client. The
@@ -48,7 +54,7 @@ names. MCP clients receive these constraints when they reconnect.
48
54
  The connection values are unchanged. Global npm users keep the same client
49
55
  entry. Users who followed the 0.1.x npx guide must replace the pinned
50
56
  `n8n-mcp-community@0.1.4` argument with `n8n-mcp-community@latest` or
51
- `n8n-mcp-community@0.3.1`. After updating, restart the MCP client and confirm the
57
+ `n8n-mcp-community@0.3.2`. After updating, restart the MCP client and confirm the
52
58
  version and 44/5/4 inventory.
53
59
 
54
60
  Since 0.2.0, the 14 unsafe tools no longer publish or require a `confirmation` field;
@@ -92,7 +92,7 @@ unsafe tools.
92
92
 
93
93
  Global npm users do not edit the client entry. If you followed the 0.1.x npx
94
94
  guide, your client is pinned to `n8n-mcp-community@0.1.4`: replace that argument
95
- with `n8n-mcp-community@latest` or `n8n-mcp-community@0.3.1`. Restart the client,
95
+ with `n8n-mcp-community@latest` or `n8n-mcp-community@0.3.2`. Restart the client,
96
96
  run the npx version check below, and confirm the 44/5/4 inventory.
97
97
 
98
98
  If custom code sends raw tool-call JSON, remove the former `confirmation` field
@@ -53,9 +53,9 @@ fails on:
53
53
  - missing license metadata;
54
54
  - a package that declares a license or notice file but omits it.
55
55
 
56
- The current source candidate covers 186 installed package paths representing
57
- 185 unique components: 93 runtime paths and 93 development paths. The effective
58
- licenses are 151 MIT, 11 ISC, 13 Apache-2.0, 7 BSD-2-Clause, 3 BSD-3-Clause,
56
+ The current source candidate covers 187 installed package paths representing
57
+ 186 unique components: 94 runtime paths and 93 development paths. The effective
58
+ licenses are 152 MIT, 11 ISC, 13 Apache-2.0, 7 BSD-2-Clause, 3 BSD-3-Clause,
59
59
  and 1 BlueOak-1.0.0, with no missing integrity, license, or documented notice.
60
60
  Four exact-pinned development-only packages use the reviewed missing-file
61
61
  exception described in [third-party notices](../THIRD_PARTY_NOTICES.md). No
@@ -82,13 +82,18 @@ Generate the release runtime CycloneDX SBOM from the committed lockfile with:
82
82
  npm run sbom > sbom.cdx.json
83
83
  ```
84
84
 
85
- This runtime-only SBOM contains 78 unique production components for the shared
86
- npm/MCPB runtime graph. Maintainers may separately generate the complete
87
- 185-component graph with `npm run sbom:full`; it is audit evidence,
88
- not the release artifact SBOM. Every release candidate must carry a runtime
89
- SBOM for the npm package and MCPB, plus SHA-256 checksums and signatures tied to
90
- the exact Git revision; availability is established only by the corresponding
91
- published-release readbacks.
85
+ The runtime-only SBOM contains all 93 unique production components across the
86
+ 94 production lockfile paths shared by the npm and MCPB runtime. The generator
87
+ starts from npm's complete CycloneDX graph, derives the runtime set from the
88
+ committed lockfile, and rejects missing, extra, development-only, or invalid
89
+ dependency entries. This prevents npm's `--omit=dev` classification from
90
+ dropping a runtime component that is also reachable through development tools.
91
+ Maintainers may separately generate the complete 186-component graph with
92
+ `npm run sbom:full`; it is audit evidence, not the release artifact SBOM.
93
+
94
+ Every release candidate must carry a runtime SBOM for the npm package and MCPB, plus
95
+ SHA-256 checksums and signatures tied to the exact Git revision; availability
96
+ is established only by the corresponding published-release readbacks.
92
97
  The package and MCPB must be reconstructed from a clean checkout and match the
93
98
  documented inventory.
94
99
 
@@ -1,6 +1,6 @@
1
1
  # Security model
2
2
 
3
- This document describes the controls and residual risks of the v0.3.1 source
3
+ This document describes the controls and residual risks of the v0.3.2 source
4
4
  candidate. It is a threat model, not a claim that the software or the connected
5
5
  n8n instance is invulnerable.
6
6
 
@@ -157,15 +157,16 @@ native confirmations based on the published MCP annotations.
157
157
 
158
158
  ### Downstream dependency resolution
159
159
 
160
- MCP SDK 1.30.0 permits the patched `@hono/node-server` 2.x line directly, so
161
- this project no longer needs a package-root override that downstream consumers
162
- would not inherit. The verification gate packs the candidate, installs it in a
163
- disposable consumer without overrides, rejects `@hono/node-server` versions
164
- below 2.0.5 or outside major version 2, requires a zero-finding production
165
- audit, and proves the exact MCP inventory still starts. Candidate evidence does
166
- not establish publication: the released version must pass the same clean
167
- consumer audit after npm provenance and the other external release readbacks
168
- agree.
160
+ The pinned MCP SDK 1.32.1 permits the patched `@hono/node-server` 2.x line
161
+ directly, so this project no longer needs a package-root override that
162
+ downstream consumers would not inherit. Its Express range also resolves
163
+ Express 5.3.0 with `proxy-addr` 2.0.8 in this candidate. The verification gate
164
+ packs the candidate, installs it in a disposable consumer without overrides,
165
+ rejects `@hono/node-server` versions below 2.0.5 or outside major version 2,
166
+ requires a zero-finding production audit, and proves the exact MCP inventory
167
+ still starts. Candidate evidence does not establish publication: the released
168
+ version must pass the same clean consumer audit after npm provenance and the
169
+ other external release readbacks agree.
169
170
 
170
171
  The SDK dependency range also permits the legacy 1.x line. A separate host
171
172
  project that co-installs another dependency constraining `@hono/node-server` to
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-mcp-community",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "A security-focused MCP server for self-hosted n8n Community Edition.",
5
5
  "private": false,
6
6
  "releaseState": "candidate",
@@ -87,6 +87,7 @@
87
87
  "check:registry": "node scripts/verify-registry-schema.mjs",
88
88
  "check:readme-count": "node scripts/verify-readme-test-count.mjs",
89
89
  "check:release": "node scripts/verify-release-policy.mjs",
90
+ "check:sbom": "node scripts/generate-runtime-sbom.mjs --check",
90
91
  "docs:check": "npm run build && node scripts/verify-documentation.mjs",
91
92
  "format": "prettier --write .",
92
93
  "format:check": "prettier --check .",
@@ -97,7 +98,7 @@
97
98
  "prepublishOnly": "npm run verify",
98
99
  "demo:check": "node scripts/render-demo-gif.mjs --check",
99
100
  "demo:render": "node scripts/render-demo-gif.mjs",
100
- "sbom": "npm sbom --package-lock-only --omit=dev --sbom-format cyclonedx --sbom-type application",
101
+ "sbom": "node scripts/generate-runtime-sbom.mjs",
101
102
  "sbom:full": "npm sbom --package-lock-only --sbom-format cyclonedx --sbom-type application",
102
103
  "test:contract": "npm run build && npm run test:compile && node --test --test-concurrency=1 .test-dist/test/mcp-contract.test.js .test-dist/test/n8n-client.test.js .test-dist/test/tool-contract.test.js",
103
104
  "test:coverage": "npm run build && npm run test:compile && node --test --test-concurrency=1 --experimental-test-coverage --test-coverage-include='.test-dist/src/**/*.js' --test-coverage-exclude='.test-dist/src/index.js' --test-coverage-lines=90 --test-coverage-functions=90 --test-coverage-branches=85 .test-dist/test/**/*.test.js",
@@ -105,13 +106,13 @@
105
106
  "test:examples": "npm run build && node scripts/verify-examples.mjs",
106
107
  "test": "npm run build && npm run test:compile && node --test --test-concurrency=1 .test-dist/test/**/*.test.js",
107
108
  "typecheck": "tsc --noEmit --pretty false && tsc -p tsconfig.scripts.json --pretty false",
108
- "check": "npm run format:check && npm run licenses:check && npm run lint && npm run typecheck && npm test && npm run check:readme-count && npm run check:metadata && npm run check:release && npm run check:docs && npm run check:language && npm run test:examples && npm run check:inventory && npm run check:public-boundary && npm run check:artifact-review",
109
- "check:contributor": "npm run format:check && npm run licenses:check && npm run lint && npm run typecheck && npm test && npm run check:readme-count && npm run check:metadata && npm run check:release && npm run check:docs && npm run check:language && npm run test:examples && npm run check:inventory && npm run check:public-boundary",
109
+ "check": "npm run format:check && npm run licenses:check && npm run check:sbom && npm run lint && npm run typecheck && npm test && npm run check:readme-count && npm run check:metadata && npm run check:release && npm run check:docs && npm run check:language && npm run test:examples && npm run check:inventory && npm run check:public-boundary && npm run check:artifact-review",
110
+ "check:contributor": "npm run format:check && npm run licenses:check && npm run check:sbom && npm run lint && npm run typecheck && npm test && npm run check:readme-count && npm run check:metadata && npm run check:release && npm run check:docs && npm run check:language && npm run test:examples && npm run check:inventory && npm run check:public-boundary",
110
111
  "verify": "npm run check && npm run test:coverage && npm run check:distribution && npm run check:consumer && npm run check:registry",
111
112
  "verify:contributor": "npm run check:contributor && npm run test:coverage && npm run check:distribution:contributor && npm run check:consumer && npm run check:registry"
112
113
  },
113
114
  "dependencies": {
114
- "@modelcontextprotocol/sdk": "1.30.0",
115
+ "@modelcontextprotocol/sdk": "1.32.1",
115
116
  "zod": "3.25.76"
116
117
  },
117
118
  "devDependencies": {
@@ -124,7 +125,7 @@
124
125
  "globals": "17.13.0",
125
126
  "prettier": "3.9.9",
126
127
  "typescript": "5.9.3",
127
- "typescript-eslint": "8.71.0",
128
+ "typescript-eslint": "8.71.2",
128
129
  "yaml": "2.9.1"
129
130
  }
130
131
  }
package/server.json CHANGED
@@ -8,13 +8,13 @@
8
8
  "url": "https://github.com/drzamarian/n8n-mcp-community",
9
9
  "source": "github"
10
10
  },
11
- "version": "0.3.1",
11
+ "version": "0.3.2",
12
12
  "packages": [
13
13
  {
14
14
  "registryType": "npm",
15
15
  "registryBaseUrl": "https://registry.npmjs.org",
16
16
  "identifier": "n8n-mcp-community",
17
- "version": "0.3.1",
17
+ "version": "0.3.2",
18
18
  "transport": {
19
19
  "type": "stdio"
20
20
  },