n8n-mcp-community 0.3.0 → 0.3.1
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 +25 -0
- package/README.md +3 -3
- package/ROADMAP.md +1 -1
- package/THIRD_PARTY_NOTICES.md +18 -19
- package/dist/version.js +1 -1
- package/docs/compatibility.md +6 -6
- package/docs/installation.md +1 -1
- package/docs/provenance.md +10 -11
- package/docs/security-model.md +1 -1
- package/package.json +7 -11
- package/server.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,30 @@ All notable changes to this project will be documented here. The format follows
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.3.1] - Frozen release candidate
|
|
10
|
+
|
|
11
|
+
Version 0.3.1 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 reviewed runtime lock graph now resolves patched `fast-uri`, `hono`,
|
|
18
|
+
`ip-address`, and `qs` releases, clearing the complete npm production audit
|
|
19
|
+
instead of applying the incomplete package-by-package Dependabot proposals.
|
|
20
|
+
- CodeQL initialization and analysis now use the same immutable v4.38.2 commit,
|
|
21
|
+
avoiding mixed-version workflow failures.
|
|
22
|
+
- The release toolchain no longer loads the vulnerable, unfixed `node-forge`
|
|
23
|
+
dependency pulled by the upstream MCPB CLI. It validates the pinned official
|
|
24
|
+
v0.4 schema, creates and extracts bounded canonical ZIPs locally, and keeps
|
|
25
|
+
CMS signing and verification on OpenSSL.
|
|
26
|
+
|
|
27
|
+
### Changed
|
|
28
|
+
|
|
29
|
+
- Current compatible development releases of `@types/node`, ESLint, `globals`,
|
|
30
|
+
Prettier, `typescript-eslint`, and `yaml` keep the verification toolchain
|
|
31
|
+
current without changing the public 44-tool MCP contract.
|
|
32
|
+
|
|
9
33
|
## [0.3.0] - Frozen release candidate
|
|
10
34
|
|
|
11
35
|
Version 0.3.0 is a frozen release candidate. Availability is established only
|
|
@@ -343,6 +367,7 @@ Registry readbacks; this immutable entry is not rewritten after publication.
|
|
|
343
367
|
publishable history; authenticated public release receipts remain supported.
|
|
344
368
|
|
|
345
369
|
[Unreleased]: #unreleased
|
|
370
|
+
[0.3.1]: #031---frozen-release-candidate
|
|
346
371
|
[0.3.0]: #030---frozen-release-candidate
|
|
347
372
|
[0.2.1]: #021---frozen-release-candidate
|
|
348
373
|
[0.2.0]: #020---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
|
-
- **
|
|
107
|
+
- **319 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
|
|
115
|
+
- a reproducible dependency-license gate covering 186 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
|
|
@@ -291,7 +291,7 @@ API. The project does not redistribute the `n8n-nodes-base` catalog and does not
|
|
|
291
291
|
use browser cookies, interactive session routes, or runtime package downloads to
|
|
292
292
|
construct one.
|
|
293
293
|
|
|
294
|
-
The v0.3.
|
|
294
|
+
The v0.3.x surface intentionally excludes arbitrary workflow execution,
|
|
295
295
|
credential/workflow transfer, folders, data tables, beta evaluation endpoints,
|
|
296
296
|
and execution annotations. See the [roadmap](ROADMAP.md) for the annotation
|
|
297
297
|
proposal retained outside the release target.
|
package/ROADMAP.md
CHANGED
|
@@ -18,7 +18,7 @@ maintainer approval.
|
|
|
18
18
|
|
|
19
19
|
## Accepted backlog proposal
|
|
20
20
|
|
|
21
|
-
Execution annotations remain a coherent two-tool proposal outside v0.3.
|
|
21
|
+
Execution annotations remain a coherent two-tool proposal outside v0.3.x:
|
|
22
22
|
|
|
23
23
|
- `n8n_executions_get_tags`
|
|
24
24
|
- `n8n_executions_update_tags`
|
package/THIRD_PARTY_NOTICES.md
CHANGED
|
@@ -5,20 +5,18 @@ licenses; `package-lock.json` is the exact dependency record and
|
|
|
5
5
|
`npm run licenses:check` validates every installed package path.
|
|
6
6
|
|
|
7
7
|
The npm runtime tarball does not bundle dependencies. The following packages
|
|
8
|
-
are development-only transitive dependencies of ESLint
|
|
8
|
+
are development-only transitive dependencies of ESLint.
|
|
9
9
|
Their published npm tarballs declare an SPDX license but omit a top-level
|
|
10
10
|
LICENSE or NOTICE file. They are exact-pinned in the lockfile, are not present
|
|
11
11
|
in the runtime package or MCPB, and are accepted only at the listed version,
|
|
12
12
|
license, repository, and integrity hash:
|
|
13
13
|
|
|
14
|
-
| Package | License | Source or immutable package record
|
|
15
|
-
| ----------------------- | ------------ |
|
|
16
|
-
| `@humanfs/types@0.15.0` | Apache-2.0 | [humanwhocodes/humanfs](https://github.com/humanwhocodes/humanfs)
|
|
17
|
-
| `esrecurse@4.3.0` | BSD-2-Clause | [estools/esrecurse](https://github.com/estools/esrecurse)
|
|
18
|
-
| `
|
|
19
|
-
| `
|
|
20
|
-
| `keyv@4.5.4` | MIT | [npm registry record](https://registry.npmjs.org/keyv/4.5.4) |
|
|
21
|
-
| `natural-compare@1.4.0` | MIT | [litejs/natural-compare-lite](https://github.com/litejs/natural-compare-lite) |
|
|
14
|
+
| Package | License | Source or immutable package record |
|
|
15
|
+
| ----------------------- | ------------ | ----------------------------------------------------------------------------- |
|
|
16
|
+
| `@humanfs/types@0.15.0` | Apache-2.0 | [humanwhocodes/humanfs](https://github.com/humanwhocodes/humanfs) |
|
|
17
|
+
| `esrecurse@4.3.0` | BSD-2-Clause | [estools/esrecurse](https://github.com/estools/esrecurse) |
|
|
18
|
+
| `imurmurhash@0.1.4` | MIT | [jensyt/imurmurhash-js](https://github.com/jensyt/imurmurhash-js) |
|
|
19
|
+
| `natural-compare@1.4.0` | MIT | [litejs/natural-compare-lite](https://github.com/litejs/natural-compare-lite) |
|
|
22
20
|
|
|
23
21
|
Their exact SHA-512 integrity values are enforced in
|
|
24
22
|
`scripts/verify-dependency-licenses.mjs`. Any version, license, integrity, role,
|
|
@@ -37,13 +35,14 @@ the license file; the official license text and required notice link are
|
|
|
37
35
|
<https://blueoakcouncil.org/license/1.0.0>. It is not bundled in the npm runtime
|
|
38
36
|
tarball.
|
|
39
37
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
38
|
+
The pinned `mcpb/mcpb-manifest-v0.4.schema.json` file comes from the official
|
|
39
|
+
`@anthropic-ai/mcpb@2.1.2` source at immutable tag `v2.1.2` in
|
|
40
|
+
[modelcontextprotocol/mcpb](https://github.com/modelcontextprotocol/mcpb/tree/v2.1.2).
|
|
41
|
+
Copyright 2025 Anthropic, PBC. It is used under the MIT License reproduced in
|
|
42
|
+
`mcpb/OFFICIAL_SCHEMA_LICENSE`. The immutable upstream schema has SHA-256
|
|
43
|
+
`068557824c651d6d49b86ad132adeafe62ca788d918b3e1e2b224bf0f91320fd`.
|
|
44
|
+
The checked-in JSON is semantically identical but formatted with the repository's
|
|
45
|
+
Prettier policy; its SHA-256 is
|
|
46
|
+
`dae6c4a11da73fcce9adda27dface6049a90b31765623e0a445e485b321e4d46`.
|
|
47
|
+
The schema is a development-time validator and is not included in the npm
|
|
48
|
+
runtime tarball or the MCPB artifact.
|
package/dist/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const PACKAGE_VERSION = "0.3.
|
|
1
|
+
export const PACKAGE_VERSION = "0.3.1";
|
package/docs/compatibility.md
CHANGED
|
@@ -9,7 +9,7 @@ release evidence from the client-matrix gates that remain open.
|
|
|
9
9
|
| ---------------------- | ------------------------------------------------------------- |
|
|
10
10
|
| Node.js 22.23.1 | Pinned CI/release target; exact candidate proof comes from CI |
|
|
11
11
|
| Node.js 24.18.0 | Pinned CI/release target; exact candidate proof comes from CI |
|
|
12
|
-
| Node.js 24.
|
|
12
|
+
| Node.js 24.21.0 | Current complete local candidate gate |
|
|
13
13
|
| MCP transport | stdio inventory verified as 44 tools, 5 resources, 4 prompts |
|
|
14
14
|
| macOS on Apple silicon | Development and local verification environment |
|
|
15
15
|
| Linux and Windows | No public release claim yet |
|
|
@@ -18,7 +18,7 @@ release evidence from the client-matrix gates that remain open.
|
|
|
18
18
|
|
|
19
19
|
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
|
-
The supported release lines for v0.3.
|
|
21
|
+
The supported release lines for v0.3.x are Node.js 22 and 24.
|
|
22
22
|
|
|
23
23
|
## Upgrading to 0.3.0
|
|
24
24
|
|
|
@@ -48,7 +48,7 @@ names. MCP clients receive these constraints when they reconnect.
|
|
|
48
48
|
The connection values are unchanged. Global npm users keep the same client
|
|
49
49
|
entry. Users who followed the 0.1.x npx guide must replace the pinned
|
|
50
50
|
`n8n-mcp-community@0.1.4` argument with `n8n-mcp-community@latest` or
|
|
51
|
-
`n8n-mcp-community@0.3.
|
|
51
|
+
`n8n-mcp-community@0.3.1`. After updating, restart the MCP client and confirm the
|
|
52
52
|
version and 44/5/4 inventory.
|
|
53
53
|
|
|
54
54
|
Since 0.2.0, the 14 unsafe tools no longer publish or require a `confirmation` field;
|
|
@@ -59,7 +59,7 @@ update and rollback steps.
|
|
|
59
59
|
|
|
60
60
|
## n8n Community Edition
|
|
61
61
|
|
|
62
|
-
The v0.3.
|
|
62
|
+
The v0.3.x floor candidate is n8n Community Edition 2.30.5, with 2.30.7 as the
|
|
63
63
|
current comparison target. The compiled public 44-tool candidate passed fresh,
|
|
64
64
|
disposable lifecycles on both versions with synthetic fixtures, API-key
|
|
65
65
|
revocation, resource cleanup, enforced candidate-process egress isolation, and
|
|
@@ -71,7 +71,7 @@ browser cookies, interactive `/rest` routes, paid project transfers, arbitrary
|
|
|
71
71
|
workflow execution, or runtime node-catalog downloads.
|
|
72
72
|
|
|
73
73
|
`n8n_credentials_list` is supported only from n8n 2.30.5 onward. Project
|
|
74
|
-
selectors are intentionally absent because v0.3.
|
|
74
|
+
selectors are intentionally absent because v0.3.x does not present paid project
|
|
75
75
|
capabilities as Community features. Other tools may also depend on endpoint
|
|
76
76
|
availability and the permissions assigned to the API key; an HTTP 403 does not
|
|
77
77
|
by itself mean the endpoint is absent.
|
|
@@ -110,7 +110,7 @@ surface.
|
|
|
110
110
|
|
|
111
111
|
## Deliberate exclusions
|
|
112
112
|
|
|
113
|
-
v0.3.
|
|
113
|
+
v0.3.x does not include:
|
|
114
114
|
|
|
115
115
|
- folders or data tables;
|
|
116
116
|
- beta evaluation endpoints;
|
package/docs/installation.md
CHANGED
|
@@ -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.
|
|
95
|
+
with `n8n-mcp-community@latest` or `n8n-mcp-community@0.3.1`. 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
|
package/docs/provenance.md
CHANGED
|
@@ -53,15 +53,14 @@ 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
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
counts must be regenerated after any lockfile change.
|
|
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,
|
|
59
|
+
and 1 BlueOak-1.0.0, with no missing integrity, license, or documented notice.
|
|
60
|
+
Four exact-pinned development-only packages use the reviewed missing-file
|
|
61
|
+
exception described in [third-party notices](../THIRD_PARTY_NOTICES.md). No
|
|
62
|
+
package currently needs an alternative-license selection. These counts must be
|
|
63
|
+
regenerated after any lockfile change.
|
|
65
64
|
|
|
66
65
|
PyYAML 6.0.3 was used as local audit tooling to parse official OpenAPI material
|
|
67
66
|
and compare endpoint schemas. It is not imported by the TypeScript runtime or
|
|
@@ -83,9 +82,9 @@ Generate the release runtime CycloneDX SBOM from the committed lockfile with:
|
|
|
83
82
|
npm run sbom > sbom.cdx.json
|
|
84
83
|
```
|
|
85
84
|
|
|
86
|
-
This runtime-only SBOM contains
|
|
85
|
+
This runtime-only SBOM contains 78 unique production components for the shared
|
|
87
86
|
npm/MCPB runtime graph. Maintainers may separately generate the complete
|
|
88
|
-
|
|
87
|
+
185-component graph with `npm run sbom:full`; it is audit evidence,
|
|
89
88
|
not the release artifact SBOM. Every release candidate must carry a runtime
|
|
90
89
|
SBOM for the npm package and MCPB, plus SHA-256 checksums and signatures tied to
|
|
91
90
|
the exact Git revision; availability is established only by the corresponding
|
package/docs/security-model.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Security model
|
|
2
2
|
|
|
3
|
-
This document describes the controls and residual risks of the v0.3.
|
|
3
|
+
This document describes the controls and residual risks of the v0.3.1 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
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "n8n-mcp-community",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "A security-focused MCP server for self-hosted n8n Community Edition.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"releaseState": "candidate",
|
|
@@ -62,9 +62,6 @@
|
|
|
62
62
|
"engines": {
|
|
63
63
|
"node": ">=22.0.0"
|
|
64
64
|
},
|
|
65
|
-
"overrides": {
|
|
66
|
-
"tmp": "0.2.7"
|
|
67
|
-
},
|
|
68
65
|
"allowScripts": {},
|
|
69
66
|
"scripts": {
|
|
70
67
|
"audit:full": "node scripts/run-npm-audit.mjs full",
|
|
@@ -118,17 +115,16 @@
|
|
|
118
115
|
"zod": "3.25.76"
|
|
119
116
|
},
|
|
120
117
|
"devDependencies": {
|
|
121
|
-
"@anthropic-ai/mcpb": "2.1.2",
|
|
122
118
|
"@eslint/js": "10.0.1",
|
|
123
|
-
"@types/node": "22.20.
|
|
119
|
+
"@types/node": "22.20.5",
|
|
124
120
|
"ajv": "8.20.0",
|
|
125
121
|
"ajv-formats": "3.0.1",
|
|
126
|
-
"eslint": "10.
|
|
122
|
+
"eslint": "10.12.0",
|
|
127
123
|
"fflate": "0.8.3",
|
|
128
|
-
"globals": "17.
|
|
129
|
-
"prettier": "3.9.
|
|
124
|
+
"globals": "17.13.0",
|
|
125
|
+
"prettier": "3.9.9",
|
|
130
126
|
"typescript": "5.9.3",
|
|
131
|
-
"typescript-eslint": "8.
|
|
132
|
-
"yaml": "2.9.
|
|
127
|
+
"typescript-eslint": "8.71.0",
|
|
128
|
+
"yaml": "2.9.1"
|
|
133
129
|
}
|
|
134
130
|
}
|
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.
|
|
11
|
+
"version": "0.3.1",
|
|
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.
|
|
17
|
+
"version": "0.3.1",
|
|
18
18
|
"transport": {
|
|
19
19
|
"type": "stdio"
|
|
20
20
|
},
|