n8n-mcp 2.26.1 → 2.26.3

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 (173) hide show
  1. package/README.md +5 -19
  2. package/dist/mcp/tool-docs/configuration/get-node.d.ts +3 -0
  3. package/dist/mcp/tool-docs/configuration/get-node.d.ts.map +1 -0
  4. package/dist/mcp/tool-docs/configuration/get-node.js +92 -0
  5. package/dist/mcp/tool-docs/configuration/get-node.js.map +1 -0
  6. package/dist/mcp/tool-docs/configuration/index.d.ts +1 -6
  7. package/dist/mcp/tool-docs/configuration/index.d.ts.map +1 -1
  8. package/dist/mcp/tool-docs/configuration/index.js +3 -13
  9. package/dist/mcp/tool-docs/configuration/index.js.map +1 -1
  10. package/dist/mcp/tool-docs/discovery/index.d.ts +0 -3
  11. package/dist/mcp/tool-docs/discovery/index.d.ts.map +1 -1
  12. package/dist/mcp/tool-docs/discovery/index.js +1 -7
  13. package/dist/mcp/tool-docs/discovery/index.js.map +1 -1
  14. package/dist/mcp/tool-docs/discovery/search-nodes.js +3 -3
  15. package/dist/mcp/tool-docs/discovery/search-nodes.js.map +1 -1
  16. package/dist/mcp/tool-docs/guides/ai-agents-guide.d.ts.map +1 -1
  17. package/dist/mcp/tool-docs/guides/ai-agents-guide.js +2 -3
  18. package/dist/mcp/tool-docs/guides/ai-agents-guide.js.map +1 -1
  19. package/dist/mcp/tool-docs/index.d.ts.map +1 -1
  20. package/dist/mcp/tool-docs/index.js +4 -25
  21. package/dist/mcp/tool-docs/index.js.map +1 -1
  22. package/dist/mcp/tool-docs/system/index.d.ts +0 -2
  23. package/dist/mcp/tool-docs/system/index.d.ts.map +1 -1
  24. package/dist/mcp/tool-docs/system/index.js +1 -5
  25. package/dist/mcp/tool-docs/system/index.js.map +1 -1
  26. package/dist/mcp/tool-docs/system/n8n-health-check.d.ts.map +1 -1
  27. package/dist/mcp/tool-docs/system/n8n-health-check.js +18 -4
  28. package/dist/mcp/tool-docs/system/n8n-health-check.js.map +1 -1
  29. package/dist/mcp/tool-docs/system/tools-documentation.js +1 -1
  30. package/dist/mcp/tool-docs/system/tools-documentation.js.map +1 -1
  31. package/dist/mcp/tool-docs/templates/get-template.d.ts.map +1 -1
  32. package/dist/mcp/tool-docs/templates/get-template.js +20 -12
  33. package/dist/mcp/tool-docs/templates/get-template.js.map +1 -1
  34. package/dist/mcp/tool-docs/templates/index.d.ts +0 -4
  35. package/dist/mcp/tool-docs/templates/index.d.ts.map +1 -1
  36. package/dist/mcp/tool-docs/templates/index.js +1 -9
  37. package/dist/mcp/tool-docs/templates/index.js.map +1 -1
  38. package/dist/mcp/tool-docs/templates/search-templates.d.ts.map +1 -1
  39. package/dist/mcp/tool-docs/templates/search-templates.js +102 -48
  40. package/dist/mcp/tool-docs/templates/search-templates.js.map +1 -1
  41. package/dist/mcp/tool-docs/validation/index.d.ts +1 -4
  42. package/dist/mcp/tool-docs/validation/index.d.ts.map +1 -1
  43. package/dist/mcp/tool-docs/validation/index.js +3 -9
  44. package/dist/mcp/tool-docs/validation/index.js.map +1 -1
  45. package/dist/mcp/tool-docs/validation/validate-node.d.ts +3 -0
  46. package/dist/mcp/tool-docs/validation/validate-node.d.ts.map +1 -0
  47. package/dist/mcp/tool-docs/validation/validate-node.js +84 -0
  48. package/dist/mcp/tool-docs/validation/validate-node.js.map +1 -0
  49. package/dist/mcp/tool-docs/validation/validate-workflow.js +1 -1
  50. package/dist/mcp/tool-docs/validation/validate-workflow.js.map +1 -1
  51. package/dist/mcp/tool-docs/workflow_management/index.d.ts +2 -6
  52. package/dist/mcp/tool-docs/workflow_management/index.d.ts.map +1 -1
  53. package/dist/mcp/tool-docs/workflow_management/index.js +5 -13
  54. package/dist/mcp/tool-docs/workflow_management/index.js.map +1 -1
  55. package/dist/mcp/tool-docs/workflow_management/n8n-autofix-workflow.d.ts.map +1 -1
  56. package/dist/mcp/tool-docs/workflow_management/n8n-autofix-workflow.js +2 -3
  57. package/dist/mcp/tool-docs/workflow_management/n8n-autofix-workflow.js.map +1 -1
  58. package/dist/mcp/tool-docs/workflow_management/n8n-delete-workflow.js +3 -3
  59. package/dist/mcp/tool-docs/workflow_management/n8n-delete-workflow.js.map +1 -1
  60. package/dist/mcp/tool-docs/workflow_management/n8n-executions.d.ts +3 -0
  61. package/dist/mcp/tool-docs/workflow_management/n8n-executions.d.ts.map +1 -0
  62. package/dist/mcp/tool-docs/workflow_management/n8n-executions.js +86 -0
  63. package/dist/mcp/tool-docs/workflow_management/n8n-executions.js.map +1 -0
  64. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow.d.ts.map +1 -1
  65. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow.js +44 -25
  66. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow.js.map +1 -1
  67. package/dist/mcp/tool-docs/workflow_management/n8n-list-workflows.js +1 -1
  68. package/dist/mcp/tool-docs/workflow_management/n8n-list-workflows.js.map +1 -1
  69. package/dist/mcp/tool-docs/workflow_management/n8n-trigger-webhook-workflow.js +8 -8
  70. package/dist/mcp/tool-docs/workflow_management/n8n-trigger-webhook-workflow.js.map +1 -1
  71. package/dist/mcp/tool-docs/workflow_management/n8n-workflow-versions.d.ts +3 -0
  72. package/dist/mcp/tool-docs/workflow_management/n8n-workflow-versions.d.ts.map +1 -0
  73. package/dist/mcp/tool-docs/workflow_management/n8n-workflow-versions.js +170 -0
  74. package/dist/mcp/tool-docs/workflow_management/n8n-workflow-versions.js.map +1 -0
  75. package/dist/mcp/tools-documentation.d.ts.map +1 -1
  76. package/dist/mcp/tools-documentation.js +43 -38
  77. package/dist/mcp/tools-documentation.js.map +1 -1
  78. package/dist/mcp/tools-n8n-friendly.d.ts.map +1 -1
  79. package/dist/mcp/tools-n8n-friendly.js +20 -62
  80. package/dist/mcp/tools-n8n-friendly.js.map +1 -1
  81. package/package.json +1 -1
  82. package/dist/mcp/tool-docs/configuration/get-node-as-tool-info.d.ts +0 -3
  83. package/dist/mcp/tool-docs/configuration/get-node-as-tool-info.d.ts.map +0 -1
  84. package/dist/mcp/tool-docs/configuration/get-node-as-tool-info.js +0 -73
  85. package/dist/mcp/tool-docs/configuration/get-node-as-tool-info.js.map +0 -1
  86. package/dist/mcp/tool-docs/configuration/get-node-documentation.d.ts +0 -3
  87. package/dist/mcp/tool-docs/configuration/get-node-documentation.d.ts.map +0 -1
  88. package/dist/mcp/tool-docs/configuration/get-node-documentation.js +0 -47
  89. package/dist/mcp/tool-docs/configuration/get-node-documentation.js.map +0 -1
  90. package/dist/mcp/tool-docs/configuration/get-node-essentials.d.ts +0 -3
  91. package/dist/mcp/tool-docs/configuration/get-node-essentials.d.ts.map +0 -1
  92. package/dist/mcp/tool-docs/configuration/get-node-essentials.js +0 -88
  93. package/dist/mcp/tool-docs/configuration/get-node-essentials.js.map +0 -1
  94. package/dist/mcp/tool-docs/configuration/get-node-info.d.ts +0 -3
  95. package/dist/mcp/tool-docs/configuration/get-node-info.d.ts.map +0 -1
  96. package/dist/mcp/tool-docs/configuration/get-node-info.js +0 -100
  97. package/dist/mcp/tool-docs/configuration/get-node-info.js.map +0 -1
  98. package/dist/mcp/tool-docs/configuration/get-property-dependencies.d.ts +0 -3
  99. package/dist/mcp/tool-docs/configuration/get-property-dependencies.d.ts.map +0 -1
  100. package/dist/mcp/tool-docs/configuration/get-property-dependencies.js +0 -81
  101. package/dist/mcp/tool-docs/configuration/get-property-dependencies.js.map +0 -1
  102. package/dist/mcp/tool-docs/configuration/search-node-properties.d.ts +0 -3
  103. package/dist/mcp/tool-docs/configuration/search-node-properties.d.ts.map +0 -1
  104. package/dist/mcp/tool-docs/configuration/search-node-properties.js +0 -99
  105. package/dist/mcp/tool-docs/configuration/search-node-properties.js.map +0 -1
  106. package/dist/mcp/tool-docs/discovery/get-database-statistics.d.ts +0 -3
  107. package/dist/mcp/tool-docs/discovery/get-database-statistics.d.ts.map +0 -1
  108. package/dist/mcp/tool-docs/discovery/get-database-statistics.js +0 -69
  109. package/dist/mcp/tool-docs/discovery/get-database-statistics.js.map +0 -1
  110. package/dist/mcp/tool-docs/discovery/list-ai-tools.d.ts +0 -3
  111. package/dist/mcp/tool-docs/discovery/list-ai-tools.d.ts.map +0 -1
  112. package/dist/mcp/tool-docs/discovery/list-ai-tools.js +0 -53
  113. package/dist/mcp/tool-docs/discovery/list-ai-tools.js.map +0 -1
  114. package/dist/mcp/tool-docs/discovery/list-nodes.d.ts +0 -3
  115. package/dist/mcp/tool-docs/discovery/list-nodes.d.ts.map +0 -1
  116. package/dist/mcp/tool-docs/discovery/list-nodes.js +0 -54
  117. package/dist/mcp/tool-docs/discovery/list-nodes.js.map +0 -1
  118. package/dist/mcp/tool-docs/templates/get-templates-for-task.d.ts +0 -3
  119. package/dist/mcp/tool-docs/templates/get-templates-for-task.d.ts.map +0 -1
  120. package/dist/mcp/tool-docs/templates/get-templates-for-task.js +0 -76
  121. package/dist/mcp/tool-docs/templates/get-templates-for-task.js.map +0 -1
  122. package/dist/mcp/tool-docs/templates/list-node-templates.d.ts +0 -3
  123. package/dist/mcp/tool-docs/templates/list-node-templates.d.ts.map +0 -1
  124. package/dist/mcp/tool-docs/templates/list-node-templates.js +0 -80
  125. package/dist/mcp/tool-docs/templates/list-node-templates.js.map +0 -1
  126. package/dist/mcp/tool-docs/templates/list-tasks.d.ts +0 -3
  127. package/dist/mcp/tool-docs/templates/list-tasks.d.ts.map +0 -1
  128. package/dist/mcp/tool-docs/templates/list-tasks.js +0 -48
  129. package/dist/mcp/tool-docs/templates/list-tasks.js.map +0 -1
  130. package/dist/mcp/tool-docs/templates/search-templates-by-metadata.d.ts +0 -3
  131. package/dist/mcp/tool-docs/templates/search-templates-by-metadata.d.ts.map +0 -1
  132. package/dist/mcp/tool-docs/templates/search-templates-by-metadata.js +0 -120
  133. package/dist/mcp/tool-docs/templates/search-templates-by-metadata.js.map +0 -1
  134. package/dist/mcp/tool-docs/validation/validate-node-minimal.d.ts +0 -3
  135. package/dist/mcp/tool-docs/validation/validate-node-minimal.d.ts.map +0 -1
  136. package/dist/mcp/tool-docs/validation/validate-node-minimal.js +0 -49
  137. package/dist/mcp/tool-docs/validation/validate-node-minimal.js.map +0 -1
  138. package/dist/mcp/tool-docs/validation/validate-node-operation.d.ts +0 -3
  139. package/dist/mcp/tool-docs/validation/validate-node-operation.d.ts.map +0 -1
  140. package/dist/mcp/tool-docs/validation/validate-node-operation.js +0 -100
  141. package/dist/mcp/tool-docs/validation/validate-node-operation.js.map +0 -1
  142. package/dist/mcp/tool-docs/validation/validate-workflow-connections.d.ts +0 -3
  143. package/dist/mcp/tool-docs/validation/validate-workflow-connections.d.ts.map +0 -1
  144. package/dist/mcp/tool-docs/validation/validate-workflow-connections.js +0 -58
  145. package/dist/mcp/tool-docs/validation/validate-workflow-connections.js.map +0 -1
  146. package/dist/mcp/tool-docs/validation/validate-workflow-expressions.d.ts +0 -3
  147. package/dist/mcp/tool-docs/validation/validate-workflow-expressions.d.ts.map +0 -1
  148. package/dist/mcp/tool-docs/validation/validate-workflow-expressions.js +0 -58
  149. package/dist/mcp/tool-docs/validation/validate-workflow-expressions.js.map +0 -1
  150. package/dist/mcp/tool-docs/workflow_management/n8n-delete-execution.d.ts +0 -3
  151. package/dist/mcp/tool-docs/workflow_management/n8n-delete-execution.d.ts.map +0 -1
  152. package/dist/mcp/tool-docs/workflow_management/n8n-delete-execution.js +0 -59
  153. package/dist/mcp/tool-docs/workflow_management/n8n-delete-execution.js.map +0 -1
  154. package/dist/mcp/tool-docs/workflow_management/n8n-get-execution.d.ts +0 -3
  155. package/dist/mcp/tool-docs/workflow_management/n8n-get-execution.d.ts.map +0 -1
  156. package/dist/mcp/tool-docs/workflow_management/n8n-get-execution.js +0 -270
  157. package/dist/mcp/tool-docs/workflow_management/n8n-get-execution.js.map +0 -1
  158. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-details.d.ts +0 -3
  159. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-details.d.ts.map +0 -1
  160. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-details.js +0 -51
  161. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-details.js.map +0 -1
  162. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-minimal.d.ts +0 -3
  163. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-minimal.d.ts.map +0 -1
  164. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-minimal.js +0 -51
  165. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-minimal.js.map +0 -1
  166. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-structure.d.ts +0 -3
  167. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-structure.d.ts.map +0 -1
  168. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-structure.js +0 -51
  169. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-structure.js.map +0 -1
  170. package/dist/mcp/tool-docs/workflow_management/n8n-list-executions.d.ts +0 -3
  171. package/dist/mcp/tool-docs/workflow_management/n8n-list-executions.d.ts.map +0 -1
  172. package/dist/mcp/tool-docs/workflow_management/n8n-list-executions.js +0 -86
  173. package/dist/mcp/tool-docs/workflow_management/n8n-list-executions.js.map +0 -1
