n8n-mcp 2.59.4 → 2.61.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.
Files changed (33) hide show
  1. package/.env.example +19 -0
  2. package/README.md +19 -3
  3. package/data/nodes.db +0 -0
  4. package/dist/community/documentation-generator.d.ts +2 -0
  5. package/dist/community/documentation-generator.d.ts.map +1 -1
  6. package/dist/community/documentation-generator.js +5 -1
  7. package/dist/community/documentation-generator.js.map +1 -1
  8. package/dist/mcp/server.d.ts +4 -0
  9. package/dist/mcp/server.d.ts.map +1 -1
  10. package/dist/mcp/server.js +144 -4
  11. package/dist/mcp/server.js.map +1 -1
  12. package/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.js +1 -1
  13. package/dist/mcp/tools-documentation.d.ts +2 -2
  14. package/dist/mcp/tools-documentation.d.ts.map +1 -1
  15. package/dist/mcp/tools-documentation.js +16 -6
  16. package/dist/mcp/tools-documentation.js.map +1 -1
  17. package/dist/mcp/tools-n8n-manager.d.ts +2 -0
  18. package/dist/mcp/tools-n8n-manager.d.ts.map +1 -1
  19. package/dist/mcp/tools-n8n-manager.js +9 -1
  20. package/dist/mcp/tools-n8n-manager.js.map +1 -1
  21. package/dist/services/node-specific-validators.d.ts +7 -0
  22. package/dist/services/node-specific-validators.d.ts.map +1 -1
  23. package/dist/services/node-specific-validators.js +211 -11
  24. package/dist/services/node-specific-validators.js.map +1 -1
  25. package/dist/services/workflow-diff-engine.d.ts.map +1 -1
  26. package/dist/services/workflow-diff-engine.js +2 -2
  27. package/dist/services/workflow-diff-engine.js.map +1 -1
  28. package/package.json +1 -1
  29. package/ui-apps/dist/execution-history/index.html +58 -89
  30. package/ui-apps/dist/health-dashboard/index.html +58 -89
  31. package/ui-apps/dist/operation-result/index.html +58 -89
  32. package/ui-apps/dist/validation-summary/index.html +58 -89
  33. package/ui-apps/dist/workflow-list/index.html +58 -89
package/.env.example CHANGED
@@ -122,6 +122,25 @@ AUTH_TOKEN=your-secure-token-here
122
122
  # Default: (empty - all tools enabled)
123
123
  # DISABLED_TOOLS=
124
124
 
125
+ # Per-Operation Tool Filtering
126
+ # Disable specific operations within a tool without losing its read paths.
127
+ # Useful for sensitive deployments that need read-only access
128
+ # to tools that bundle read and write operations under one name.
129
+ #
130
+ # Format: Semicolon-separated list of <tool_name>:<comma_separated_operations>
131
+ # Operation names match the action / mode enum values in each tool's schema.
132
+ #
133
+ # Eligible tools and their operations:
134
+ # n8n_executions — action: get, list, delete
135
+ # n8n_workflow_versions — mode: list, get, rollback, delete, prune
136
+ #
137
+ # Read-only deployment recipe (blocks all destructive operations):
138
+ # DISABLED_TOOL_OPERATIONS=n8n_workflow_versions:delete,rollback,prune;n8n_executions:delete
139
+ #
140
+ # Combine with n8n API key RBAC for defence in depth.
141
+ # Default: (empty - all operations enabled)
142
+ # DISABLED_TOOL_OPERATIONS=
143
+
125
144
  # =========================
126
145
  # MULTI-TENANT CONFIGURATION
