n8n-nodes-datamcp 0.1.0 → 0.1.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/README.md CHANGED
@@ -9,12 +9,13 @@ the tunnel is a routing choice in DataMCP, not a second n8n node.
9
9
 
10
10
  ## Installation
11
11
 
12
- When this package is available on npm, install `n8n-nodes-datamcp` through
13
- n8n's Community Nodes settings. Before publication, use the local preview
14
- below. Do not use an `npx install` command; n8n does not provide one.
12
+ On self-hosted n8n, open **Settings → Community Nodes**, select **Install a
13
+ community node**, and enter `n8n-nodes-datamcp`. Restart n8n if the node does
14
+ not appear immediately. n8n Cloud availability depends on n8n's verification
15
+ and rollout of the package. Do not use an `npx install` command; n8n does not
16
+ provide one.
15
17
 
16
- People who receive this source package from DataMCP can run the verified local
17
- preview:
18
+ To develop the node from source, run:
18
19
 
19
20
  ```bash
20
21
  cd n8n-nodes-datamcp
@@ -24,33 +25,16 @@ npm test
24
25
  npm run dev
25
26
  ```
26
27
 
27
- The final command opens a local n8n editor with the DataMCP node installed. The
28
- package has been loaded with n8n 2.44.6.
29
-
30
- For a self-hosted n8n instance, build a supplied archive and install it into
31
- the n8n user folder:
32
-
33
- ```bash
34
- # In this package directory
35
- npm install
36
- npm run build
37
- npm pack --silent
38
-
39
- # On the self-hosted n8n machine
40
- mkdir -p ~/.n8n/nodes
41
- cd ~/.n8n/nodes
42
- npm install /absolute/path/to/the-copied-package.tgz
43
- ```
44
-
45
- Copy the archive whose filename `npm pack` prints to the n8n machine, then
46
- replace the example path. Restart n8n after installation. n8n Cloud cannot
47
- load this unpublished local package.
28
+ The final command opens a local n8n editor with the DataMCP node installed.
29
+ The published package has also been loaded with n8n 2.44.6.
48
30
 
49
31
  ## Credential setup
50
32
 
51
33
  1. Create the database source in DataMCP.
52
- 2. Open **API Keys → Integration credentials** in the DataMCP dashboard.
53
- 3. Create a read credential limited to only the source(s) the workflow needs.
34
+ 2. Open **API Keys → Integration keys** in the DataMCP dashboard.
35
+ 3. Create a read-only key for the source(s) the workflow needs, or choose
36
+ **Write selected tables** and grant only the specific tables and actions
37
+ needed for row mutations.
54
38
  4. Copy the `dm_int_` secret immediately; it is shown once.
55
39
  5. In n8n, create **DataMCP Integration API**, choose QA or Production, and
56
40
  paste the secret.
@@ -68,10 +52,9 @@ credential reference, or database address embedded in it.
68
52
 
69
53
  ### Read Query
70
54
 
71
- Read Query is available in QA. Production requires the Integration API rollout
72
- before this credential and action can work there. The operation accepts
73
- read-only SQL and an optional JSON array of bound values. Use `$1`, `$2`, and
74
- so on for PostgreSQL, or `?` for MySQL. Values are sent separately from SQL.
55
+ Read Query is available in QA and production. The operation accepts read-only
56
+ SQL and an optional JSON array of bound values. Use `$1`, `$2`, and so on for
57
+ PostgreSQL, or `?` for MySQL. Values are sent separately from SQL.
75
58
 
76
59
  Reads return at most 100 rows and 512 KiB. Each result row becomes one n8n item
77
60
  with `row`, `columns`, `values`, `rowCount`, `truncated`, and `sourceId`. An
@@ -91,8 +74,9 @@ row larger than 512 KiB is rejected rather than silently cut in half.
91
74
 
92
75
  ### Create Row, Update Row, and Delete Row
93
76
 
94
- Row mutations require integration writes to be enabled in your DataMCP
95
- environment. Choose up to 20 schema-qualified tables in one source, then grant
77
+ Row mutations are available in QA and production when integration writes are
78
+ enabled in the DataMCP environment. Choose up to 20 schema-qualified tables
79
+ in one source, then grant
96
80
  only the Create, Update, and Delete actions the workflow needs. A write
97
81
  credential may also allow Read Query. Read Query can reach any table covered
98
82
  by the database user's SELECT grants in that source; selecting write tables
@@ -125,22 +109,27 @@ successful read after the entitlement cache expired. A QA rate-limit burst
125
109
  returned HTTP 429, which a running n8n workflow displayed as a safe rate-limit
126
110
  error. The packed archive was checked separately from the source checkout.
127
111
 
128
- Do not publish this package before completing:
129
-
130
- - production migration and write-feature review;
131
- - production-backed regression and npm publication/scan.
112
+ Production Read Query was verified with a source-scoped key and `SELECT 1`;
113
+ the key was revoked after the test. Production create/read/update/delete was
114
+ also verified against a disposable PostgreSQL table through Local Agent
115
+ Tunnel using the published 0.1.1 node code in a local n8n container. The test
116
+ also confirmed cross-table writes and write SQL through Read Query are denied,
117
+ and that revoking the key immediately blocks further requests. The test key,
118
+ tunnel, table, and database role were removed afterward. Version 0.1.0 was
119
+ published manually, but did not include provenance and therefore did not pass
120
+ the n8n community-package scanner.
132
121
 
133
122
  The QA credentials and disposable databases used during development are test
134
123
  fixtures and must never be included in this package.
135
124
 
136
125
  ## Publishing checklist
137
126
 
138
- The package must live in a public GitHub repository before submission. Its
139
- `v*.*.*` tag runs CI and publishes to npm from GitHub Actions with provenance.
140
- The npm package must trust this repository's `publish.yml` workflow, or the
141
- repository must have a narrowly scoped `NPM_TOKEN` secret for the first publish.
142
- Do not tag a release until the QA checks above pass and production supports
143
- every operation advertised by the node. After publication, run n8n's
144
- `@n8n/scan-community-package` check against the published package version and
145
- submit through the n8n Creator Portal. The scanner resolves npm packages; it
146
- cannot validate an unpublished local directory.
127
+ The `v*.*.*` tag runs CI and stages the package from GitHub Actions with
128
+ provenance. Configure npm trusted publishing with stage-only permission for the
129
+ public `datamcpapp/n8n-nodes-datamcp` repository and `publish.yml` workflow
130
+ before tagging a new version. Do not tag until the matching version is merged
131
+ to main and CI passes. A maintainer must review and approve the staged package
132
+ with 2FA before it becomes public. After approval, run n8n's
133
+ `@n8n/scan-community-package` against the published version and submit through
134
+ the n8n Creator Portal only after it passes. The scanner resolves npm packages;
135
+ it cannot validate an unpublished local directory.
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-datamcp",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Source-scoped DataMCP actions for n8n",
5
5
  "license": "MIT",
6
6
  "homepage": "https://datamcp.app",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-datamcp",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Source-scoped DataMCP actions for n8n",
5
5
  "license": "MIT",
6
6
  "homepage": "https://datamcp.app",