n8n-mcp 2.92.1 → 2.94.0

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
@@ -5,17 +5,17 @@
5
5
  [![npm version](https://img.shields.io/npm/v/n8n-mcp.svg)](https://www.npmjs.com/package/n8n-mcp)
6
6
  [![codecov](https://codecov.io/gh/czlonkowski/n8n-mcp/graph/badge.svg?token=YOUR_TOKEN)](https://codecov.io/gh/czlonkowski/n8n-mcp)
7
7
  [![Tests](https://img.shields.io/badge/tests-6524%20passing-brightgreen.svg)](https://github.com/czlonkowski/n8n-mcp/actions)
8
- [![n8n version](https://img.shields.io/badge/n8n-2.41.4-orange.svg)](https://github.com/n8n-io/n8n)
8
+ [![n8n version](https://img.shields.io/badge/n8n-2.43.3-orange.svg)](https://github.com/n8n-io/n8n)
9
9
  [![Docker](https://img.shields.io/badge/docker-ghcr.io%2Fczlonkowski%2Fn8n--mcp-green.svg)](https://github.com/czlonkowski/n8n-mcp/pkgs/container/n8n-mcp)
10
10
  [![Deploy on Railway](https://railway.com/button.svg)](https://railway.com/deploy/n8n-mcp?referralCode=n8n-mcp)
11
11
 
12
- A Model Context Protocol (MCP) server that provides AI assistants with comprehensive access to n8n node documentation, properties, and operations. Deploy in minutes to give Claude and other AI assistants deep knowledge about n8n's 2,951 workflow automation nodes (838 core + 2,113 community).
12
+ A Model Context Protocol (MCP) server that provides AI assistants with comprehensive access to n8n node documentation, properties, and operations. Deploy in minutes to give Claude and other AI assistants deep knowledge about n8n's 3,135 workflow automation nodes (840 core + 2,295 community).
13
13
 
14
14
  ## Overview
15
15
 
16
16
  n8n-MCP serves as a bridge between n8n's workflow automation platform and AI models, enabling them to understand and work with n8n nodes effectively. It provides structured access to:
17
17
 
18
- - **2,951 n8n nodes** - 838 core nodes + 2,113 community nodes (1,730 verified)
18
+ - **3,135 n8n nodes** - 840 core nodes + 2,295 community nodes (1,878 verified)
19
19
  - **Node properties** - 99% coverage with detailed schemas
20
20
  - **Node operations** - 66.5% coverage of available actions
21
21
  - **Documentation** - 86% coverage from official n8n docs (including AI nodes)
package/data/nodes.db CHANGED
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/data/nodes.db
3
- size: 69464064 bytes
4
- sha256: 4173f036ce32b12f22a24e5f58b419a8cf7e6b544378b592a3470d8ed07245b3
3
+ size: 74223616 bytes
4
+ sha256: b0e66103de6f124edd78ead98f2c5682a41e807dd3f36033ad636e8b8ceb2461
@@ -20,9 +20,9 @@ exports.AGENT_MODEL_PROVIDER_CREDENTIAL_TYPES = {
20
20
  minimax: ['minimaxApi'],
21
21
  };
22
22
  exports.AGENT_UNSUPPORTED_CREDENTIAL_TYPES = {
23
- azureOpenAiApi: 'not mapped in LLM_PROVIDER_DEFAULTS (verified on n8n 2.41.5)',
24
- azureEntraCognitiveServicesOAuth2Api: 'not mapped in LLM_PROVIDER_DEFAULTS (verified on n8n 2.41.5)',
25
- aws: 'not mapped in LLM_PROVIDER_DEFAULTS (verified on n8n 2.41.5)',
23
+ azureOpenAiApi: 'not mapped in LLM_PROVIDER_DEFAULTS (verified on n8n 2.43.5)',
24
+ azureEntraCognitiveServicesOAuth2Api: 'not mapped in LLM_PROVIDER_DEFAULTS (verified on n8n 2.43.5)',
25
+ aws: 'not mapped in LLM_PROVIDER_DEFAULTS (verified on n8n 2.43.5)',
26
26
  };
27
27
  exports.AGENT_SUPPORTED_CREDENTIAL_TYPES = Object.values(exports.AGENT_MODEL_PROVIDER_CREDENTIAL_TYPES)
28
28
  .flat()
@@ -0,0 +1,8 @@
1
+ import type { InstanceContext } from '../types/instance-context';
2
+ export declare const INSTANCE_ARGUMENT = "instance";
3
+ export declare function isInstanceArgumentEnabled(context?: InstanceContext): boolean;
4
+ export declare function withInstanceArgument<T extends {
5
+ inputSchema?: any;
6
+ }>(tool: T): T;
7
+ export declare function withoutInstanceArgument<T extends Record<string, any> | undefined>(args: T): T;
8
+ //# sourceMappingURL=instance-argument.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance-argument.d.ts","sourceRoot":"","sources":["../../src/mcp/instance-argument.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAU5C,wBAAgB,yBAAyB,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAE5E;AAGD,wBAAgB,oBAAoB,CAAC,CAAC,SAAS;IAAE,WAAW,CAAC,EAAE,GAAG,CAAA;CAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAShF;AAGD,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAI7F"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.INSTANCE_ARGUMENT = void 0;
4
+ exports.isInstanceArgumentEnabled = isInstanceArgumentEnabled;
5
+ exports.withInstanceArgument = withInstanceArgument;
6
+ exports.withoutInstanceArgument = withoutInstanceArgument;
7
+ exports.INSTANCE_ARGUMENT = 'instance';
8
+ const INSTANCE_PROPERTY = {
9
+ type: 'string',
10
+ description: 'Optional. Name of the n8n instance this call targets (as listed by n8n_instances). ' +
11
+ 'Targets only this call and changes nothing for other chats or agents; pass it on every call when working on several instances in parallel. ' +
12
+ 'Omit it to use the current instance.',
13
+ };
14
+ function isInstanceArgumentEnabled(context) {
15
+ return context?.instanceArgument === true;
16
+ }
17
+ function withInstanceArgument(tool) {
18
+ const schema = tool.inputSchema ?? { type: 'object', properties: {} };
19
+ return {
20
+ ...tool,
21
+ inputSchema: {
22
+ ...schema,
23
+ properties: { ...(schema.properties ?? {}), [exports.INSTANCE_ARGUMENT]: INSTANCE_PROPERTY },
24
+ },
25
+ };
26
+ }
27
+ function withoutInstanceArgument(args) {
28
+ if (!args || typeof args !== 'object' || !(exports.INSTANCE_ARGUMENT in args))
29
+ return args;
30
+ const { [exports.INSTANCE_ARGUMENT]: _dropped, ...rest } = args;
31
+ return rest;
32
+ }
33
+ //# sourceMappingURL=instance-argument.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance-argument.js","sourceRoot":"","sources":["../../src/mcp/instance-argument.ts"],"names":[],"mappings":";;;AAqBA,8DAEC;AAGD,oDASC;AAGD,0DAIC;AA/BY,QAAA,iBAAiB,GAAG,UAAU,CAAC;AAE5C,MAAM,iBAAiB,GAAG;IACxB,IAAI,EAAE,QAAQ;IACd,WAAW,EACT,qFAAqF;QACrF,6IAA6I;QAC7I,sCAAsC;CAChC,CAAC;AAEX,SAAgB,yBAAyB,CAAC,OAAyB;IACjE,OAAO,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAC5C,CAAC;AAGD,SAAgB,oBAAoB,CAAkC,IAAO;IAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IACtE,OAAO;QACL,GAAG,IAAI;QACP,WAAW,EAAE;YACX,GAAG,MAAM;YACT,UAAU,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,yBAAiB,CAAC,EAAE,iBAAiB,EAAE;SACrF;KACF,CAAC;AACJ,CAAC;AAGD,SAAgB,uBAAuB,CAA4C,IAAO;IACxF,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,yBAAiB,IAAI,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnF,MAAM,EAAE,CAAC,yBAAiB,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IACxD,OAAO,IAAS,CAAC;AACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AA+DA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,KAAK,EAAE,cAAc,EAAyB,MAAM,2BAA2B,CAAC;AAEvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAwInE,UAAU,gBAAgB;IACxB,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IAKnC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,qBAAa,yBAAyB;IACpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,EAAE,CAAgC;IAC1C,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,sBAAsB,CAAuC;IACrE,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,sBAAsB,CAAC,CAAkB;IACjD,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,qBAAqB,CAAsB;IACnD,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,2BAA2B,CAAyC;IAC5E,OAAO,CAAC,4BAA4B,CAAiC;IACrE,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,qBAAqB,CAA0C;gBAE3D,eAAe,CAAC,EAAE,eAAe,EAAE,WAAW,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAkHzG,OAAO,KAAK,eAAe,GAO1B;IAED,OAAO,KAAK,eAAe,QAE1B;IAED,OAAO,CAAC,uBAAuB;IA0B/B,OAAO,CAAC,yBAAyB;IAWjC,OAAO,CAAC,cAAc;IAoBhB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YA+Cd,kBAAkB;YAoDlB,wBAAwB;IA0BtC,OAAO,CAAC,kBAAkB;YA6CZ,iBAAiB;IAa/B,OAAO,CAAC,eAAe,CAAkB;YAE3B,sBAAsB;IA8CpC,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,yBAAyB;IAgBjC,OAAO,CAAC,4BAA4B;IAgEpC,OAAO,CAAC,aAAa;IA2erB,OAAO,CAAC,wBAAwB;IAoFhC,OAAO,CAAC,kBAAkB;IA6G1B,OAAO,CAAC,uBAAuB;IAwB/B,OAAO,CAAC,qBAAqB;IAiF7B,OAAO,CAAC,2BAA2B;YAgHrB,0BAA0B;YAiY1B,SAAS;YA2DT,WAAW;YAkGX,WAAW;YA2CX,cAAc;YAuNd,gBAAgB;IAuE9B,OAAO,CAAC,mBAAmB;IAwE3B,OAAO,CAAC,eAAe;YAsBT,eAAe;IA4M7B,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,uBAAuB;IA0D/B,OAAO,CAAC,iBAAiB;YAqFX,WAAW;YAgCX,oBAAoB;IAuFlC,OAAO,CAAC,aAAa;YAQP,qBAAqB;IA4DnC,OAAO,CAAC,mBAAmB;YAyCb,iBAAiB;YAuLjB,OAAO;YAkDP,cAAc;YAwFd,iBAAiB;IAqC/B,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,0BAA0B;YAgBpB,iBAAiB;YAyDjB,qBAAqB;IA+BnC,OAAO,CAAC,oBAAoB;YAcd,eAAe;YAwCf,kBAAkB;YA4ClB,aAAa;IA2C3B,OAAO,CAAC,0BAA0B;IAgClC,OAAO,CAAC,4BAA4B;YAKtB,oBAAoB;IAsDlC,OAAO,CAAC,gBAAgB;YAiBV,SAAS;IAiDvB,OAAO,CAAC,oBAAoB;YAQd,kBAAkB;YAsElB,uBAAuB;IAsDrC,OAAO,CAAC,qBAAqB;IA8C7B,OAAO,CAAC,uBAAuB;IA4D/B,OAAO,CAAC,wBAAwB;YAkClB,mBAAmB;YAqEnB,qBAAqB;IAY7B,OAAO,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;YAS9B,aAAa;YAcb,iBAAiB;YAoBjB,WAAW;YAwBX,eAAe;IAqB7B,OAAO,CAAC,qBAAqB,CASb;IAEhB,OAAO,CAAC,mBAAmB;YAsDb,mBAAmB;YAwBnB,yBAAyB;IAmEvC,OAAO,CAAC,kBAAkB;YAiBZ,gBAAgB;IA6HxB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA6CpB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAgFhC"}
@@ -80,6 +80,7 @@ const validation_schemas_1 = require("../utils/validation-schemas");
80
80
  const protocol_version_1 = require("../utils/protocol-version");
81
81
  const breaking_change_detector_1 = require("../services/breaking-change-detector");
82
82
  const node_parser_1 = require("../parsers/node-parser");
83
+ const instance_argument_1 = require("./instance-argument");
83
84
  const telemetry_1 = require("../telemetry");
84
85
  const startup_checkpoints_1 = require("../telemetry/startup-checkpoints");
85
86
  const STDIO_MAX_BUFFER_SIZE = Math.max(1024 * 1024, parseInt(process.env.N8N_MCP_STDIO_MAX_BUFFER_SIZE || '', 10) || 64 * 1024 * 1024);
@@ -539,6 +540,10 @@ class N8NDocumentationMCPServer {
539
540
  if ((0, ui_1.isUIAppsEnabled)(this.instanceContext)) {
540
541
  tools = ui_1.UIAppRegistry.injectToolMeta(tools);
541
542
  }
543
+ if ((0, instance_argument_1.isInstanceArgumentEnabled)(this.instanceContext)) {
544
+ const managementToolNames = new Set(tools_n8n_manager_1.n8nManagementTools.map(tool => tool.name));
545
+ tools = tools.map(tool => managementToolNames.has(tool.name) ? (0, instance_argument_1.withInstanceArgument)(tool) : tool);
546
+ }
542
547
  return { tools };
543
548
  });
544
549
  this.server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
@@ -616,6 +621,9 @@ class N8NDocumentationMCPServer {
616
621
  if (processedArgs) {
617
622
  processedArgs = JSON.parse(JSON.stringify(processedArgs));
618
623
  }
624
+ if (!isAdditionalTool) {
625
+ processedArgs = (0, instance_argument_1.withoutInstanceArgument)(processedArgs);
626
+ }
619
627
  const disabledToolOps = this.getDisabledToolOperations();
620
628
  const disabledOpsForTool = disabledToolOps.get(name);
621
629
  if (disabledOpsForTool && disabledOpsForTool.size > 0) {