127
146
  # =========================
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-5418%20passing-brightgreen.svg)](https://github.com/czlonkowski/n8n-mcp/actions)
8
- [![n8n version](https://img.shields.io/badge/n8n-2.26.5-orange.svg)](https://github.com/n8n-io/n8n)
8
+ [![n8n version](https://img.shields.io/badge/n8n-2.27.4-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 1,845 workflow automation nodes (816 core + 1,029 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 2,063 workflow automation nodes (816 core + 1,247 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
- - **1,845 n8n nodes** - 816 core nodes + 1,029 community nodes (911 verified)
18
+ - **2,063 n8n nodes** - 816 core nodes + 1,247 community nodes (1,113 verified)
19
19
  - **Node properties** - 99% coverage with detailed schemas
20
20
  - **Node operations** - 63.6% coverage of available actions
21
21
  - **Documentation** - 87% coverage from official n8n docs (including AI nodes)
@@ -389,6 +389,22 @@ These tools require `N8N_API_URL` and `N8N_API_KEY` in your configuration.
389
389
  #### System Tools
390
390
  - **`n8n_health_check`** - Check n8n API connectivity and features
391
391
 
392
+ ### Read-Only Deployment
393
+
394
+ For governance-sensitive environments, use both env vars together. Fully disable purely write/destructive tools:
395
+
396
+ ```bash
397
+ DISABLED_TOOLS=n8n_create_workflow,n8n_update_full_workflow,n8n_update_partial_workflow,n8n_delete_workflow,n8n_autofix_workflow,n8n_deploy_template,n8n_test_workflow,n8n_generate_workflow,n8n_manage_credentials,n8n_manage_datatable
398
+ ```
399
+
400
+ For tools that bundle read and write operations under one name, block only the destructive operations while keeping `list` and `get`:
401
+
402
+ ```bash
403
+ DISABLED_TOOL_OPERATIONS=n8n_workflow_versions:delete,rollback,prune;n8n_executions:delete
404
+ ```
405
+
406
+ Combine with a read-only n8n API key (Settings → API in your n8n instance) for defence in depth. See [Read-Only Deployment Recipe](./docs/HTTP_DEPLOYMENT.md#read-only-deployment-recipe) for the full setup guide.
407
+
392
408
  ## Documentation
393
409
 
394
410
  - [Self-Hosting Guide](./docs/SELF_HOSTING.md) - npx, Docker, Railway, and local installation
package/data/nodes.db CHANGED
Binary file
@@ -41,6 +41,7 @@ export interface DocumentationGeneratorConfig {
41
41
  timeout?: number;
42
42
  maxTokens?: number;
43
43
  temperature?: number;
44
+ sendThinkingKwargs?: boolean;
44
45
  }
45
46
  export declare class DocumentationGenerator {
46
47
  private client;
@@ -50,6 +51,7 @@ export declare class DocumentationGenerator {
50
51
  private maxTokens;
51
52
  private timeout;
52
53
  private temperature?;
54
+ private sendThinkingKwargs;
53
55
  constructor(config: DocumentationGeneratorConfig);
54
56
  generateSummary(input: DocumentationInput): Promise<DocumentationResult>;
55
57
  generateBatch(inputs: DocumentationInput[], concurrency?: number, progressCallback?: (message: string, current: number, total: number) => void): Promise<DocumentationResult[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"documentation-generator.d.ts","sourceRoot":"","sources":["../../src/community/documentation-generator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;EAOrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAK9E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAKD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD,MAAM,WAAW,4BAA4B;IAE3C,OAAO,EAAE,MAAM,CAAC;IAEhB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAgBD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAC,CAAS;gBAEjB,MAAM,EAAE,4BAA4B;IAmB1C,eAAe,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAgDxE,aAAa,CACjB,MAAM,EAAE,kBAAkB,EAAE,EAC5B,WAAW,GAAE,MAAU,EACvB,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAC3E,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAmCjC,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,WAAW;IAwBnB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,iBAAiB;IAcnB,cAAc,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;YAoBxD,cAAc;IAmC5B,OAAO,CAAC,KAAK;CAGd;AAKD,wBAAgB,4BAA4B,IAAI,sBAAsB,CA4BrE"}
1
+ {"version":3,"file":"documentation-generator.d.ts","sourceRoot":"","sources":["../../src/community/documentation-generator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;EAOrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAK9E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAKD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD,MAAM,WAAW,4BAA4B;IAE3C,OAAO,EAAE,MAAM,CAAC;IAEhB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAMrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAiBD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,kBAAkB,CAAU;gBAExB,MAAM,EAAE,4BAA4B;IAoB1C,eAAe,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAgDxE,aAAa,CACjB,MAAM,EAAE,kBAAkB,EAAE,EAC5B,WAAW,GAAE,MAAU,EACvB,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAC3E,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAmCjC,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,WAAW;IAwBnB,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,iBAAiB;IAcnB,cAAc,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;YAoBxD,cAAc;IAqC5B,OAAO,CAAC,KAAK;CAGd;AAKD,wBAAgB,4BAA4B,IAAI,sBAAsB,CA+BrE"}
@@ -21,6 +21,7 @@ const DEFAULT_CONFIG = {
21
21
  apiKey: 'not-needed',
22
22
  timeout: 60000,
23
23
  maxTokens: 2000,
24
+ sendThinkingKwargs: true,
24
25
  };
25
26
  class DocumentationGenerator {
26
27
  constructor(config) {
@@ -36,6 +37,7 @@ class DocumentationGenerator {
36
37
  this.maxTokens = fullConfig.maxTokens;
37
38
  this.timeout = fullConfig.timeout;
38
39
  this.temperature = fullConfig.temperature;
40
+ this.sendThinkingKwargs = fullConfig.sendThinkingKwargs;
39
41
  }
40
42
  async generateSummary(input) {
41
43
  try {
@@ -203,7 +205,7 @@ Guidelines:
203
205
  messages,
204
206
  max_completion_tokens: maxTokens,
205
207
  ...(this.temperature !== undefined ? { temperature: this.temperature } : {}),
206
- chat_template_kwargs: { enable_thinking: false },
208
+ ...(this.sendThinkingKwargs ? { chat_template_kwargs: { enable_thinking: false } } : {}),
207
209
  }),
208
210
  signal: controller.signal,
209
211
  });
@@ -231,6 +233,7 @@ function createDocumentationGenerator() {
231
233
  try {
232
234
  const host = new URL(baseUrl).hostname;
233
235
  const isCloud = host === 'openai.com' || host.endsWith('.openai.com') ||
236
+ host.endsWith('.openai.azure.com') || host.endsWith('.azure.com') ||
234
237
  host === 'anthropic.com' || host.endsWith('.anthropic.com');
235
238
  isLocalServer = !isCloud;
236
239
  }
@@ -242,6 +245,7 @@ function createDocumentationGenerator() {
242
245
  timeout,
243
246
  ...(apiKey ? { apiKey } : {}),
244
247
  ...(isLocalServer ? { temperature: 0.3 } : {}),
248
+ sendThinkingKwargs: isLocalServer,
245
249
  });
246
250
  }
247
251
  //# sourceMappingURL=documentation-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"documentation-generator.js","sourceRoot":"","sources":["../../src/community/documentation-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"documentation-generator.js","sourceRoot":"","sources":["../../src/community/documentation-generator.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,8 @@ export declare class N8NDocumentationMCPServer {
19
19
  private previousToolTimestamp;
20
20
  private earlyLogger;
21
21
  private disabledToolsCache;
22
+ private disabledToolOperationsCache;
23
+ private filteredToolDefinitionsCache;
22
24
  private useSharedDatabase;
23
25
  private sharedDbState;
24
26
  private isShutdown;
@@ -36,6 +38,8 @@ export declare class N8NDocumentationMCPServer {
36
38
  private dbHealthChecked;
37
39
  private validateDatabaseHealth;
38
40
  private getDisabledTools;
41
+ private getDisabledToolOperations;
42
+ private buildFilteredToolDefinitions;
39
43
  private setupHandlers;
40
44
  private sanitizeValidationResult;
41
45
  private validateToolParams;
@@ -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":"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"}
@@ -88,6 +88,8 @@ class N8NDocumentationMCPServer {
88
88
  this.previousToolTimestamp = Date.now();
89
89
  this.earlyLogger = null;
90
90
  this.disabledToolsCache = null;
91
+ this.disabledToolOperationsCache = null;
92
+ this.filteredToolDefinitionsCache = null;
91
93
  this.useSharedDatabase = false;
92
94
  this.sharedDbState = null;
93
95
  this.isShutdown = false;
@@ -389,6 +391,102 @@ class N8NDocumentationMCPServer {
389
391
  this.disabledToolsCache = new Set(tools);
390
392
  return this.disabledToolsCache;
391
393
  }
394
+ getDisabledToolOperations() {
395
+ if (this.disabledToolOperationsCache !== null) {
396
+ return this.disabledToolOperationsCache;
397
+ }
398
+ const result = new Map();
399
+ let envVal = process.env.DISABLED_TOOL_OPERATIONS || '';
400
+ if (!envVal) {
401
+ this.disabledToolOperationsCache = result;
402
+ this.filteredToolDefinitionsCache = new Map();
403
+ return result;
404
+ }
405
+ if (envVal.length > 10000) {
406
+ logger_1.logger.warn(`DISABLED_TOOL_OPERATIONS environment variable too long (${envVal.length} chars), truncating to 10000`);
407
+ envVal = envVal.substring(0, 10000);
408
+ }
409
+ let entries = envVal.split(';').map(e => e.trim()).filter(Boolean);
410
+ if (entries.length > 50) {
411
+ logger_1.logger.warn(`DISABLED_TOOL_OPERATIONS contains ${entries.length} entries, limiting to first 50`);
412
+ entries = entries.slice(0, 50);
413
+ }
414
+ for (const entry of entries) {
415
+ const colonIdx = entry.indexOf(':');
416
+ if (colonIdx === -1)
417
+ continue;
418
+ const toolName = entry.substring(0, colonIdx).trim();
419
+ const opsStr = entry.substring(colonIdx + 1).trim();
420
+ if (!toolName || !opsStr)
421
+ continue;
422
+ const ops = opsStr.split(',').map(o => o.trim().toLowerCase()).filter(Boolean);
423
+ if (ops.length === 0)
424
+ continue;
425
+ const existing = result.get(toolName) ?? new Set();
426
+ ops.forEach(op => existing.add(op));
427
+ result.set(toolName, existing);
428
+ }
429
+ for (const [toolName, ops] of result) {
430
+ const paramName = tools_n8n_manager_1.TOOL_OPERATION_PARAM[toolName];
431
+ if (!paramName) {
432
+ logger_1.logger.warn(`DISABLED_TOOL_OPERATIONS: unknown tool '${toolName}' — no per-operation filtering applied. Eligible tools: ${Object.keys(tools_n8n_manager_1.TOOL_OPERATION_PARAM).join(', ')}`);
433
+ continue;
434
+ }
435
+ const tool = tools_n8n_manager_1.n8nManagementTools.find(t => t.name === toolName);
436
+ const enumValues = tool?.inputSchema?.properties?.[paramName]?.enum ?? [];
437
+ for (const op of ops) {
438
+ if (enumValues.length > 0 && !enumValues.includes(op)) {
439
+ logger_1.logger.warn(`DISABLED_TOOL_OPERATIONS: '${op}' is not a valid ${paramName} for '${toolName}' (valid: ${enumValues.join(', ')}); it will have no effect.`);
440
+ }
441
+ }
442
+ }
443
+ if (result.size > 0) {
444
+ const summary = [...result.entries()]
445
+ .map(([t, ops]) => `${t}: [${[...ops].join(', ')}]`)
446
+ .join('; ');
447
+ logger_1.logger.info(`Disabled tool operations configured: ${summary}`);
448
+ }
449
+ this.disabledToolOperationsCache = result;
450
+ this.filteredToolDefinitionsCache = this.buildFilteredToolDefinitions(result);
451
+ return result;
452
+ }
453
+ buildFilteredToolDefinitions(disabledOps) {
454
+ const cache = new Map();
455
+ for (const [toolName, ops] of disabledOps) {
456
+ const paramName = tools_n8n_manager_1.TOOL_OPERATION_PARAM[toolName];
457
+ if (!paramName)
458
+ continue;
459
+ const original = tools_n8n_manager_1.n8nManagementTools.find(t => t.name === toolName);
460
+ if (!original)
461
+ continue;
462
+ const cloned = JSON.parse(JSON.stringify(original));
463
+ const param = cloned.inputSchema?.properties?.[paramName];
464
+ if (param?.enum) {
465
+ param.enum = param.enum.filter(v => !ops.has(v.toLowerCase()));
466
+ if (param.enum.length === 0) {
467
+ logger_1.logger.warn(`DISABLED_TOOL_OPERATIONS: all operations for '${toolName}' are disabled ` +
468
+ `but the tool still appears in ListTools. ` +
469
+ `Consider adding '${toolName}' to DISABLED_TOOLS instead.`);
470
+ }
471
+ if (param.description) {
472
+ const disabledList = [...ops].join(', ');
473
+ param.description = `${param.description} (disabled by server policy: ${disabledList})`;
474
+ }
475
+ }
476
+ const disabledList = [...ops].join(', ');
477
+ cloned.description = `${cloned.description}\n\n> Operations disabled by server policy: ${disabledList}`;
478
+ const destructive = tools_n8n_manager_1.DESTRUCTIVE_TOOL_OPERATIONS[toolName];
479
+ if (destructive && cloned.annotations) {
480
+ const remaining = param?.enum ?? [];
481
+ const stillDestructive = remaining.some(v => destructive.has(String(v).toLowerCase()));
482
+ if (!stillDestructive) {
483
+ cloned.annotations = { ...cloned.annotations, readOnlyHint: true, destructiveHint: false };
484
+ }
485
+ }
486
+ cache.set(toolName, cloned);
487
+ }
488
+ return cache;
489
+ }
392
490
  setupHandlers() {
393
491
  this.server.setRequestHandler(types_js_1.InitializeRequestSchema, async (request) => {
394
492
  const clientVersion = request.params.protocolVersion;
@@ -471,6 +569,10 @@ class N8NDocumentationMCPServer {
471
569
  description: tool.description
472
570
  });
473
571
  });
572
+ const disabledToolOps = this.getDisabledToolOperations();
573
+ if (disabledToolOps.size > 0 && this.filteredToolDefinitionsCache) {
574
+ tools = tools.map(tool => this.filteredToolDefinitionsCache.get(tool.name) ?? tool);
575
+ }
474
576
  ui_1.UIAppRegistry.injectToolMeta(tools);
475
577
  return { tools };
476
578
  });
@@ -493,7 +595,8 @@ class N8NDocumentationMCPServer {
493
595
  message: `Tool '${name}' is not available in this deployment. It has been disabled via DISABLED_TOOLS environment variable.`,
494
596
  tool: name
495
597
  }, null, 2)
496
- }]
598
+ }],
599
+ isError: true
497
600
  };
498
601
  }
499
602
  let processedArgs = args;
@@ -542,6 +645,30 @@ class N8NDocumentationMCPServer {
542
645
  if (processedArgs) {
543
646
  processedArgs = JSON.parse(JSON.stringify(processedArgs));
544
647
  }
648
+ const disabledToolOps = this.getDisabledToolOperations();
649
+ const disabledOpsForTool = disabledToolOps.get(name);
650
+ if (disabledOpsForTool && disabledOpsForTool.size > 0) {
651
+ const paramName = tools_n8n_manager_1.TOOL_OPERATION_PARAM[name];
652
+ if (paramName) {
653
+ const requestedOp = processedArgs?.[paramName];
654
+ if (requestedOp && disabledOpsForTool.has(String(requestedOp).toLowerCase())) {
655
+ logger_1.logger.warn(`Attempted to call disabled operation: ${name}.${requestedOp}`);
656
+ return {
657
+ content: [{
658
+ type: 'text',
659
+ text: JSON.stringify({
660
+ error: 'OPERATION_DISABLED',
661
+ message: `Operation '${requestedOp}' on tool '${name}' is disabled by server policy.`,
662
+ tool: name,
663
+ operation: requestedOp,
664
+ disabledOperations: [...disabledOpsForTool]
665
+ }, null, 2)
666
+ }],
667
+ isError: true
668
+ };
669
+ }
670
+ }
671
+ }
545
672
  const isAdditionalTool = this.additionalToolsByName.has(name);
546
673
  try {
547
674
  logger_1.logger.debug(`Executing tool: ${name}`, (0, redaction_1.summarizeToolCallArgs)(processedArgs));
@@ -1008,6 +1135,17 @@ class N8NDocumentationMCPServer {
1008
1135
  if (disabledTools.has(name)) {
1009
1136
  throw new Error(`Tool '${name}' is disabled via DISABLED_TOOLS environment variable`);
1010
1137
  }
1138
+ const disabledToolOps = this.getDisabledToolOperations();
1139
+ const disabledOpsForTool = disabledToolOps.get(name);
1140
+ if (disabledOpsForTool && disabledOpsForTool.size > 0) {
1141
+ const paramName = tools_n8n_manager_1.TOOL_OPERATION_PARAM[name];
1142
+ if (paramName) {
1143
+ const requestedOp = args[paramName];
1144
+ if (requestedOp && disabledOpsForTool.has(String(requestedOp).toLowerCase())) {
1145
+ throw new Error(`Operation '${requestedOp}' on tool '${name}' is disabled by server policy`);
1146
+ }
1147
+ }
1148
+ }
1011
1149
  logger_1.logger.info(`Tool execution: ${name}`, (0, redaction_1.summarizeToolCallArgs)(args));
1012
1150
  if (typeof args !== 'object' || args === null) {
1013
1151
  throw new Error(`Invalid arguments for tool ${name}: expected object, got ${typeof args}`);
@@ -2403,7 +2541,7 @@ Full documentation is being prepared. For now, use get_node_essentials for confi
2403
2541
  totalVersions: versions.length,
2404
2542
  hasVersionHistory: versions.length > 0
2405
2543
  };
2406
- this.cache.set(cacheKey, summary, 86400000);
2544
+ this.cache.set(cacheKey, summary, 86400);
2407
2545
  return summary;
2408
2546
  }
2409
2547
  versionMetadataUnavailable(nodeType, extra = {}) {
@@ -2998,10 +3136,12 @@ Full documentation is being prepared. For now, use get_node_essentials for confi
2998
3136
  };
2999
3137
  }
3000
3138
  async getToolsDocumentation(topic, depth = 'essentials') {
3139
+ const disabledToolOps = this.getDisabledToolOperations();
3001
3140
  if (!topic || topic === 'overview') {
3002
- return (0, tools_documentation_1.getToolsOverview)(depth);
3141
+ return (0, tools_documentation_1.getToolsOverview)(depth, disabledToolOps.size > 0 ? disabledToolOps : undefined);
3003
3142
  }
3004
- return (0, tools_documentation_1.getToolDocumentation)(topic, depth);
3143
+ const toolDisabledOps = disabledToolOps.get(topic);
3144
+ return (0, tools_documentation_1.getToolDocumentation)(topic, depth, toolDisabledOps);
3005
3145
  }
3006
3146
  async connect(transport) {
3007
3147
  await this.ensureInitialized();