n8n-mcp 2.7.15 → 2.7.17

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 (227) hide show
  1. package/.env.example +1 -0
  2. package/README.md +48 -2
  3. package/data/nodes.db +0 -0
  4. package/dist/http-server-single-session.d.ts.map +1 -1
  5. package/dist/http-server-single-session.js +18 -0
  6. package/dist/http-server-single-session.js.map +1 -1
  7. package/dist/http-server.d.ts.map +1 -1
  8. package/dist/http-server.js +18 -0
  9. package/dist/http-server.js.map +1 -1
  10. package/dist/mcp/server.d.ts.map +1 -1
  11. package/dist/mcp/server.js +0 -3
  12. package/dist/mcp/server.js.map +1 -1
  13. package/dist/mcp/tool-docs/configuration/get-node-as-tool-info.d.ts +3 -0
  14. package/dist/mcp/tool-docs/configuration/get-node-as-tool-info.d.ts.map +1 -0
  15. package/dist/mcp/tool-docs/configuration/get-node-as-tool-info.js +73 -0
  16. package/dist/mcp/tool-docs/configuration/get-node-as-tool-info.js.map +1 -0
  17. package/dist/mcp/tool-docs/configuration/get-node-documentation.d.ts +3 -0
  18. package/dist/mcp/tool-docs/configuration/get-node-documentation.d.ts.map +1 -0
  19. package/dist/mcp/tool-docs/configuration/get-node-documentation.js +47 -0
  20. package/dist/mcp/tool-docs/configuration/get-node-documentation.js.map +1 -0
  21. package/dist/mcp/tool-docs/configuration/get-node-essentials.d.ts +3 -0
  22. package/dist/mcp/tool-docs/configuration/get-node-essentials.d.ts.map +1 -0
  23. package/dist/mcp/tool-docs/configuration/get-node-essentials.js +88 -0
  24. package/dist/mcp/tool-docs/configuration/get-node-essentials.js.map +1 -0
  25. package/dist/mcp/tool-docs/configuration/get-node-info.d.ts +3 -0
  26. package/dist/mcp/tool-docs/configuration/get-node-info.d.ts.map +1 -0
  27. package/dist/mcp/tool-docs/configuration/get-node-info.js +100 -0
  28. package/dist/mcp/tool-docs/configuration/get-node-info.js.map +1 -0
  29. package/dist/mcp/tool-docs/configuration/get-property-dependencies.d.ts +3 -0
  30. package/dist/mcp/tool-docs/configuration/get-property-dependencies.d.ts.map +1 -0
  31. package/dist/mcp/tool-docs/configuration/get-property-dependencies.js +81 -0
  32. package/dist/mcp/tool-docs/configuration/get-property-dependencies.js.map +1 -0
  33. package/dist/mcp/tool-docs/configuration/index.d.ts +7 -0
  34. package/dist/mcp/tool-docs/configuration/index.d.ts.map +1 -0
  35. package/dist/mcp/tool-docs/configuration/index.js +16 -0
  36. package/dist/mcp/tool-docs/configuration/index.js.map +1 -0
  37. package/dist/mcp/tool-docs/configuration/search-node-properties.d.ts +3 -0
  38. package/dist/mcp/tool-docs/configuration/search-node-properties.d.ts.map +1 -0
  39. package/dist/mcp/tool-docs/configuration/search-node-properties.js +99 -0
  40. package/dist/mcp/tool-docs/configuration/search-node-properties.js.map +1 -0
  41. package/dist/mcp/tool-docs/discovery/get-database-statistics.d.ts +3 -0
  42. package/dist/mcp/tool-docs/discovery/get-database-statistics.d.ts.map +1 -0
  43. package/dist/mcp/tool-docs/discovery/get-database-statistics.js +69 -0
  44. package/dist/mcp/tool-docs/discovery/get-database-statistics.js.map +1 -0
  45. package/dist/mcp/tool-docs/discovery/index.d.ts +5 -0
  46. package/dist/mcp/tool-docs/discovery/index.d.ts.map +1 -0
  47. package/dist/mcp/tool-docs/discovery/index.js +12 -0
  48. package/dist/mcp/tool-docs/discovery/index.js.map +1 -0
  49. package/dist/mcp/tool-docs/discovery/list-ai-tools.d.ts +3 -0
  50. package/dist/mcp/tool-docs/discovery/list-ai-tools.d.ts.map +1 -0
  51. package/dist/mcp/tool-docs/discovery/list-ai-tools.js +49 -0
  52. package/dist/mcp/tool-docs/discovery/list-ai-tools.js.map +1 -0
  53. package/dist/mcp/tool-docs/discovery/list-nodes.d.ts +3 -0
  54. package/dist/mcp/tool-docs/discovery/list-nodes.d.ts.map +1 -0
  55. package/dist/mcp/tool-docs/discovery/list-nodes.js +54 -0
  56. package/dist/mcp/tool-docs/discovery/list-nodes.js.map +1 -0
  57. package/dist/mcp/tool-docs/discovery/search-nodes.d.ts +3 -0
  58. package/dist/mcp/tool-docs/discovery/search-nodes.d.ts.map +1 -0
  59. package/dist/mcp/tool-docs/discovery/search-nodes.js +56 -0
  60. package/dist/mcp/tool-docs/discovery/search-nodes.js.map +1 -0
  61. package/dist/mcp/tool-docs/index.d.ts +4 -0
  62. package/dist/mcp/tool-docs/index.d.ts.map +1 -0
  63. package/dist/mcp/tool-docs/index.js +51 -0
  64. package/dist/mcp/tool-docs/index.js.map +1 -0
  65. package/dist/mcp/tool-docs/special/code-node-guide.d.ts +3 -0
  66. package/dist/mcp/tool-docs/special/code-node-guide.d.ts.map +1 -0
  67. package/dist/mcp/tool-docs/special/code-node-guide.js +61 -0
  68. package/dist/mcp/tool-docs/special/code-node-guide.js.map +1 -0
  69. package/dist/mcp/tool-docs/special/index.d.ts +2 -0
  70. package/dist/mcp/tool-docs/special/index.d.ts.map +1 -0
  71. package/dist/mcp/tool-docs/special/index.js +6 -0
  72. package/dist/mcp/tool-docs/special/index.js.map +1 -0
  73. package/dist/mcp/tool-docs/system/index.d.ts +5 -0
  74. package/dist/mcp/tool-docs/system/index.d.ts.map +1 -0
  75. package/dist/mcp/tool-docs/system/index.js +12 -0
  76. package/dist/mcp/tool-docs/system/index.js.map +1 -0
  77. package/dist/mcp/tool-docs/system/n8n-diagnostic.d.ts +3 -0
  78. package/dist/mcp/tool-docs/system/n8n-diagnostic.d.ts.map +1 -0
  79. package/dist/mcp/tool-docs/system/n8n-diagnostic.js +81 -0
  80. package/dist/mcp/tool-docs/system/n8n-diagnostic.js.map +1 -0
  81. package/dist/mcp/tool-docs/system/n8n-health-check.d.ts +3 -0
  82. package/dist/mcp/tool-docs/system/n8n-health-check.d.ts.map +1 -0
  83. package/dist/mcp/tool-docs/system/n8n-health-check.js +77 -0
  84. package/dist/mcp/tool-docs/system/n8n-health-check.js.map +1 -0
  85. package/dist/mcp/tool-docs/system/n8n-list-available-tools.d.ts +3 -0
  86. package/dist/mcp/tool-docs/system/n8n-list-available-tools.d.ts.map +1 -0
  87. package/dist/mcp/tool-docs/system/n8n-list-available-tools.js +75 -0
  88. package/dist/mcp/tool-docs/system/n8n-list-available-tools.js.map +1 -0
  89. package/dist/mcp/tool-docs/system/tools-documentation.d.ts +3 -0
  90. package/dist/mcp/tool-docs/system/tools-documentation.d.ts.map +1 -0
  91. package/dist/mcp/tool-docs/system/tools-documentation.js +65 -0
  92. package/dist/mcp/tool-docs/system/tools-documentation.js.map +1 -0
  93. package/dist/mcp/tool-docs/templates/get-node-for-task.d.ts +3 -0
  94. package/dist/mcp/tool-docs/templates/get-node-for-task.d.ts.map +1 -0
  95. package/dist/mcp/tool-docs/templates/get-node-for-task.js +50 -0
  96. package/dist/mcp/tool-docs/templates/get-node-for-task.js.map +1 -0
  97. package/dist/mcp/tool-docs/templates/get-template.d.ts +3 -0
  98. package/dist/mcp/tool-docs/templates/get-template.d.ts.map +1 -0
  99. package/dist/mcp/tool-docs/templates/get-template.js +76 -0
  100. package/dist/mcp/tool-docs/templates/get-template.js.map +1 -0
  101. package/dist/mcp/tool-docs/templates/get-templates-for-task.d.ts +3 -0
  102. package/dist/mcp/tool-docs/templates/get-templates-for-task.d.ts.map +1 -0
  103. package/dist/mcp/tool-docs/templates/get-templates-for-task.js +76 -0
  104. package/dist/mcp/tool-docs/templates/get-templates-for-task.js.map +1 -0
  105. package/dist/mcp/tool-docs/templates/index.d.ts +7 -0
  106. package/dist/mcp/tool-docs/templates/index.d.ts.map +1 -0
  107. package/dist/mcp/tool-docs/templates/index.js +16 -0
  108. package/dist/mcp/tool-docs/templates/index.js.map +1 -0
  109. package/dist/mcp/tool-docs/templates/list-node-templates.d.ts +3 -0
  110. package/dist/mcp/tool-docs/templates/list-node-templates.d.ts.map +1 -0
  111. package/dist/mcp/tool-docs/templates/list-node-templates.js +80 -0
  112. package/dist/mcp/tool-docs/templates/list-node-templates.js.map +1 -0
  113. package/dist/mcp/tool-docs/templates/list-tasks.d.ts +3 -0
  114. package/dist/mcp/tool-docs/templates/list-tasks.d.ts.map +1 -0
  115. package/dist/mcp/tool-docs/templates/list-tasks.js +48 -0
  116. package/dist/mcp/tool-docs/templates/list-tasks.js.map +1 -0
  117. package/dist/mcp/tool-docs/templates/search-templates.d.ts +3 -0
  118. package/dist/mcp/tool-docs/templates/search-templates.d.ts.map +1 -0
  119. package/dist/mcp/tool-docs/templates/search-templates.js +83 -0
  120. package/dist/mcp/tool-docs/templates/search-templates.js.map +1 -0
  121. package/dist/mcp/tool-docs/types.d.ts +30 -0
  122. package/dist/mcp/tool-docs/types.d.ts.map +1 -0
  123. package/dist/mcp/tool-docs/types.js +3 -0
  124. package/dist/mcp/tool-docs/types.js.map +1 -0
  125. package/dist/mcp/tool-docs/validation/index.d.ts +6 -0
  126. package/dist/mcp/tool-docs/validation/index.d.ts.map +1 -0
  127. package/dist/mcp/tool-docs/validation/index.js +14 -0
  128. package/dist/mcp/tool-docs/validation/index.js.map +1 -0
  129. package/dist/mcp/tool-docs/validation/validate-node-minimal.d.ts +3 -0
  130. package/dist/mcp/tool-docs/validation/validate-node-minimal.d.ts.map +1 -0
  131. package/dist/mcp/tool-docs/validation/validate-node-minimal.js +49 -0
  132. package/dist/mcp/tool-docs/validation/validate-node-minimal.js.map +1 -0
  133. package/dist/mcp/tool-docs/validation/validate-node-operation.d.ts +3 -0
  134. package/dist/mcp/tool-docs/validation/validate-node-operation.d.ts.map +1 -0
  135. package/dist/mcp/tool-docs/validation/validate-node-operation.js +94 -0
  136. package/dist/mcp/tool-docs/validation/validate-node-operation.js.map +1 -0
  137. package/dist/mcp/tool-docs/validation/validate-workflow-connections.d.ts +3 -0
  138. package/dist/mcp/tool-docs/validation/validate-workflow-connections.d.ts.map +1 -0
  139. package/dist/mcp/tool-docs/validation/validate-workflow-connections.js +58 -0
  140. package/dist/mcp/tool-docs/validation/validate-workflow-connections.js.map +1 -0
  141. package/dist/mcp/tool-docs/validation/validate-workflow-expressions.d.ts +3 -0
  142. package/dist/mcp/tool-docs/validation/validate-workflow-expressions.d.ts.map +1 -0
  143. package/dist/mcp/tool-docs/validation/validate-workflow-expressions.js +58 -0
  144. package/dist/mcp/tool-docs/validation/validate-workflow-expressions.js.map +1 -0
  145. package/dist/mcp/tool-docs/validation/validate-workflow.d.ts +3 -0
  146. package/dist/mcp/tool-docs/validation/validate-workflow.d.ts.map +1 -0
  147. package/dist/mcp/tool-docs/validation/validate-workflow.js +83 -0
  148. package/dist/mcp/tool-docs/validation/validate-workflow.js.map +1 -0
  149. package/dist/mcp/tool-docs/workflow_management/index.d.ts +15 -0
  150. package/dist/mcp/tool-docs/workflow_management/index.d.ts.map +1 -0
  151. package/dist/mcp/tool-docs/workflow_management/index.js +32 -0
  152. package/dist/mcp/tool-docs/workflow_management/index.js.map +1 -0
  153. package/dist/mcp/tool-docs/workflow_management/n8n-create-workflow.d.ts +3 -0
  154. package/dist/mcp/tool-docs/workflow_management/n8n-create-workflow.d.ts.map +1 -0
  155. package/dist/mcp/tool-docs/workflow_management/n8n-create-workflow.js +99 -0
  156. package/dist/mcp/tool-docs/workflow_management/n8n-create-workflow.js.map +1 -0
  157. package/dist/mcp/tool-docs/workflow_management/n8n-delete-execution.d.ts +3 -0
  158. package/dist/mcp/tool-docs/workflow_management/n8n-delete-execution.d.ts.map +1 -0
  159. package/dist/mcp/tool-docs/workflow_management/n8n-delete-execution.js +59 -0
  160. package/dist/mcp/tool-docs/workflow_management/n8n-delete-execution.js.map +1 -0
  161. package/dist/mcp/tool-docs/workflow_management/n8n-delete-workflow.d.ts +3 -0
  162. package/dist/mcp/tool-docs/workflow_management/n8n-delete-workflow.d.ts.map +1 -0
  163. package/dist/mcp/tool-docs/workflow_management/n8n-delete-workflow.js +52 -0
  164. package/dist/mcp/tool-docs/workflow_management/n8n-delete-workflow.js.map +1 -0
  165. package/dist/mcp/tool-docs/workflow_management/n8n-get-execution.d.ts +3 -0
  166. package/dist/mcp/tool-docs/workflow_management/n8n-get-execution.d.ts.map +1 -0
  167. package/dist/mcp/tool-docs/workflow_management/n8n-get-execution.js +64 -0
  168. package/dist/mcp/tool-docs/workflow_management/n8n-get-execution.js.map +1 -0
  169. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-details.d.ts +3 -0
  170. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-details.d.ts.map +1 -0
  171. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-details.js +51 -0
  172. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-details.js.map +1 -0
  173. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-minimal.d.ts +3 -0
  174. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-minimal.d.ts.map +1 -0
  175. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-minimal.js +51 -0
  176. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-minimal.js.map +1 -0
  177. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-structure.d.ts +3 -0
  178. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-structure.d.ts.map +1 -0
  179. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-structure.js +51 -0
  180. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-structure.js.map +1 -0
  181. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow.d.ts +3 -0
  182. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow.d.ts.map +1 -0
  183. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow.js +51 -0
  184. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow.js.map +1 -0
  185. package/dist/mcp/tool-docs/workflow_management/n8n-list-executions.d.ts +3 -0
  186. package/dist/mcp/tool-docs/workflow_management/n8n-list-executions.d.ts.map +1 -0
  187. package/dist/mcp/tool-docs/workflow_management/n8n-list-executions.js +86 -0
  188. package/dist/mcp/tool-docs/workflow_management/n8n-list-executions.js.map +1 -0
  189. package/dist/mcp/tool-docs/workflow_management/n8n-list-workflows.d.ts +3 -0
  190. package/dist/mcp/tool-docs/workflow_management/n8n-list-workflows.d.ts.map +1 -0
  191. package/dist/mcp/tool-docs/workflow_management/n8n-list-workflows.js +57 -0
  192. package/dist/mcp/tool-docs/workflow_management/n8n-list-workflows.js.map +1 -0
  193. package/dist/mcp/tool-docs/workflow_management/n8n-trigger-webhook-workflow.d.ts +3 -0
  194. package/dist/mcp/tool-docs/workflow_management/n8n-trigger-webhook-workflow.d.ts.map +1 -0
  195. package/dist/mcp/tool-docs/workflow_management/n8n-trigger-webhook-workflow.js +80 -0
  196. package/dist/mcp/tool-docs/workflow_management/n8n-trigger-webhook-workflow.js.map +1 -0
  197. package/dist/mcp/tool-docs/workflow_management/n8n-update-full-workflow.d.ts +3 -0
  198. package/dist/mcp/tool-docs/workflow_management/n8n-update-full-workflow.d.ts.map +1 -0
  199. package/dist/mcp/tool-docs/workflow_management/n8n-update-full-workflow.js +57 -0
  200. package/dist/mcp/tool-docs/workflow_management/n8n-update-full-workflow.js.map +1 -0
  201. package/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.d.ts +3 -0
  202. package/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.d.ts.map +1 -0
  203. package/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.js +82 -0
  204. package/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.js.map +1 -0
  205. package/dist/mcp/tool-docs/workflow_management/n8n-validate-workflow.d.ts +3 -0
  206. package/dist/mcp/tool-docs/workflow_management/n8n-validate-workflow.d.ts.map +1 -0
  207. package/dist/mcp/tool-docs/workflow_management/n8n-validate-workflow.js +73 -0
  208. package/dist/mcp/tool-docs/workflow_management/n8n-validate-workflow.js.map +1 -0
  209. package/dist/mcp/tools-documentation-new.d.ts +6 -0
  210. package/dist/mcp/tools-documentation-new.d.ts.map +1 -0
  211. package/dist/mcp/tools-documentation-new.js +163 -0
  212. package/dist/mcp/tools-documentation-new.js.map +1 -0
  213. package/dist/mcp/tools-documentation.d.ts +1 -29
  214. package/dist/mcp/tools-documentation.d.ts.map +1 -1
  215. package/dist/mcp/tools-documentation.js +506 -1235
  216. package/dist/mcp/tools-documentation.js.map +1 -1
  217. package/dist/scripts/rebuild.js +2 -1
  218. package/dist/scripts/rebuild.js.map +1 -1
  219. package/dist/scripts/test-tools-documentation.d.ts +2 -0
  220. package/dist/scripts/test-tools-documentation.d.ts.map +1 -0
  221. package/dist/scripts/test-tools-documentation.js +41 -0
  222. package/dist/scripts/test-tools-documentation.js.map +1 -0
  223. package/dist/services/enhanced-config-validator.d.ts +0 -1
  224. package/dist/services/enhanced-config-validator.d.ts.map +1 -1
  225. package/dist/services/enhanced-config-validator.js +2 -91
  226. package/dist/services/enhanced-config-validator.js.map +1 -1
  227. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-tasks.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/templates/list-tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,YAAY,EAAE,iBA2C1B,CAAC"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listTasksDoc = void 0;