@@ -3,21 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.n8nFriendlyDescriptions = void 0;
4
4
  exports.makeToolsN8nFriendly = makeToolsN8nFriendly;
5
5
  exports.n8nFriendlyDescriptions = {
6
- validate_node_operation: {
7
- description: 'Validate n8n node. ALWAYS pass two parameters: nodeType (string) and config (object). Example call: {"nodeType": "nodes-base.slack", "config": {"resource": "channel", "operation": "create"}}',
6
+ validate_node: {
7
+ description: 'Validate n8n node config. Pass nodeType (string) and config (object). Use mode="full" for comprehensive validation, mode="minimal" for quick check. Example: {"nodeType": "nodes-base.slack", "config": {"resource": "channel", "operation": "create"}}',
8
8
  params: {
9
9
  nodeType: 'String value like "nodes-base.slack"',
10
10
  config: 'Object value like {"resource": "channel", "operation": "create"} or empty object {}',
11
+ mode: 'Optional string: "full" (default) or "minimal"',
11
12
  profile: 'Optional string: "minimal" or "runtime" or "ai-friendly" or "strict"'
12
13
  }
13
14
  },
14
- validate_node_minimal: {
15
- description: 'Check required fields. MUST pass: nodeType (string) and config (object). Example: {"nodeType": "nodes-base.webhook", "config": {}}',
16
- params: {
17
- nodeType: 'String like "nodes-base.webhook"',
18
- config: 'Object, use {} for empty'
19
- }
20
- },
21
15
  search_nodes: {
22
16
  description: 'Search nodes. Pass query (string). Example: {"query": "webhook"}',
23
17
  params: {
@@ -25,80 +19,44 @@ exports.n8nFriendlyDescriptions = {
25
19
  limit: 'Optional number, default 20'
26
20
  }
27
21
  },
28
- get_node_info: {
29
- description: 'Get node details. Pass nodeType (string). Example: {"nodeType": "nodes-base.httpRequest"}',
30
- params: {
31
- nodeType: 'String with prefix like "nodes-base.httpRequest"'
32
- }
33
- },
34
- get_node_essentials: {
35
- description: 'Get node basics. Pass nodeType (string). Example: {"nodeType": "nodes-base.slack"}',
36
- params: {
37
- nodeType: 'String with prefix like "nodes-base.slack"'
38
- }
39
- },
40
- get_node_for_task: {
41
- description: 'Find node for task. Pass task (string). Example: {"task": "send_http_request"}',
42
- params: {
43
- task: 'String task name like "send_http_request"'
44
- }
45
- },
46
- list_tasks: {
47
- description: 'List tasks by category. Pass category (string). Example: {"category": "HTTP/API"}',
22
+ get_node: {
23
+ description: 'Get node info with multiple modes. Pass nodeType (string). Use mode="info" for config, mode="docs" for documentation, mode="search_properties" with propertyQuery for finding fields. Example: {"nodeType": "nodes-base.httpRequest", "detail": "standard"}',
48
24
  params: {
49
- category: 'String: "HTTP/API" or "Webhooks" or "Database" or "AI/LangChain" or "Data Processing" or "Communication"'
25
+ nodeType: 'String with prefix like "nodes-base.httpRequest"',
26
+ mode: 'Optional string: "info" (default), "docs", "search_properties", "versions", "compare", "breaking", "migrations"',
27
+ detail: 'Optional string: "minimal", "standard" (default), "full"',
28
+ propertyQuery: 'For mode="search_properties": search term like "auth"'
50
29
  }
51
30
  },
52
31
  validate_workflow: {
53
- description: 'Validate workflow. Pass workflow object. MUST have: {"workflow": {"nodes": [array of node objects], "connections": {object with node connections}}}. Each node needs: name, type, typeVersion, position.',
32
+ description: 'Validate workflow structure, connections, and expressions. Pass workflow object. MUST have: {"workflow": {"nodes": [array of node objects], "connections": {object with node connections}}}. Each node needs: name, type, typeVersion, position.',
54
33
  params: {
55
34
  workflow: 'Object with two required fields: nodes (array) and connections (object). Example: {"nodes": [{"name": "Webhook", "type": "n8n-nodes-base.webhook", "typeVersion": 2, "position": [250, 300], "parameters": {}}], "connections": {}}',
56
- options: 'Optional object. Example: {"validateNodes": true, "profile": "runtime"}'
57
- }
58
- },
59
- validate_workflow_connections: {
60
- description: 'Validate workflow connections only. Pass workflow object. Example: {"workflow": {"nodes": [...], "connections": {}}}',
61
- params: {
62
- workflow: 'Object with nodes array and connections object. Minimal example: {"nodes": [{"name": "Webhook"}], "connections": {}}'
63
- }
64
- },
65
- validate_workflow_expressions: {
66
- description: 'Validate n8n expressions in workflow. Pass workflow object. Example: {"workflow": {"nodes": [...], "connections": {}}}',
67
- params: {
68
- workflow: 'Object with nodes array and connections object containing n8n expressions like {{ $json.data }}'
69
- }
70
- },
71
- get_property_dependencies: {
72
- description: 'Get field dependencies. Pass nodeType (string) and optional config (object). Example: {"nodeType": "nodes-base.httpRequest", "config": {}}',
73
- params: {
74
- nodeType: 'String like "nodes-base.httpRequest"',
75
- config: 'Optional object, use {} for empty'
76
- }
77
- },
78
- get_node_as_tool_info: {
79
- description: 'Get AI tool usage. Pass nodeType (string). Example: {"nodeType": "nodes-base.slack"}',
80
- params: {
81
- nodeType: 'String with prefix like "nodes-base.slack"'
35
+ options: 'Optional object. Example: {"validateNodes": true, "validateConnections": true, "validateExpressions": true, "profile": "runtime"}'
82
36
  }
83
37
  },
84
38
  search_templates: {
85
- description: 'Search workflow templates. Pass query (string). Example: {"query": "chatbot"}',
39
+ description: 'Search workflow templates with multiple modes. Use searchMode="keyword" for text search, searchMode="by_nodes" to find by node types, searchMode="by_task" for task-based templates, searchMode="by_metadata" for filtering. Example: {"query": "chatbot"} or {"searchMode": "by_task", "task": "webhook_processing"}',
86
40
  params: {
87
- query: 'String keyword like "chatbot" or "webhook"',
41
+ query: 'For searchMode="keyword": string keyword like "chatbot"',
42
+ searchMode: 'Optional: "keyword" (default), "by_nodes", "by_task", "by_metadata"',
43
+ nodeTypes: 'For searchMode="by_nodes": array like ["n8n-nodes-base.httpRequest"]',
44
+ task: 'For searchMode="by_task": task like "webhook_processing", "ai_automation"',
88
45
  limit: 'Optional number, default 20'
89
46
  }
90
47
  },
91
48
  get_template: {
92
49
  description: 'Get template by ID. Pass templateId (number). Example: {"templateId": 1234}',
93
50
  params: {
94
- templateId: 'Number ID like 1234'
51
+ templateId: 'Number ID like 1234',
52
+ mode: 'Optional: "full" (default), "nodes_only", "structure"'
95
53
  }
96
54
  },
97
55
  tools_documentation: {
98
56
  description: 'Get tool docs. Pass optional depth (string). Example: {"depth": "essentials"} or {}',
99
57
  params: {
100
- depth: 'Optional string: "essentials" or "overview" or "detailed"',
101
- topic: 'Optional string topic name'
58
+ depth: 'Optional string: "essentials" (default) or "full"',
59
+ topic: 'Optional string tool name like "search_nodes"'
102
60
  }
103
61
  }
104
62
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tools-n8n-friendly.js","sourceRoot":"","sources":["../../src/mcp/tools-n8n-friendly.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools-n8n-friendly.js","sourceRoot":"","sources":["../../src/mcp/tools-n8n-friendly.ts"],"names":[],"mappings":";;;AAyFA,oDAiCC;AA/GY,QAAA,uBAAuB,GAG/B;IAEH,aAAa,EAAE;QACb,WAAW,EAAE,yPAAyP;QACtQ,MAAM,EAAE;YACN,QAAQ,EAAE,sCAAsC;YAChD,MAAM,EAAE,qFAAqF;YAC7F,IAAI,EAAE,gDAAgD;YACtD,OAAO,EAAE,sEAAsE;SAChF;KACF;IAGD,YAAY,EAAE;QACZ,WAAW,EAAE,kEAAkE;QAC/E,MAAM,EAAE;YACN,KAAK,EAAE,6CAA6C;YACpD,KAAK,EAAE,6BAA6B;SACrC;KACF;IAGD,QAAQ,EAAE;QACR,WAAW,EAAE,6PAA6P;QAC1Q,MAAM,EAAE;YACN,QAAQ,EAAE,kDAAkD;YAC5D,IAAI,EAAE,iHAAiH;YACvH,MAAM,EAAE,0DAA0D;YAClE,aAAa,EAAE,uDAAuD;SACvE;KACF;IAGD,iBAAiB,EAAE;QACjB,WAAW,EAAE,kPAAkP;QAC/P,MAAM,EAAE;YACN,QAAQ,EAAE,qOAAqO;YAC/O,OAAO,EAAE,mIAAmI;SAC7I;KACF;IAGD,gBAAgB,EAAE;QAChB,WAAW,EAAE,uTAAuT;QACpU,MAAM,EAAE;YACN,KAAK,EAAE,yDAAyD;YAChE,UAAU,EAAE,qEAAqE;YACjF,SAAS,EAAE,sEAAsE;YACjF,IAAI,EAAE,2EAA2E;YACjF,KAAK,EAAE,6BAA6B;SACrC;KACF;IAED,YAAY,EAAE;QACZ,WAAW,EAAE,6EAA6E;QAC1F,MAAM,EAAE;YACN,UAAU,EAAE,qBAAqB;YACjC,IAAI,EAAE,uDAAuD;SAC9D;KACF;IAGD,mBAAmB,EAAE;QACnB,WAAW,EAAE,qFAAqF;QAClG,MAAM,EAAE;YACN,KAAK,EAAE,mDAAmD;YAC1D,KAAK,EAAE,+CAA+C;SACvD;KACF;CACF,CAAC;AAMF,SAAgB,oBAAoB,CAAC,KAAY;IAC/C,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAc,CAAC;QACrC,MAAM,YAAY,GAAG,+BAAuB,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,YAAY,EAAE,CAAC;YAEjB,MAAM,WAAW,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;YAGhC,WAAW,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC;YAGnD,IAAI,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;gBACjC,WAAW,CAAC,WAAW,GAAG;oBACxB,GAAG,IAAI,CAAC,WAAW;oBACnB,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE;iBAC/C,CAAC;gBAGF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBAC9D,IAAI,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC/B,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG;4BAC1C,GAAG,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC;4BAC5C,WAAW,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC;yBACxC,CAAC;oBACJ,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAED,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-mcp",
3
- "version": "2.26.1",
3
+ "version": "2.26.3",
4
4
  "description": "Integration between n8n workflow automation and Model Context Protocol (MCP)",
5
5
  "dependencies": {
6
6
  "@modelcontextprotocol/sdk": "^1.13.2",
@@ -1,3 +0,0 @@
1
- import { ToolDocumentation } from '../types';
2
- export declare const getNodeAsToolInfoDoc: ToolDocumentation;
3
- //# sourceMappingURL=get-node-as-tool-info.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-node-as-tool-info.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/configuration/get-node-as-tool-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,oBAAoB,EAAE,iBAoElC,CAAC"}
@@ -1,73 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getNodeAsToolInfoDoc = void 0;
4
- exports.getNodeAsToolInfoDoc = {
5
- name: 'get_node_as_tool_info',
6
- category: 'configuration',
7
- essentials: {
8
- description: 'Explains how to use ANY node as an AI tool with requirements and examples.',
9
- keyParameters: ['nodeType'],
10
- example: 'get_node_as_tool_info({nodeType: "nodes-base.slack"})',
11
- performance: 'Fast - returns guidance and examples',
12
- tips: [
13
- 'ANY node can be used as AI tool, not just AI-marked ones',
14
- 'Community nodes need N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true',
15
- 'Provides specific use cases and connection requirements'
16
- ]
17
- },
18
- full: {
19
- description: `Shows how to use any n8n node as an AI tool in AI Agent workflows. In n8n, ANY node can be connected to an AI Agent's tool port, allowing the AI to use that node's functionality. This tool provides specific guidance, requirements, and examples for using a node as an AI tool.`,
20
- parameters: {
21
- nodeType: {
22
- type: 'string',
23
- required: true,
24
- description: 'Full node type WITH prefix: "nodes-base.slack", "nodes-base.googleSheets", etc.',
25
- examples: [
26
- 'nodes-base.slack',
27
- 'nodes-base.httpRequest',
28
- 'nodes-base.googleSheets',
29
- 'nodes-langchain.documentLoader'
30
- ]
31
- }
32
- },
33
- returns: `Object containing:
34
- - nodeType: The node's full type identifier
35
- - displayName: Human-readable name
36
- - isMarkedAsAITool: Whether node has usableAsTool property
37
- - aiToolCapabilities: Detailed AI tool usage information including:
38
- - canBeUsedAsTool: Always true in n8n
39
- - requiresEnvironmentVariable: For community nodes
40
- - commonUseCases: Specific AI tool use cases
41
- - requirements: Connection and environment setup
42
- - examples: Code examples for common scenarios
43
- - tips: Best practices for AI tool usage`,
44
- examples: [
45
- 'get_node_as_tool_info({nodeType: "nodes-base.slack"}) - Get AI tool guidance for Slack',
46
- 'get_node_as_tool_info({nodeType: "nodes-base.httpRequest"}) - Learn to use HTTP Request as AI tool',
47
- 'get_node_as_tool_info({nodeType: "nodes-base.postgres"}) - Database queries as AI tools'
48
- ],
49
- useCases: [
50
- 'Understanding how to connect any node to AI Agent',
51
- 'Learning environment requirements for community nodes',
52
- 'Getting specific use case examples for AI tool usage',
53
- 'Checking if a node is optimized for AI usage',
54
- 'Understanding credential requirements for AI tools'
55
- ],
56
- performance: 'Very fast - returns pre-computed guidance and examples',
57
- bestPractices: [
58
- 'Use this before configuring nodes as AI tools',
59
- 'Check environment requirements for community nodes',
60
- 'Review common use cases to understand best applications',
61
- 'Test nodes independently before connecting to AI Agent',
62
- 'Give tools descriptive names in AI Agent configuration'
63
- ],
64
- pitfalls: [
65
- 'Community nodes require environment variable to be used as tools',
66
- 'Not all nodes make sense as AI tools (e.g., triggers)',
67
- 'Some nodes require specific credentials configuration',
68
- 'Tool descriptions in AI Agent must be clear and detailed'
69
- ],
70
- relatedTools: ['list_ai_tools', 'get_node_essentials', 'validate_node_operation']
71
- }
72
- };
73
- //# sourceMappingURL=get-node-as-tool-info.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-node-as-tool-info.js","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/configuration/get-node-as-tool-info.ts"],"names":[],"mappings":";;;AAEa,QAAA,oBAAoB,GAAsB;IACrD,IAAI,EAAE,uBAAuB;IAC7B,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE;QACV,WAAW,EAAE,4EAA4E;QACzF,aAAa,EAAE,CAAC,UAAU,CAAC;QAC3B,OAAO,EAAE,uDAAuD;QAChE,WAAW,EAAE,sCAAsC;QACnD,IAAI,EAAE;YACJ,0DAA0D;YAC1D,mEAAmE;YACnE,yDAAyD;SAC1D;KACF;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,qRAAqR;QAClS,UAAU,EAAE;YACV,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,iFAAiF;gBAC9F,QAAQ,EAAE;oBACR,kBAAkB;oBAClB,wBAAwB;oBACxB,yBAAyB;oBACzB,gCAAgC;iBACjC;aACF;SACF;QACD,OAAO,EAAE;;;;;;;;;;2CAU8B;QACvC,QAAQ,EAAE;YACR,wFAAwF;YACxF,oGAAoG;YACpG,yFAAyF;SAC1F;QACD,QAAQ,EAAE;YACR,mDAAmD;YACnD,uDAAuD;YACvD,sDAAsD;YACtD,8CAA8C;YAC9C,oDAAoD;SACrD;QACD,WAAW,EAAE,wDAAwD;QACrE,aAAa,EAAE;YACb,+CAA+C;YAC/C,oDAAoD;YACpD,yDAAyD;YACzD,wDAAwD;YACxD,wDAAwD;SACzD;QACD,QAAQ,EAAE;YACR,kEAAkE;YAClE,uDAAuD;YACvD,uDAAuD;YACvD,0DAA0D;SAC3D;QACD,YAAY,EAAE,CAAC,eAAe,EAAE,qBAAqB,EAAE,yBAAyB,CAAC;KAClF;CACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import { ToolDocumentation } from '../types';
2
- export declare const getNodeDocumentationDoc: ToolDocumentation;
3
- //# sourceMappingURL=get-node-documentation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-node-documentation.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/configuration/get-node-documentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,uBAAuB,EAAE,iBA0CrC,CAAC"}
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getNodeDocumentationDoc = void 0;
4
- exports.getNodeDocumentationDoc = {
5
- name: 'get_node_documentation',
6
- category: 'configuration',
7
- essentials: {
8
- description: 'Get readable docs with examples/auth/patterns. Better than raw schema! 87% coverage. Format: "nodes-base.slack"',
9
- keyParameters: ['nodeType'],
10
- example: 'get_node_documentation({nodeType: "nodes-base.slack"})',
11
- performance: 'Fast - pre-parsed',
12
- tips: [
13
- '87% coverage',
14
- 'Includes auth examples',
15
- 'Human-readable format'
16
- ]
17
- },
18
- full: {
19
- description: 'Returns human-readable documentation parsed from n8n-docs including examples, authentication setup, and common patterns. More useful than raw schema for understanding node usage.',
20
- parameters: {
21
- nodeType: { type: 'string', required: true, description: 'Full node type with prefix (e.g., "nodes-base.slack")' }
22
- },
23
- returns: 'Parsed markdown documentation with examples, authentication guides, common patterns',
24
- examples: [
25
- 'get_node_documentation({nodeType: "nodes-base.slack"}) - Slack usage guide',
26
- 'get_node_documentation({nodeType: "nodes-base.googleSheets"}) - Sheets examples'
27
- ],
28
- useCases: [
29
- 'Understanding authentication setup',
30
- 'Finding usage examples',
31
- 'Learning common patterns'
32
- ],
33
- performance: 'Fast - Pre-parsed documentation stored in database',
34
- bestPractices: [
35
- 'Use for learning node usage',
36
- 'Check coverage with get_database_statistics',
37
- 'Combine with get_node_essentials'
38
- ],
39
- pitfalls: [
40
- 'Not all nodes have docs (87% coverage)',
41
- 'May be outdated for new features',
42
- 'Requires full node type prefix'
43
- ],
44
- relatedTools: ['get_node_info', 'get_node_essentials', 'search_nodes']
45
- }
46
- };
47
- //# sourceMappingURL=get-node-documentation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-node-documentation.js","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/configuration/get-node-documentation.ts"],"names":[],"mappings":";;;AAEa,QAAA,uBAAuB,GAAsB;IACxD,IAAI,EAAE,wBAAwB;IAC9B,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE;QACV,WAAW,EAAE,iHAAiH;QAC9H,aAAa,EAAE,CAAC,UAAU,CAAC;QAC3B,OAAO,EAAE,wDAAwD;QACjE,WAAW,EAAE,mBAAmB;QAChC,IAAI,EAAE;YACJ,cAAc;YACd,wBAAwB;YACxB,uBAAuB;SACxB;KACF;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,oLAAoL;QACjM,UAAU,EAAE;YACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,uDAAuD,EAAE;SACnH;QACD,OAAO,EAAE,qFAAqF;QAC9F,QAAQ,EAAE;YACR,4EAA4E;YAC5E,iFAAiF;SAClF;QACD,QAAQ,EAAE;YACR,oCAAoC;YACpC,wBAAwB;YACxB,0BAA0B;SAC3B;QACD,WAAW,EAAE,oDAAoD;QACjE,aAAa,EAAE;YACb,6BAA6B;YAC7B,6CAA6C;YAC7C,kCAAkC;SACnC;QACD,QAAQ,EAAE;YACR,wCAAwC;YACxC,kCAAkC;YAClC,gCAAgC;SACjC;QACD,YAAY,EAAE,CAAC,eAAe,EAAE,qBAAqB,EAAE,cAAc,CAAC;KACvE;CACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import { ToolDocumentation } from '../types';
2
- export declare const getNodeEssentialsDoc: ToolDocumentation;
3
- //# sourceMappingURL=get-node-essentials.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-node-essentials.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/configuration/get-node-essentials.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,oBAAoB,EAAE,iBAmFlC,CAAC"}
@@ -1,88 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getNodeEssentialsDoc = void 0;
4
- exports.getNodeEssentialsDoc = {
5
- name: 'get_node_essentials',
6
- category: 'configuration',
7
- essentials: {
8
- description: 'Returns only the most commonly-used properties for a node (10-20 fields). Response is 95% smaller than get_node_info (5KB vs 100KB+). Essential properties include required fields, common options, and authentication settings. Use validate_node_operation for working configurations.',
9
- keyParameters: ['nodeType'],
10
- example: 'get_node_essentials({nodeType: "nodes-base.slack"})',
11
- performance: '<10ms, ~5KB response',
12
- tips: [
13
- 'Always use this before get_node_info',
14
- 'Use validate_node_operation for examples',
15
- 'Perfect for understanding node structure'
16
- ]
17
- },
18
- full: {
19
- description: 'Returns a curated subset of node properties focusing on the most commonly-used fields. Essential properties are hand-picked for each node type and include: required fields, primary operations, authentication options, and the most frequent configuration patterns. NOTE: Examples have been removed to avoid confusion - use validate_node_operation to get working configurations with proper validation.',
20
- parameters: {
21
- nodeType: { type: 'string', description: 'Full node type with prefix, e.g., "nodes-base.slack", "nodes-base.httpRequest"', required: true }
22
- },
23
- returns: `Object containing:
24
- {
25
- "nodeType": "nodes-base.slack",
26
- "displayName": "Slack",
27
- "description": "Consume Slack API",
28
- "category": "output",
29
- "version": "2.3",
30
- "requiredProperties": [], // Most nodes have no strictly required fields
31
- "commonProperties": [
32
- {
33
- "name": "resource",
34
- "displayName": "Resource",
35
- "type": "options",
36
- "options": ["channel", "message", "user"],
37
- "default": "message"
38
- },
39
- {
40
- "name": "operation",
41
- "displayName": "Operation",
42
- "type": "options",
43
- "options": ["post", "update", "delete"],
44
- "default": "post"
45
- },
46
- // ... 10-20 most common properties
47
- ],
48
- "operations": [
49
- {"name": "Post", "description": "Post a message"},
50
- {"name": "Update", "description": "Update a message"}
51
- ],
52
- "metadata": {
53
- "totalProperties": 121,
54
- "isAITool": false,
55
- "hasCredentials": true
56
- }
57
- }`,
58
- examples: [
59
- 'get_node_essentials({nodeType: "nodes-base.httpRequest"}) - HTTP configuration basics',
60
- 'get_node_essentials({nodeType: "nodes-base.slack"}) - Slack messaging essentials',
61
- 'get_node_essentials({nodeType: "nodes-base.googleSheets"}) - Sheets operations',
62
- '// Workflow: search → essentials → validate',
63
- 'const nodes = search_nodes({query: "database"});',
64
- 'const mysql = get_node_essentials({nodeType: "nodes-base.mySql"});',
65
- 'validate_node_operation("nodes-base.mySql", {operation: "select"}, "minimal");'
66
- ],
67
- useCases: [
68
- 'Quickly understand node structure without information overload',
69
- 'Identify which properties are most important',
70
- 'Learn node basics before diving into advanced features',
71
- 'Build workflows faster with curated property sets'
72
- ],
73
- performance: '<10ms response time, ~5KB payload (vs 100KB+ for full schema)',
74
- bestPractices: [
75
- 'Always start with essentials, only use get_node_info if needed',
76
- 'Use validate_node_operation to get working configurations',
77
- 'Check authentication requirements first',
78
- 'Use search_node_properties if specific property not in essentials'
79
- ],
80
- pitfalls: [
81
- 'Advanced properties not included - use get_node_info for complete schema',
82
- 'Node-specific validators may require additional fields',
83
- 'Some nodes have 50+ properties, essentials shows only top 10-20'
84
- ],
85
- relatedTools: ['get_node_info for complete schema', 'search_node_properties for finding specific fields', 'validate_node_minimal to check configuration']
86
- }
87
- };
88
- //# sourceMappingURL=get-node-essentials.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-node-essentials.js","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/configuration/get-node-essentials.ts"],"names":[],"mappings":";;;AAEa,QAAA,oBAAoB,GAAsB;IACrD,IAAI,EAAE,qBAAqB;IAC3B,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE;QACV,WAAW,EAAE,0RAA0R;QACvS,aAAa,EAAE,CAAC,UAAU,CAAC;QAC3B,OAAO,EAAE,qDAAqD;QAC9D,WAAW,EAAE,sBAAsB;QACnC,IAAI,EAAE;YACJ,sCAAsC;YACtC,0CAA0C;YAC1C,0CAA0C;SAC3C;KACF;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,gZAAgZ;QAC7Z,UAAU,EAAE;YACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gFAAgF,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC5I;QACD,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCX;QACE,QAAQ,EAAE;YACR,uFAAuF;YACvF,kFAAkF;YAClF,gFAAgF;YAChF,6CAA6C;YAC7C,kDAAkD;YAClD,oEAAoE;YACpE,gFAAgF;SACjF;QACD,QAAQ,EAAE;YACR,gEAAgE;YAChE,8CAA8C;YAC9C,wDAAwD;YACxD,mDAAmD;SACpD;QACD,WAAW,EAAE,+DAA+D;QAC5E,aAAa,EAAE;YACb,gEAAgE;YAChE,2DAA2D;YAC3D,yCAAyC;YACzC,mEAAmE;SACpE;QACD,QAAQ,EAAE;YACR,0EAA0E;YAC1E,wDAAwD;YACxD,iEAAiE;SAClE;QACD,YAAY,EAAE,CAAC,mCAAmC,EAAE,oDAAoD,EAAE,8CAA8C,CAAC;KAC1J;CACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import { ToolDocumentation } from '../types';
2
- export declare const getNodeInfoDoc: ToolDocumentation;
3
- //# sourceMappingURL=get-node-info.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-node-info.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/configuration/get-node-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,cAAc,EAAE,iBA+F5B,CAAC"}
@@ -1,100 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getNodeInfoDoc = void 0;
4
- exports.getNodeInfoDoc = {
5
- name: 'get_node_info',
6
- category: 'configuration',
7
- essentials: {
8
- description: 'Returns complete node schema with ALL properties (100KB+ response). Only use when you need advanced properties not in get_node_essentials. Contains 200+ properties for complex nodes like HTTP Request. Requires full prefix like "nodes-base.httpRequest".',
9
- keyParameters: ['nodeType'],
10
- example: 'get_node_info({nodeType: "nodes-base.slack"})',
11
- performance: '100-500ms, 50-500KB response',
12
- tips: [
13
- 'Try get_node_essentials first (95% smaller)',
14
- 'Use only for advanced configurations',
15
- 'Response may have 200+ properties'
16
- ]
17
- },
18
- full: {
19
- description: 'Returns the complete JSON schema for a node including all properties, operations, authentication methods, version information, and metadata. Response sizes range from 50KB to 500KB. Use this only when get_node_essentials doesn\'t provide the specific property you need.',
20
- parameters: {
21
- nodeType: { type: 'string', required: true, description: 'Full node type with prefix. Examples: "nodes-base.slack", "nodes-base.httpRequest", "nodes-langchain.openAi"' }
22
- },
23
- returns: `Complete node object containing:
24
- {
25
- "displayName": "Slack",
26
- "name": "slack",
27
- "type": "nodes-base.slack",
28
- "typeVersion": 2.2,
29
- "description": "Consume Slack API",
30
- "defaults": {"name": "Slack"},
31
- "inputs": ["main"],
32
- "outputs": ["main"],
33
- "credentials": [
34
- {
35
- "name": "slackApi",
36
- "required": true,
37
- "displayOptions": {...}
38
- }
39
- ],
40
- "properties": [
41
- // 200+ property definitions including:
42
- {
43
- "displayName": "Resource",
44
- "name": "resource",
45
- "type": "options",
46
- "options": ["channel", "message", "user", "file", ...],
47
- "default": "message"
48
- },
49
- {
50
- "displayName": "Operation",
51
- "name": "operation",
52
- "type": "options",
53
- "displayOptions": {
54
- "show": {"resource": ["message"]}
55
- },
56
- "options": ["post", "update", "delete", "get", ...],
57
- "default": "post"
58
- },
59
- // ... 200+ more properties with complex conditions
60
- ],
61
- "version": 2.2,
62
- "subtitle": "={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}",
63
- "codex": {...},
64
- "supportedWebhooks": [...]
65
- }`,
66
- examples: [
67
- 'get_node_info({nodeType: "nodes-base.httpRequest"}) - 300+ properties for HTTP requests',
68
- 'get_node_info({nodeType: "nodes-base.googleSheets"}) - Complex operations and auth',
69
- '// When to use get_node_info:',
70
- '// 1. First try essentials',
71
- 'const essentials = get_node_essentials({nodeType: "nodes-base.slack"});',
72
- '// 2. If property missing, search for it',
73
- 'const props = search_node_properties({nodeType: "nodes-base.slack", query: "thread"});',
74
- '// 3. Only if needed, get full schema',
75
- 'const full = get_node_info({nodeType: "nodes-base.slack"});'
76
- ],
77
- useCases: [
78
- 'Analyzing all available operations for a node',
79
- 'Understanding complex property dependencies',
80
- 'Discovering all authentication methods',
81
- 'Building UI that shows all node options',
82
- 'Debugging property visibility conditions'
83
- ],
84
- performance: '100-500ms depending on node complexity. HTTP Request node: ~300KB, Simple nodes: ~50KB',
85
- bestPractices: [
86
- 'Always try get_node_essentials first - it\'s 95% smaller',
87
- 'Use search_node_properties to find specific advanced properties',
88
- 'Cache results locally - schemas rarely change',
89
- 'Parse incrementally - don\'t load entire response into memory at once'
90
- ],
91
- pitfalls: [
92
- 'Response can exceed 500KB for complex nodes',
93
- 'Contains many rarely-used properties that add noise',
94
- 'Property conditions can be deeply nested and complex',
95
- 'Must use full node type with prefix (nodes-base.X not just X)'
96
- ],
97
- relatedTools: ['get_node_essentials for common properties', 'search_node_properties to find specific fields', 'get_property_dependencies to understand conditions']
98
- }
99
- };
100
- //# sourceMappingURL=get-node-info.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-node-info.js","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/configuration/get-node-info.ts"],"names":[],"mappings":";;;AAEa,QAAA,cAAc,GAAsB;IAC/C,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE;QACV,WAAW,EAAE,8PAA8P;QAC3Q,aAAa,EAAE,CAAC,UAAU,CAAC;QAC3B,OAAO,EAAE,+CAA+C;QACxD,WAAW,EAAE,8BAA8B;QAC3C,IAAI,EAAE;YACJ,6CAA6C;YAC7C,sCAAsC;YACtC,mCAAmC;SACpC;KACF;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,+QAA+Q;QAC5R,UAAU,EAAE;YACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,8GAA8G,EAAE;SAC1K;QACD,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0CX;QACE,QAAQ,EAAE;YACR,yFAAyF;YACzF,oFAAoF;YACpF,+BAA+B;YAC/B,4BAA4B;YAC5B,yEAAyE;YACzE,0CAA0C;YAC1C,wFAAwF;YACxF,uCAAuC;YACvC,6DAA6D;SAC9D;QACD,QAAQ,EAAE;YACR,+CAA+C;YAC/C,6CAA6C;YAC7C,wCAAwC;YACxC,yCAAyC;YACzC,0CAA0C;SAC3C;QACD,WAAW,EAAE,wFAAwF;QACrG,aAAa,EAAE;YACb,0DAA0D;YAC1D,iEAAiE;YACjE,+CAA+C;YAC/C,uEAAuE;SACxE;QACD,QAAQ,EAAE;YACR,6CAA6C;YAC7C,qDAAqD;YACrD,sDAAsD;YACtD,+DAA+D;SAChE;QACD,YAAY,EAAE,CAAC,2CAA2C,EAAE,gDAAgD,EAAE,oDAAoD,CAAC;KACpK;CACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import { ToolDocumentation } from '../types';
2
- export declare const getPropertyDependenciesDoc: ToolDocumentation;
3
- //# sourceMappingURL=get-property-dependencies.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-property-dependencies.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/configuration/get-property-dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,0BAA0B,EAAE,iBA4ExC,CAAC"}
@@ -1,81 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPropertyDependenciesDoc = void 0;
4
- exports.getPropertyDependenciesDoc = {
5
- name: 'get_property_dependencies',
6
- category: 'configuration',
7
- essentials: {
8
- description: 'Shows property dependencies and visibility rules - which fields appear when.',
9
- keyParameters: ['nodeType', 'config?'],
10
- example: 'get_property_dependencies({nodeType: "nodes-base.httpRequest"})',
11
- performance: 'Fast - analyzes property conditions',
12
- tips: [
13
- 'Shows which properties depend on other property values',
14
- 'Test visibility impact with optional config parameter',
15
- 'Helps understand complex conditional property displays'
16
- ]
17
- },
18
- full: {
19
- description: `Analyzes property dependencies and visibility conditions for a node. Shows which properties control the visibility of other properties (e.g., sendBody=true reveals body-related fields). Optionally test how a specific configuration affects property visibility.`,
20
- parameters: {
21
- nodeType: {
22
- type: 'string',
23
- required: true,
24
- description: 'The node type to analyze (e.g., "nodes-base.httpRequest")',
25
- examples: [
26
- 'nodes-base.httpRequest',
27
- 'nodes-base.slack',
28
- 'nodes-base.if',
29
- 'nodes-base.switch'
30
- ]
31
- },
32
- config: {
33
- type: 'object',
34
- required: false,
35
- description: 'Optional partial configuration to check visibility impact',
36
- examples: [
37
- '{ method: "POST", sendBody: true }',
38
- '{ operation: "create", resource: "contact" }',
39
- '{ mode: "rules" }'
40
- ]
41
- }
42
- },
43
- returns: `Object containing:
44
- - nodeType: The analyzed node type
45
- - displayName: Human-readable node name
46
- - controllingProperties: Properties that control visibility of others
47
- - dependentProperties: Properties whose visibility depends on others
48
- - complexDependencies: Multi-condition dependencies
49
- - currentConfig: If config provided, shows:
50
- - providedValues: The configuration you passed
51
- - visibilityImpact: Which properties are visible/hidden`,
52
- examples: [
53
- 'get_property_dependencies({nodeType: "nodes-base.httpRequest"}) - Analyze HTTP Request dependencies',
54
- 'get_property_dependencies({nodeType: "nodes-base.httpRequest", config: {sendBody: true}}) - Test visibility with sendBody enabled',
55
- 'get_property_dependencies({nodeType: "nodes-base.if", config: {mode: "rules"}}) - Check If node in rules mode'
56
- ],
57
- useCases: [
58
- 'Understanding which properties control others',
59
- 'Debugging why certain fields are not visible',
60
- 'Building dynamic UIs that match n8n behavior',
61
- 'Testing configurations before applying them',
62
- 'Understanding complex node property relationships'
63
- ],
64
- performance: 'Fast - analyzes property metadata without database queries',
65
- bestPractices: [
66
- 'Use before configuring complex nodes with many conditional fields',
67
- 'Test different config values to understand visibility rules',
68
- 'Check dependencies when properties seem to be missing',
69
- 'Use for nodes with multiple operation modes (Slack, Google Sheets)',
70
- 'Combine with search_node_properties to find specific fields'
71
- ],
72
- pitfalls: [
73
- 'Some properties have complex multi-condition dependencies',
74
- 'Visibility rules can be nested (property A controls B which controls C)',
75
- 'Not all hidden properties are due to dependencies (some are deprecated)',
76
- 'Config parameter only tests visibility, does not validate values'
77
- ],
78
- relatedTools: ['search_node_properties', 'get_node_essentials', 'validate_node_operation']
79
- }
80
- };
81
- //# sourceMappingURL=get-property-dependencies.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-property-dependencies.js","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/configuration/get-property-dependencies.ts"],"names":[],"mappings":";;;AAEa,QAAA,0BAA0B,GAAsB;IAC3D,IAAI,EAAE,2BAA2B;IACjC,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE;QACV,WAAW,EAAE,8EAA8E;QAC3F,aAAa,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;QACtC,OAAO,EAAE,iEAAiE;QAC1E,WAAW,EAAE,qCAAqC;QAClD,IAAI,EAAE;YACJ,wDAAwD;YACxD,uDAAuD;YACvD,wDAAwD;SACzD;KACF;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,qQAAqQ;QAClR,UAAU,EAAE;YACV,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,2DAA2D;gBACxE,QAAQ,EAAE;oBACR,wBAAwB;oBACxB,kBAAkB;oBAClB,eAAe;oBACf,mBAAmB;iBACpB;aACF;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,KAAK;gBACf,WAAW,EAAE,2DAA2D;gBACxE,QAAQ,EAAE;oBACR,oCAAoC;oBACpC,8CAA8C;oBAC9C,mBAAmB;iBACpB;aACF;SACF;QACD,OAAO,EAAE;;;;;;;;0DAQ6C;QACtD,QAAQ,EAAE;YACR,qGAAqG;YACrG,mIAAmI;YACnI,+GAA+G;SAChH;QACD,QAAQ,EAAE;YACR,+CAA+C;YAC/C,8CAA8C;YAC9C,8CAA8C;YAC9C,6CAA6C;YAC7C,mDAAmD;SACpD;QACD,WAAW,EAAE,4DAA4D;QACzE,aAAa,EAAE;YACb,mEAAmE;YACnE,6DAA6D;YAC7D,uDAAuD;YACvD,oEAAoE;YACpE,6DAA6D;SAC9D;QACD,QAAQ,EAAE;YACR,2DAA2D;YAC3D,yEAAyE;YACzE,yEAAyE;YACzE,kEAAkE;SACnE;QACD,YAAY,EAAE,CAAC,wBAAwB,EAAE,qBAAqB,EAAE,yBAAyB,CAAC;KAC3F;CACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import { ToolDocumentation } from '../types';
2
- export declare const searchNodePropertiesDoc: ToolDocumentation;
3
- //# sourceMappingURL=search-node-properties.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-node-properties.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/configuration/search-node-properties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,uBAAuB,EAAE,iBA8FrC,CAAC"}