4
+ exports.listTasksDoc = {
5
+ name: 'list_tasks',
6
+ category: 'templates',
7
+ essentials: {
8
+ description: 'List task templates by category: HTTP/API, Webhooks, Database, AI, Data Processing, Communication.',
9
+ keyParameters: ['category'],
10
+ example: 'list_tasks({category: "HTTP/API"})',
11
+ performance: 'Instant',
12
+ tips: [
13
+ 'Categories: HTTP/API, Webhooks, Database, AI',
14
+ 'Shows pre-configured node settings',
15
+ 'Use get_node_for_task for details'
16
+ ]
17
+ },
18
+ full: {
19
+ description: 'Lists available task templates organized by category. Each task represents a common automation pattern with pre-configured node settings. Categories include HTTP/API, Webhooks, Database, AI, Data Processing, and Communication.',
20
+ parameters: {
21
+ category: { type: 'string', description: 'Filter by category (optional)' }
22
+ },
23
+ returns: 'Array of tasks with name, category, description, nodeType',
24
+ examples: [
25
+ 'list_tasks() - Get all task templates',
26
+ 'list_tasks({category: "Database"}) - Database-related tasks',
27
+ 'list_tasks({category: "AI"}) - AI automation tasks'
28
+ ],
29
+ useCases: [
30
+ 'Discover common automation patterns',
31
+ 'Find pre-configured solutions',
32
+ 'Learn node usage patterns',
33
+ 'Quick workflow setup'
34
+ ],
35
+ performance: 'Instant - Static task list',
36
+ bestPractices: [
37
+ 'Browse all categories first',
38
+ 'Use get_node_for_task for config',
39
+ 'Combine multiple tasks in workflows'
40
+ ],
41
+ pitfalls: [
42
+ 'Tasks are templates, customize as needed',
43
+ 'Not all nodes have task templates'
44
+ ],
45
+ relatedTools: ['get_node_for_task', 'search_templates', 'get_templates_for_task']
46
+ }
47
+ };
48
+ //# sourceMappingURL=list-tasks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-tasks.js","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/templates/list-tasks.ts"],"names":[],"mappings":";;;AAEa,QAAA,YAAY,GAAsB;IAC7C,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE;QACV,WAAW,EAAE,oGAAoG;QACjH,aAAa,EAAE,CAAC,UAAU,CAAC;QAC3B,OAAO,EAAE,oCAAoC;QAC7C,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE;YACJ,8CAA8C;YAC9C,oCAAoC;YACpC,mCAAmC;SACpC;KACF;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,oOAAoO;QACjP,UAAU,EAAE;YACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;SAC3E;QACD,OAAO,EAAE,2DAA2D;QACpE,QAAQ,EAAE;YACR,uCAAuC;YACvC,6DAA6D;YAC7D,oDAAoD;SACrD;QACD,QAAQ,EAAE;YACR,qCAAqC;YACrC,+BAA+B;YAC/B,2BAA2B;YAC3B,sBAAsB;SACvB;QACD,WAAW,EAAE,4BAA4B;QACzC,aAAa,EAAE;YACb,6BAA6B;YAC7B,kCAAkC;YAClC,qCAAqC;SACtC;QACD,QAAQ,EAAE;YACR,0CAA0C;YAC1C,mCAAmC;SACpC;QACD,YAAY,EAAE,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,wBAAwB,CAAC;KAClF;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ToolDocumentation } from '../types';
2
+ export declare const searchTemplatesDoc: ToolDocumentation;
3
+ //# sourceMappingURL=search-templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-templates.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/templates/search-templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,kBAAkB,EAAE,iBA8EhC,CAAC"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.searchTemplatesDoc = void 0;
4
+ exports.searchTemplatesDoc = {
5
+ name: 'search_templates',
6
+ category: 'templates',
7
+ essentials: {
8
+ description: 'Search templates by name/description keywords. NOT for node types! For nodes use list_node_templates. Example: "chatbot".',
9
+ keyParameters: ['query', 'limit'],
10
+ example: 'search_templates({query: "chatbot"})',
11
+ performance: 'Fast (<100ms) - FTS5 full-text search',
12
+ tips: [
13
+ 'Searches template names and descriptions, NOT node types',
14
+ 'Use keywords like "automation", "sync", "notification"',
15
+ 'For node-specific search, use list_node_templates instead'
16
+ ]
17
+ },
18
+ full: {
19
+ description: `Performs full-text search across workflow template names and descriptions. This tool is ideal for finding workflows based on their purpose or functionality rather than specific nodes used. It searches through the community library of 399+ templates using SQLite FTS5 for fast, fuzzy matching.`,
20
+ parameters: {
21
+ query: {
22
+ type: 'string',
23
+ required: true,
24
+ description: 'Search query for template names/descriptions. NOT for node types! Examples: "chatbot", "automation", "social media", "webhook". For node-based search use list_node_templates instead.'
25
+ },
26
+ limit: {
27
+ type: 'number',
28
+ required: false,
29
+ description: 'Maximum number of results. Default 20, max 100'
30
+ }
31
+ },
32
+ returns: `Returns an object containing:
33
+ - templates: Array of matching templates sorted by relevance
34
+ - id: Template ID for retrieval
35
+ - name: Template name (with match highlights)
36
+ - description: What the workflow does
37
+ - author: Creator information
38
+ - nodes: Array of all nodes used
39
+ - views: Popularity metric
40
+ - created: Creation date
41
+ - url: Link to template
42
+ - relevanceScore: Search match score
43
+ - totalFound: Total matching templates
44
+ - searchQuery: The processed search query
45
+ - tip: Helpful hints if no results`,
46
+ examples: [
47
+ 'search_templates({query: "chatbot"}) - Find chatbot and conversational AI workflows',
48
+ 'search_templates({query: "email notification"}) - Find email alert workflows',
49
+ 'search_templates({query: "data sync"}) - Find data synchronization workflows',
50
+ 'search_templates({query: "webhook automation", limit: 30}) - Find webhook-based automations',
51
+ 'search_templates({query: "social media scheduler"}) - Find social posting workflows'
52
+ ],
53
+ useCases: [
54
+ 'Find workflows by business purpose',
55
+ 'Discover automations for specific use cases',
56
+ 'Search by workflow functionality',
57
+ 'Find templates by problem they solve',
58
+ 'Explore workflows by industry or domain'
59
+ ],
60
+ performance: `Excellent performance with FTS5 indexing:
61
+ - Full-text search: <50ms for most queries
62
+ - Fuzzy matching enabled for typos
63
+ - Relevance-based sorting included
64
+ - Searches both title and description
65
+ - Returns highlighted matches`,
66
+ bestPractices: [
67
+ 'Use descriptive keywords about the workflow purpose',
68
+ 'Try multiple related terms if first search has few results',
69
+ 'Combine terms for more specific results',
70
+ 'Check both name and description in results',
71
+ 'Use quotes for exact phrase matching'
72
+ ],
73
+ pitfalls: [
74
+ 'Does NOT search by node types - use list_node_templates',
75
+ 'Search is case-insensitive but not semantic',
76
+ 'Very specific terms may return no results',
77
+ 'Descriptions may be brief - check full template',
78
+ 'Relevance scoring may not match your expectations'
79
+ ],
80
+ relatedTools: ['list_node_templates', 'get_templates_for_task', 'get_template', 'search_nodes']
81
+ }
82
+ };
83
+ //# sourceMappingURL=search-templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-templates.js","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/templates/search-templates.ts"],"names":[],"mappings":";;;AAEa,QAAA,kBAAkB,GAAsB;IACnD,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE;QACV,WAAW,EAAE,2HAA2H;QACxI,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QACjC,OAAO,EAAE,sCAAsC;QAC/C,WAAW,EAAE,uCAAuC;QACpD,IAAI,EAAE;YACJ,0DAA0D;YAC1D,wDAAwD;YACxD,2DAA2D;SAC5D;KACF;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,sSAAsS;QACnT,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,wLAAwL;aACtM;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,KAAK;gBACf,WAAW,EAAE,gDAAgD;aAC9D;SACF;QACD,OAAO,EAAE;;;;;;;;;;;;;mCAasB;QAC/B,QAAQ,EAAE;YACR,qFAAqF;YACrF,8EAA8E;YAC9E,8EAA8E;YAC9E,6FAA6F;YAC7F,qFAAqF;SACtF;QACD,QAAQ,EAAE;YACR,oCAAoC;YACpC,6CAA6C;YAC7C,kCAAkC;YAClC,sCAAsC;YACtC,yCAAyC;SAC1C;QACD,WAAW,EAAE;;;;;8BAKa;QAC1B,aAAa,EAAE;YACb,qDAAqD;YACrD,4DAA4D;YAC5D,yCAAyC;YACzC,4CAA4C;YAC5C,sCAAsC;SACvC;QACD,QAAQ,EAAE;YACR,yDAAyD;YACzD,6CAA6C;YAC7C,2CAA2C;YAC3C,iDAAiD;YACjD,mDAAmD;SACpD;QACD,YAAY,EAAE,CAAC,qBAAqB,EAAE,wBAAwB,EAAE,cAAc,EAAE,cAAc,CAAC;KAChG;CACF,CAAC"}
@@ -0,0 +1,30 @@
1
+ export interface ToolDocumentation {
2
+ name: string;
3
+ category: string;
4
+ essentials: {
5
+ description: string;
6
+ keyParameters: string[];
7
+ example: string;
8
+ performance: string;
9
+ tips: string[];
10
+ };
11
+ full: {
12
+ description: string;
13
+ parameters: Record<string, {
14
+ type: string;
15
+ description: string;
16
+ required?: boolean;
17
+ default?: any;
18
+ examples?: string[];
19
+ enum?: string[];
20
+ }>;
21
+ returns: string;
22
+ examples: string[];
23
+ useCases: string[];
24
+ performance: string;
25
+ bestPractices: string[];
26
+ pitfalls: string[];
27
+ relatedTools: string[];
28
+ };
29
+ }
30
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/mcp/tool-docs/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE;QACV,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,EAAE,CAAC;KAChB,CAAC;IACF,IAAI,EAAE;QACJ,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;YACzB,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,EAAE,MAAM,CAAC;YACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,OAAO,CAAC,EAAE,GAAG,CAAC;YACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;YACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;SACjB,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC;CACH"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/mcp/tool-docs/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export { validateNodeMinimalDoc } from './validate-node-minimal';
2
+ export { validateNodeOperationDoc } from './validate-node-operation';
3
+ export { validateWorkflowDoc } from './validate-workflow';
4
+ export { validateWorkflowConnectionsDoc } from './validate-workflow-connections';
5
+ export { validateWorkflowExpressionsDoc } from './validate-workflow-expressions';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/validation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateWorkflowExpressionsDoc = exports.validateWorkflowConnectionsDoc = exports.validateWorkflowDoc = exports.validateNodeOperationDoc = exports.validateNodeMinimalDoc = void 0;
4
+ var validate_node_minimal_1 = require("./validate-node-minimal");
5
+ Object.defineProperty(exports, "validateNodeMinimalDoc", { enumerable: true, get: function () { return validate_node_minimal_1.validateNodeMinimalDoc; } });
6
+ var validate_node_operation_1 = require("./validate-node-operation");
7
+ Object.defineProperty(exports, "validateNodeOperationDoc", { enumerable: true, get: function () { return validate_node_operation_1.validateNodeOperationDoc; } });
8
+ var validate_workflow_1 = require("./validate-workflow");
9
+ Object.defineProperty(exports, "validateWorkflowDoc", { enumerable: true, get: function () { return validate_workflow_1.validateWorkflowDoc; } });
10
+ var validate_workflow_connections_1 = require("./validate-workflow-connections");
11
+ Object.defineProperty(exports, "validateWorkflowConnectionsDoc", { enumerable: true, get: function () { return validate_workflow_connections_1.validateWorkflowConnectionsDoc; } });
12
+ var validate_workflow_expressions_1 = require("./validate-workflow-expressions");
13
+ Object.defineProperty(exports, "validateWorkflowExpressionsDoc", { enumerable: true, get: function () { return validate_workflow_expressions_1.validateWorkflowExpressionsDoc; } });
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/validation/index.ts"],"names":[],"mappings":";;;AAAA,iEAAiE;AAAxD,+HAAA,sBAAsB,OAAA;AAC/B,qEAAqE;AAA5D,mIAAA,wBAAwB,OAAA;AACjC,yDAA0D;AAAjD,wHAAA,mBAAmB,OAAA;AAC5B,iFAAiF;AAAxE,+IAAA,8BAA8B,OAAA;AACvC,iFAAiF;AAAxE,+IAAA,8BAA8B,OAAA"}
@@ -0,0 +1,3 @@
1
+ import { ToolDocumentation } from '../types';
2
+ export declare const validateNodeMinimalDoc: ToolDocumentation;
3
+ //# sourceMappingURL=validate-node-minimal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-node-minimal.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/validation/validate-node-minimal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,sBAAsB,EAAE,iBA4CpC,CAAC"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateNodeMinimalDoc = void 0;
4
+ exports.validateNodeMinimalDoc = {
5
+ name: 'validate_node_minimal',
6
+ category: 'validation',
7
+ essentials: {
8
+ description: 'Fast check for missing required fields only. No warnings/suggestions. Returns: list of missing fields.',
9
+ keyParameters: ['nodeType', 'config'],
10
+ example: 'validate_node_minimal("nodes-base.slack", {resource: "message"})',
11
+ performance: 'Instant',
12
+ tips: [
13
+ 'Returns only missing required fields',
14
+ 'No warnings or suggestions',
15
+ 'Perfect for real-time validation'
16
+ ]
17
+ },
18
+ full: {
19
+ description: 'Minimal validation that only checks for missing required fields. Returns array of missing field names without any warnings or suggestions. Ideal for quick validation during node configuration.',
20
+ parameters: {
21
+ nodeType: { type: 'string', required: true, description: 'Node type with prefix (e.g., "nodes-base.slack")' },
22
+ config: { type: 'object', required: true, description: 'Node configuration to validate' }
23
+ },
24
+ returns: 'Array of missing required field names (empty if valid)',
25
+ examples: [
26
+ 'validate_node_minimal("nodes-base.slack", {resource: "message", operation: "post"}) - Check Slack config',
27
+ 'validate_node_minimal("nodes-base.httpRequest", {method: "GET"}) - Check HTTP config'
28
+ ],
29
+ useCases: [
30
+ 'Real-time form validation',
31
+ 'Quick configuration checks',
32
+ 'Pre-deployment validation',
33
+ 'Interactive configuration builders'
34
+ ],
35
+ performance: 'Instant - Simple field checking without complex validation',
36
+ bestPractices: [
37
+ 'Use for quick feedback loops',
38
+ 'Follow with validate_node_operation for thorough check',
39
+ 'Check return array length for validity'
40
+ ],
41
+ pitfalls: [
42
+ 'Only checks required fields',
43
+ 'No type validation',
44
+ 'No operation-specific validation'
45
+ ],
46
+ relatedTools: ['validate_node_operation', 'get_node_essentials', 'get_property_dependencies']
47
+ }
48
+ };
49
+ //# sourceMappingURL=validate-node-minimal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-node-minimal.js","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/validation/validate-node-minimal.ts"],"names":[],"mappings":";;;AAEa,QAAA,sBAAsB,GAAsB;IACvD,IAAI,EAAE,uBAAuB;IAC7B,QAAQ,EAAE,YAAY;IACtB,UAAU,EAAE;QACV,WAAW,EAAE,wGAAwG;QACrH,aAAa,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;QACrC,OAAO,EAAE,kEAAkE;QAC3E,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE;YACJ,sCAAsC;YACtC,4BAA4B;YAC5B,kCAAkC;SACnC;KACF;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,kMAAkM;QAC/M,UAAU,EAAE;YACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,kDAAkD,EAAE;YAC7G,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,gCAAgC,EAAE;SAC1F;QACD,OAAO,EAAE,wDAAwD;QACjE,QAAQ,EAAE;YACR,0GAA0G;YAC1G,sFAAsF;SACvF;QACD,QAAQ,EAAE;YACR,2BAA2B;YAC3B,4BAA4B;YAC5B,2BAA2B;YAC3B,oCAAoC;SACrC;QACD,WAAW,EAAE,4DAA4D;QACzE,aAAa,EAAE;YACb,8BAA8B;YAC9B,wDAAwD;YACxD,wCAAwC;SACzC;QACD,QAAQ,EAAE;YACR,6BAA6B;YAC7B,oBAAoB;YACpB,kCAAkC;SACnC;QACD,YAAY,EAAE,CAAC,yBAAyB,EAAE,qBAAqB,EAAE,2BAA2B,CAAC;KAC9F;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ToolDocumentation } from '../types';
2
+ export declare const validateNodeOperationDoc: ToolDocumentation;
3
+ //# sourceMappingURL=validate-node-operation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-node-operation.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/validation/validate-node-operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,wBAAwB,EAAE,iBAyFtC,CAAC"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateNodeOperationDoc = void 0;
4
+ exports.validateNodeOperationDoc = {
5
+ name: 'validate_node_operation',
6
+ category: 'validation',
7
+ essentials: {
8
+ description: 'Validates node configuration with operation awareness. Checks required fields, data types, and operation-specific rules. Returns specific errors with automated fix suggestions. Different profiles for different validation needs.',
9
+ keyParameters: ['nodeType', 'config', 'profile'],
10
+ example: 'validate_node_operation({nodeType: "nodes-base.slack", config: {resource: "message", operation: "post", text: "Hi"}})',
11
+ performance: '<100ms',
12
+ tips: [
13
+ 'Profile choices: minimal (editing), runtime (execution), ai-friendly (balanced), strict (deployment)',
14
+ 'Returns fixes you can apply directly',
15
+ 'Operation-aware - knows Slack post needs text'
16
+ ]
17
+ },
18
+ full: {
19
+ description: 'Comprehensive node configuration validation that understands operation context. For example, it knows Slack message posting requires text field, while channel listing doesn\'t. Provides different validation profiles for different stages of workflow development.',
20
+ parameters: {
21
+ nodeType: { type: 'string', required: true, description: 'Full node type with prefix: "nodes-base.slack", "nodes-base.httpRequest"' },
22
+ config: { type: 'object', required: true, description: 'Node configuration. Must include operation fields (resource/operation/action) if the node has multiple operations' },
23
+ profile: { type: 'string', required: false, description: 'Validation profile - controls what\'s checked. Default: "ai-friendly"' }
24
+ },
25
+ returns: `Object containing:
26
+ {
27
+ "isValid": false,
28
+ "errors": [
29
+ {
30
+ "field": "channel",
31
+ "message": "Required field 'channel' is missing",
32
+ "severity": "error",
33
+ "fix": "#general"
34
+ }
35
+ ],
36
+ "warnings": [
37
+ {
38
+ "field": "retryOnFail",
39
+ "message": "Consider enabling retry for reliability",
40
+ "severity": "warning",
41
+ "fix": true
42
+ }
43
+ ],
44
+ "suggestions": [
45
+ {
46
+ "field": "timeout",
47
+ "message": "Set timeout to prevent hanging",
48
+ "fix": 30000
49
+ }
50
+ ],
51
+ "fixes": {
52
+ "channel": "#general",
53
+ "retryOnFail": true,
54
+ "timeout": 30000
55
+ }
56
+ }`,
57
+ examples: [
58
+ '// Missing required field',
59
+ 'validate_node_operation({nodeType: "nodes-base.slack", config: {resource: "message", operation: "post"}})',
60
+ '// Returns: {isValid: false, errors: [{field: "text", message: "Required field missing"}], fixes: {text: "Message text"}}',
61
+ '',
62
+ '// Validate with strict profile for production',
63
+ 'validate_node_operation({nodeType: "nodes-base.httpRequest", config: {method: "POST", url: "https://api.example.com"}, profile: "strict"})',
64
+ '',
65
+ '// Apply fixes automatically',
66
+ 'const result = validate_node_operation({nodeType: "nodes-base.slack", config: myConfig});',
67
+ 'if (!result.isValid) {',
68
+ ' myConfig = {...myConfig, ...result.fixes};',
69
+ '}'
70
+ ],
71
+ useCases: [
72
+ 'Validate configuration before workflow execution',
73
+ 'Debug why a node isn\'t working as expected',
74
+ 'Generate configuration fixes automatically',
75
+ 'Different validation for editing vs production'
76
+ ],
77
+ performance: '<100ms for most nodes, <200ms for complex nodes with many conditions',
78
+ bestPractices: [
79
+ 'Use "minimal" profile during user editing for fast feedback',
80
+ 'Use "runtime" profile (default) before execution',
81
+ 'Use "ai-friendly" when AI configures nodes',
82
+ 'Use "strict" profile before production deployment',
83
+ 'Always include operation fields (resource/operation) in config',
84
+ 'Apply suggested fixes to resolve issues quickly'
85
+ ],
86
+ pitfalls: [
87
+ 'Must include operation fields for multi-operation nodes',
88
+ 'Fixes are suggestions - review before applying',
89
+ 'Profile affects what\'s validated - minimal skips many checks'
90
+ ],
91
+ relatedTools: ['validate_node_minimal for quick checks', 'get_node_essentials for valid examples', 'validate_workflow for complete workflow validation']
92
+ }
93
+ };
94
+ //# sourceMappingURL=validate-node-operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-node-operation.js","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/validation/validate-node-operation.ts"],"names":[],"mappings":";;;AAEa,QAAA,wBAAwB,GAAsB;IACzD,IAAI,EAAE,yBAAyB;IAC/B,QAAQ,EAAE,YAAY;IACtB,UAAU,EAAE;QACV,WAAW,EAAE,qOAAqO;QAClP,aAAa,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC;QAChD,OAAO,EAAE,uHAAuH;QAChI,WAAW,EAAE,QAAQ;QACrB,IAAI,EAAE;YACJ,sGAAsG;YACtG,sCAAsC;YACtC,+CAA+C;SAChD;KACF;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,uQAAuQ;QACpR,UAAU,EAAE;YACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,0EAA0E,EAAE;YACrI,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,mHAAmH,EAAE;YAC5K,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,uEAAuE,EAAE;SACnI;QACD,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BX;QACE,QAAQ,EAAE;YACR,2BAA2B;YAC3B,2GAA2G;YAC3G,2HAA2H;YAC3H,EAAE;YACF,gDAAgD;YAChD,4IAA4I;YAC5I,EAAE;YACF,8BAA8B;YAC9B,2FAA2F;YAC3F,wBAAwB;YACxB,8CAA8C;YAC9C,GAAG;SACJ;QACD,QAAQ,EAAE;YACR,kDAAkD;YAClD,6CAA6C;YAC7C,4CAA4C;YAC5C,gDAAgD;SACjD;QACD,WAAW,EAAE,sEAAsE;QACnF,aAAa,EAAE;YACb,6DAA6D;YAC7D,kDAAkD;YAClD,4CAA4C;YAC5C,mDAAmD;YACnD,gEAAgE;YAChE,iDAAiD;SAClD;QACD,QAAQ,EAAE;YACR,yDAAyD;YACzD,gDAAgD;YAChD,+DAA+D;SAChE;QACD,YAAY,EAAE,CAAC,wCAAwC,EAAE,wCAAwC,EAAE,oDAAoD,CAAC;KACzJ;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ToolDocumentation } from '../types';
2
+ export declare const validateWorkflowConnectionsDoc: ToolDocumentation;
3
+ //# sourceMappingURL=validate-workflow-connections.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-workflow-connections.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/validation/validate-workflow-connections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,8BAA8B,EAAE,iBAqD5C,CAAC"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateWorkflowConnectionsDoc = void 0;
4
+ exports.validateWorkflowConnectionsDoc = {
5
+ name: 'validate_workflow_connections',
6
+ category: 'validation',
7
+ essentials: {
8
+ description: 'Check workflow connections only: valid nodes, no cycles, proper triggers, AI tool links. Fast structure validation.',
9
+ keyParameters: ['workflow'],
10
+ example: 'validate_workflow_connections({workflow: {nodes: [...], connections: {...}}})',
11
+ performance: 'Fast (<100ms)',
12
+ tips: [
13
+ 'Use for quick structure checks when editing connections',
14
+ 'Detects orphaned nodes and circular dependencies',
15
+ 'Validates AI Agent tool connections to ensure proper node references'
16
+ ]
17
+ },
18
+ full: {
19
+ description: 'Validates only the connection structure of a workflow without checking node configurations or expressions. This focused validation checks that all referenced nodes exist, detects circular dependencies, ensures proper trigger node placement, validates AI tool connections, and identifies orphaned or unreachable nodes.',
20
+ parameters: {
21
+ workflow: {
22
+ type: 'object',
23
+ required: true,
24
+ description: 'The workflow JSON with nodes array and connections object.'
25
+ }
26
+ },
27
+ returns: 'Object with valid (boolean), errors (array), warnings (array), and statistics about connections',
28
+ examples: [
29
+ 'validate_workflow_connections({workflow: myWorkflow}) - Check all connections',
30
+ 'validate_workflow_connections({workflow: {nodes: [...], connections: {...}}}) - Validate structure only'
31
+ ],
32
+ useCases: [
33
+ 'Quick validation when modifying workflow connections',
34
+ 'Ensure all node references in connections are valid',
35
+ 'Detect circular dependencies that would cause infinite loops',
36
+ 'Validate AI Agent nodes have proper tool connections',
37
+ 'Check workflow has at least one trigger node',
38
+ 'Find orphaned nodes not connected to any flow'
39
+ ],
40
+ performance: 'Fast (<100ms). Only validates structure, not node content. Scales linearly with connection count.',
41
+ bestPractices: [
42
+ 'Run after adding or removing connections',
43
+ 'Use before validate_workflow for quick structural checks',
44
+ 'Check for warnings about orphaned nodes',
45
+ 'Ensure trigger nodes are properly positioned',
46
+ 'Validate after using n8n_update_partial_workflow with connection operations'
47
+ ],
48
+ pitfalls: [
49
+ 'Does not validate node configurations - use validate_workflow for full validation',
50
+ 'Cannot detect logical errors in connection flow',
51
+ 'Some valid workflows may have intentionally disconnected nodes',
52
+ 'Circular dependency detection only catches direct loops',
53
+ 'Does not validate connection types match node capabilities'
54
+ ],
55
+ relatedTools: ['validate_workflow', 'validate_workflow_expressions', 'n8n_update_partial_workflow']
56
+ }
57
+ };
58
+ //# sourceMappingURL=validate-workflow-connections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-workflow-connections.js","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/validation/validate-workflow-connections.ts"],"names":[],"mappings":";;;AAEa,QAAA,8BAA8B,GAAsB;IAC/D,IAAI,EAAE,+BAA+B;IACrC,QAAQ,EAAE,YAAY;IACtB,UAAU,EAAE;QACV,WAAW,EAAE,qHAAqH;QAClI,aAAa,EAAE,CAAC,UAAU,CAAC;QAC3B,OAAO,EAAE,+EAA+E;QACxF,WAAW,EAAE,eAAe;QAC5B,IAAI,EAAE;YACJ,yDAAyD;YACzD,kDAAkD;YAClD,sEAAsE;SACvE;KACF;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,+TAA+T;QAC5U,UAAU,EAAE;YACV,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,4DAA4D;aAC1E;SACF;QACD,OAAO,EAAE,iGAAiG;QAC1G,QAAQ,EAAE;YACR,+EAA+E;YAC/E,yGAAyG;SAC1G;QACD,QAAQ,EAAE;YACR,sDAAsD;YACtD,qDAAqD;YACrD,8DAA8D;YAC9D,sDAAsD;YACtD,8CAA8C;YAC9C,+CAA+C;SAChD;QACD,WAAW,EAAE,mGAAmG;QAChH,aAAa,EAAE;YACb,0CAA0C;YAC1C,0DAA0D;YAC1D,yCAAyC;YACzC,8CAA8C;YAC9C,6EAA6E;SAC9E;QACD,QAAQ,EAAE;YACR,mFAAmF;YACnF,iDAAiD;YACjD,gEAAgE;YAChE,yDAAyD;YACzD,4DAA4D;SAC7D;QACD,YAAY,EAAE,CAAC,mBAAmB,EAAE,+BAA+B,EAAE,6BAA6B,CAAC;KACpG;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ToolDocumentation } from '../types';
2
+ export declare const validateWorkflowExpressionsDoc: ToolDocumentation;
3
+ //# sourceMappingURL=validate-workflow-expressions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-workflow-expressions.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/validation/validate-workflow-expressions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,8BAA8B,EAAE,iBAqD5C,CAAC"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateWorkflowExpressionsDoc = void 0;
4
+ exports.validateWorkflowExpressionsDoc = {
5
+ name: 'validate_workflow_expressions',
6
+ category: 'validation',
7
+ essentials: {
8
+ description: 'Validate n8n expressions: syntax {{}}, variables ($json/$node), references. Returns errors with locations.',
9
+ keyParameters: ['workflow'],
10
+ example: 'validate_workflow_expressions({workflow: {nodes: [...], connections: {...}}})',
11
+ performance: 'Fast (<100ms)',
12
+ tips: [
13
+ 'Catches syntax errors in {{}} expressions before runtime',
14
+ 'Validates $json, $node, and other n8n variables',
15
+ 'Shows exact location of expression errors in node parameters'
16
+ ]
17
+ },
18
+ full: {
19
+ description: 'Validates all n8n expressions within a workflow for syntax correctness and reference validity. This tool scans all node parameters for n8n expressions (enclosed in {{}}), checks expression syntax, validates variable references like $json and $node("NodeName"), ensures referenced nodes exist in the workflow, and provides detailed error locations for debugging.',
20
+ parameters: {
21
+ workflow: {
22
+ type: 'object',
23
+ required: true,
24
+ description: 'The workflow JSON to check for expression errors.'
25
+ }
26
+ },
27
+ returns: 'Object with valid (boolean), errors (array with node ID, parameter path, and error details), and expression count',
28
+ examples: [
29
+ 'validate_workflow_expressions({workflow: myWorkflow}) - Check all expressions',
30
+ 'validate_workflow_expressions({workflow: {nodes: [...], connections: {...}}}) - Validate expression syntax'
31
+ ],
32
+ useCases: [
33
+ 'Catch expression syntax errors before workflow execution',
34
+ 'Validate node references in $node() expressions exist',
35
+ 'Find typos in variable names like $json or $input',
36
+ 'Ensure complex expressions are properly formatted',
37
+ 'Debug expression errors with exact parameter locations',
38
+ 'Validate expressions after workflow modifications'
39
+ ],
40
+ performance: 'Fast (<100ms). Scans all string parameters in all nodes. Performance scales with workflow size and expression count.',
41
+ bestPractices: [
42
+ 'Run after modifying any expressions in node parameters',
43
+ 'Check all $node() references when renaming nodes',
44
+ 'Validate expressions before workflow deployment',
45
+ 'Pay attention to nested object paths in expressions',
46
+ 'Use with validate_workflow for comprehensive validation'
47
+ ],
48
+ pitfalls: [
49
+ 'Cannot validate expression logic, only syntax',
50
+ 'Runtime data availability not checked (e.g., if $json.field exists)',
51
+ 'Complex JavaScript in expressions may need runtime testing',
52
+ 'Does not validate expression return types',
53
+ 'Some valid expressions may use advanced features not fully parsed'
54
+ ],
55
+ relatedTools: ['validate_workflow', 'validate_workflow_connections', 'validate_node_operation']
56
+ }
57
+ };
58
+ //# sourceMappingURL=validate-workflow-expressions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-workflow-expressions.js","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/validation/validate-workflow-expressions.ts"],"names":[],"mappings":";;;AAEa,QAAA,8BAA8B,GAAsB;IAC/D,IAAI,EAAE,+BAA+B;IACrC,QAAQ,EAAE,YAAY;IACtB,UAAU,EAAE;QACV,WAAW,EAAE,4GAA4G;QACzH,aAAa,EAAE,CAAC,UAAU,CAAC;QAC3B,OAAO,EAAE,+EAA+E;QACxF,WAAW,EAAE,eAAe;QAC5B,IAAI,EAAE;YACJ,0DAA0D;YAC1D,iDAAiD;YACjD,8DAA8D;SAC/D;KACF;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,2WAA2W;QACxX,UAAU,EAAE;YACV,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,mDAAmD;aACjE;SACF;QACD,OAAO,EAAE,mHAAmH;QAC5H,QAAQ,EAAE;YACR,+EAA+E;YAC/E,4GAA4G;SAC7G;QACD,QAAQ,EAAE;YACR,0DAA0D;YAC1D,uDAAuD;YACvD,mDAAmD;YACnD,mDAAmD;YACnD,wDAAwD;YACxD,mDAAmD;SACpD;QACD,WAAW,EAAE,sHAAsH;QACnI,aAAa,EAAE;YACb,wDAAwD;YACxD,kDAAkD;YAClD,iDAAiD;YACjD,qDAAqD;YACrD,yDAAyD;SAC1D;QACD,QAAQ,EAAE;YACR,+CAA+C;YAC/C,qEAAqE;YACrE,4DAA4D;YAC5D,2CAA2C;YAC3C,mEAAmE;SACpE;QACD,YAAY,EAAE,CAAC,mBAAmB,EAAE,+BAA+B,EAAE,yBAAyB,CAAC;KAChG;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ToolDocumentation } from '../types';
2
+ export declare const validateWorkflowDoc: ToolDocumentation;
3
+ //# sourceMappingURL=validate-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-workflow.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/validation/validate-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,mBAAmB,EAAE,iBA8EjC,CAAC"}