n8n-mcp 2.7.15 → 2.7.20

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 (256) hide show
  1. package/.env.example +1 -0
  2. package/README.md +64 -23
  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/handlers-n8n-manager.d.ts.map +1 -1
  11. package/dist/mcp/handlers-n8n-manager.js +28 -5
  12. package/dist/mcp/handlers-n8n-manager.js.map +1 -1
  13. package/dist/mcp/server.d.ts +1 -0
  14. package/dist/mcp/server.d.ts.map +1 -1
  15. package/dist/mcp/server.js +114 -77
  16. package/dist/mcp/server.js.map +1 -1
  17. package/dist/mcp/stdio-wrapper.js +30 -1
  18. package/dist/mcp/stdio-wrapper.js.map +1 -1
  19. package/dist/mcp/tool-docs/configuration/get-node-as-tool-info.d.ts +3 -0
  20. package/dist/mcp/tool-docs/configuration/get-node-as-tool-info.d.ts.map +1 -0
  21. package/dist/mcp/tool-docs/configuration/get-node-as-tool-info.js +73 -0
  22. package/dist/mcp/tool-docs/configuration/get-node-as-tool-info.js.map +1 -0
  23. package/dist/mcp/tool-docs/configuration/get-node-documentation.d.ts +3 -0
  24. package/dist/mcp/tool-docs/configuration/get-node-documentation.d.ts.map +1 -0
  25. package/dist/mcp/tool-docs/configuration/get-node-documentation.js +47 -0
  26. package/dist/mcp/tool-docs/configuration/get-node-documentation.js.map +1 -0
  27. package/dist/mcp/tool-docs/configuration/get-node-essentials.d.ts +3 -0
  28. package/dist/mcp/tool-docs/configuration/get-node-essentials.d.ts.map +1 -0
  29. package/dist/mcp/tool-docs/configuration/get-node-essentials.js +88 -0
  30. package/dist/mcp/tool-docs/configuration/get-node-essentials.js.map +1 -0
  31. package/dist/mcp/tool-docs/configuration/get-node-info.d.ts +3 -0
  32. package/dist/mcp/tool-docs/configuration/get-node-info.d.ts.map +1 -0
  33. package/dist/mcp/tool-docs/configuration/get-node-info.js +100 -0
  34. package/dist/mcp/tool-docs/configuration/get-node-info.js.map +1 -0
  35. package/dist/mcp/tool-docs/configuration/get-property-dependencies.d.ts +3 -0
  36. package/dist/mcp/tool-docs/configuration/get-property-dependencies.d.ts.map +1 -0
  37. package/dist/mcp/tool-docs/configuration/get-property-dependencies.js +81 -0
  38. package/dist/mcp/tool-docs/configuration/get-property-dependencies.js.map +1 -0
  39. package/dist/mcp/tool-docs/configuration/index.d.ts +7 -0
  40. package/dist/mcp/tool-docs/configuration/index.d.ts.map +1 -0
  41. package/dist/mcp/tool-docs/configuration/index.js +16 -0
  42. package/dist/mcp/tool-docs/configuration/index.js.map +1 -0
  43. package/dist/mcp/tool-docs/configuration/search-node-properties.d.ts +3 -0
  44. package/dist/mcp/tool-docs/configuration/search-node-properties.d.ts.map +1 -0
  45. package/dist/mcp/tool-docs/configuration/search-node-properties.js +99 -0
  46. package/dist/mcp/tool-docs/configuration/search-node-properties.js.map +1 -0
  47. package/dist/mcp/tool-docs/discovery/get-database-statistics.d.ts +3 -0
  48. package/dist/mcp/tool-docs/discovery/get-database-statistics.d.ts.map +1 -0
  49. package/dist/mcp/tool-docs/discovery/get-database-statistics.js +69 -0
  50. package/dist/mcp/tool-docs/discovery/get-database-statistics.js.map +1 -0
  51. package/dist/mcp/tool-docs/discovery/index.d.ts +5 -0
  52. package/dist/mcp/tool-docs/discovery/index.d.ts.map +1 -0
  53. package/dist/mcp/tool-docs/discovery/index.js +12 -0
  54. package/dist/mcp/tool-docs/discovery/index.js.map +1 -0
  55. package/dist/mcp/tool-docs/discovery/list-ai-tools.d.ts +3 -0
  56. package/dist/mcp/tool-docs/discovery/list-ai-tools.d.ts.map +1 -0
  57. package/dist/mcp/tool-docs/discovery/list-ai-tools.js +49 -0
  58. package/dist/mcp/tool-docs/discovery/list-ai-tools.js.map +1 -0
  59. package/dist/mcp/tool-docs/discovery/list-nodes.d.ts +3 -0
  60. package/dist/mcp/tool-docs/discovery/list-nodes.d.ts.map +1 -0
  61. package/dist/mcp/tool-docs/discovery/list-nodes.js +54 -0
  62. package/dist/mcp/tool-docs/discovery/list-nodes.js.map +1 -0
  63. package/dist/mcp/tool-docs/discovery/search-nodes.d.ts +3 -0
  64. package/dist/mcp/tool-docs/discovery/search-nodes.d.ts.map +1 -0
  65. package/dist/mcp/tool-docs/discovery/search-nodes.js +56 -0
  66. package/dist/mcp/tool-docs/discovery/search-nodes.js.map +1 -0
  67. package/dist/mcp/tool-docs/index.d.ts +4 -0
  68. package/dist/mcp/tool-docs/index.d.ts.map +1 -0
  69. package/dist/mcp/tool-docs/index.js +51 -0
  70. package/dist/mcp/tool-docs/index.js.map +1 -0
  71. package/dist/mcp/tool-docs/special/code-node-guide.d.ts +3 -0
  72. package/dist/mcp/tool-docs/special/code-node-guide.d.ts.map +1 -0
  73. package/dist/mcp/tool-docs/special/code-node-guide.js +61 -0
  74. package/dist/mcp/tool-docs/special/code-node-guide.js.map +1 -0
  75. package/dist/mcp/tool-docs/special/index.d.ts +2 -0
  76. package/dist/mcp/tool-docs/special/index.d.ts.map +1 -0
  77. package/dist/mcp/tool-docs/special/index.js +6 -0
  78. package/dist/mcp/tool-docs/special/index.js.map +1 -0
  79. package/dist/mcp/tool-docs/system/index.d.ts +5 -0
  80. package/dist/mcp/tool-docs/system/index.d.ts.map +1 -0
  81. package/dist/mcp/tool-docs/system/index.js +12 -0
  82. package/dist/mcp/tool-docs/system/index.js.map +1 -0
  83. package/dist/mcp/tool-docs/system/n8n-diagnostic.d.ts +3 -0
  84. package/dist/mcp/tool-docs/system/n8n-diagnostic.d.ts.map +1 -0
  85. package/dist/mcp/tool-docs/system/n8n-diagnostic.js +81 -0
  86. package/dist/mcp/tool-docs/system/n8n-diagnostic.js.map +1 -0
  87. package/dist/mcp/tool-docs/system/n8n-health-check.d.ts +3 -0
  88. package/dist/mcp/tool-docs/system/n8n-health-check.d.ts.map +1 -0
  89. package/dist/mcp/tool-docs/system/n8n-health-check.js +77 -0
  90. package/dist/mcp/tool-docs/system/n8n-health-check.js.map +1 -0
  91. package/dist/mcp/tool-docs/system/n8n-list-available-tools.d.ts +3 -0
  92. package/dist/mcp/tool-docs/system/n8n-list-available-tools.d.ts.map +1 -0
  93. package/dist/mcp/tool-docs/system/n8n-list-available-tools.js +75 -0
  94. package/dist/mcp/tool-docs/system/n8n-list-available-tools.js.map +1 -0
  95. package/dist/mcp/tool-docs/system/tools-documentation.d.ts +3 -0
  96. package/dist/mcp/tool-docs/system/tools-documentation.d.ts.map +1 -0
  97. package/dist/mcp/tool-docs/system/tools-documentation.js +65 -0
  98. package/dist/mcp/tool-docs/system/tools-documentation.js.map +1 -0
  99. package/dist/mcp/tool-docs/templates/get-node-for-task.d.ts +3 -0
  100. package/dist/mcp/tool-docs/templates/get-node-for-task.d.ts.map +1 -0
  101. package/dist/mcp/tool-docs/templates/get-node-for-task.js +50 -0
  102. package/dist/mcp/tool-docs/templates/get-node-for-task.js.map +1 -0
  103. package/dist/mcp/tool-docs/templates/get-template.d.ts +3 -0
  104. package/dist/mcp/tool-docs/templates/get-template.d.ts.map +1 -0
  105. package/dist/mcp/tool-docs/templates/get-template.js +76 -0
  106. package/dist/mcp/tool-docs/templates/get-template.js.map +1 -0
  107. package/dist/mcp/tool-docs/templates/get-templates-for-task.d.ts +3 -0
  108. package/dist/mcp/tool-docs/templates/get-templates-for-task.d.ts.map +1 -0
  109. package/dist/mcp/tool-docs/templates/get-templates-for-task.js +76 -0
  110. package/dist/mcp/tool-docs/templates/get-templates-for-task.js.map +1 -0
  111. package/dist/mcp/tool-docs/templates/index.d.ts +7 -0
  112. package/dist/mcp/tool-docs/templates/index.d.ts.map +1 -0
  113. package/dist/mcp/tool-docs/templates/index.js +16 -0
  114. package/dist/mcp/tool-docs/templates/index.js.map +1 -0
  115. package/dist/mcp/tool-docs/templates/list-node-templates.d.ts +3 -0
  116. package/dist/mcp/tool-docs/templates/list-node-templates.d.ts.map +1 -0
  117. package/dist/mcp/tool-docs/templates/list-node-templates.js +80 -0
  118. package/dist/mcp/tool-docs/templates/list-node-templates.js.map +1 -0
  119. package/dist/mcp/tool-docs/templates/list-tasks.d.ts +3 -0
  120. package/dist/mcp/tool-docs/templates/list-tasks.d.ts.map +1 -0
  121. package/dist/mcp/tool-docs/templates/list-tasks.js +48 -0
  122. package/dist/mcp/tool-docs/templates/list-tasks.js.map +1 -0
  123. package/dist/mcp/tool-docs/templates/search-templates.d.ts +3 -0
  124. package/dist/mcp/tool-docs/templates/search-templates.d.ts.map +1 -0
  125. package/dist/mcp/tool-docs/templates/search-templates.js +83 -0
  126. package/dist/mcp/tool-docs/templates/search-templates.js.map +1 -0
  127. package/dist/mcp/tool-docs/types.d.ts +30 -0
  128. package/dist/mcp/tool-docs/types.d.ts.map +1 -0
  129. package/dist/mcp/tool-docs/types.js +3 -0
  130. package/dist/mcp/tool-docs/types.js.map +1 -0
  131. package/dist/mcp/tool-docs/validation/index.d.ts +6 -0
  132. package/dist/mcp/tool-docs/validation/index.d.ts.map +1 -0
  133. package/dist/mcp/tool-docs/validation/index.js +14 -0
  134. package/dist/mcp/tool-docs/validation/index.js.map +1 -0
  135. package/dist/mcp/tool-docs/validation/validate-node-minimal.d.ts +3 -0
  136. package/dist/mcp/tool-docs/validation/validate-node-minimal.d.ts.map +1 -0
  137. package/dist/mcp/tool-docs/validation/validate-node-minimal.js +49 -0
  138. package/dist/mcp/tool-docs/validation/validate-node-minimal.js.map +1 -0
  139. package/dist/mcp/tool-docs/validation/validate-node-operation.d.ts +3 -0
  140. package/dist/mcp/tool-docs/validation/validate-node-operation.d.ts.map +1 -0
  141. package/dist/mcp/tool-docs/validation/validate-node-operation.js +94 -0
  142. package/dist/mcp/tool-docs/validation/validate-node-operation.js.map +1 -0
  143. package/dist/mcp/tool-docs/validation/validate-workflow-connections.d.ts +3 -0
  144. package/dist/mcp/tool-docs/validation/validate-workflow-connections.d.ts.map +1 -0
  145. package/dist/mcp/tool-docs/validation/validate-workflow-connections.js +58 -0
  146. package/dist/mcp/tool-docs/validation/validate-workflow-connections.js.map +1 -0
  147. package/dist/mcp/tool-docs/validation/validate-workflow-expressions.d.ts +3 -0
  148. package/dist/mcp/tool-docs/validation/validate-workflow-expressions.d.ts.map +1 -0
  149. package/dist/mcp/tool-docs/validation/validate-workflow-expressions.js +58 -0
  150. package/dist/mcp/tool-docs/validation/validate-workflow-expressions.js.map +1 -0
  151. package/dist/mcp/tool-docs/validation/validate-workflow.d.ts +3 -0
  152. package/dist/mcp/tool-docs/validation/validate-workflow.d.ts.map +1 -0
  153. package/dist/mcp/tool-docs/validation/validate-workflow.js +83 -0
  154. package/dist/mcp/tool-docs/validation/validate-workflow.js.map +1 -0
  155. package/dist/mcp/tool-docs/workflow_management/index.d.ts +15 -0
  156. package/dist/mcp/tool-docs/workflow_management/index.d.ts.map +1 -0
  157. package/dist/mcp/tool-docs/workflow_management/index.js +32 -0
  158. package/dist/mcp/tool-docs/workflow_management/index.js.map +1 -0
  159. package/dist/mcp/tool-docs/workflow_management/n8n-create-workflow.d.ts +3 -0
  160. package/dist/mcp/tool-docs/workflow_management/n8n-create-workflow.d.ts.map +1 -0
  161. package/dist/mcp/tool-docs/workflow_management/n8n-create-workflow.js +99 -0
  162. package/dist/mcp/tool-docs/workflow_management/n8n-create-workflow.js.map +1 -0
  163. package/dist/mcp/tool-docs/workflow_management/n8n-delete-execution.d.ts +3 -0
  164. package/dist/mcp/tool-docs/workflow_management/n8n-delete-execution.d.ts.map +1 -0
  165. package/dist/mcp/tool-docs/workflow_management/n8n-delete-execution.js +59 -0
  166. package/dist/mcp/tool-docs/workflow_management/n8n-delete-execution.js.map +1 -0
  167. package/dist/mcp/tool-docs/workflow_management/n8n-delete-workflow.d.ts +3 -0
  168. package/dist/mcp/tool-docs/workflow_management/n8n-delete-workflow.d.ts.map +1 -0
  169. package/dist/mcp/tool-docs/workflow_management/n8n-delete-workflow.js +52 -0
  170. package/dist/mcp/tool-docs/workflow_management/n8n-delete-workflow.js.map +1 -0
  171. package/dist/mcp/tool-docs/workflow_management/n8n-get-execution.d.ts +3 -0
  172. package/dist/mcp/tool-docs/workflow_management/n8n-get-execution.d.ts.map +1 -0
  173. package/dist/mcp/tool-docs/workflow_management/n8n-get-execution.js +64 -0
  174. package/dist/mcp/tool-docs/workflow_management/n8n-get-execution.js.map +1 -0
  175. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-details.d.ts +3 -0
  176. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-details.d.ts.map +1 -0
  177. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-details.js +51 -0
  178. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-details.js.map +1 -0
  179. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-minimal.d.ts +3 -0
  180. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-minimal.d.ts.map +1 -0
  181. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-minimal.js +51 -0
  182. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-minimal.js.map +1 -0
  183. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-structure.d.ts +3 -0
  184. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-structure.d.ts.map +1 -0
  185. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-structure.js +51 -0
  186. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow-structure.js.map +1 -0
  187. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow.d.ts +3 -0
  188. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow.d.ts.map +1 -0
  189. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow.js +51 -0
  190. package/dist/mcp/tool-docs/workflow_management/n8n-get-workflow.js.map +1 -0
  191. package/dist/mcp/tool-docs/workflow_management/n8n-list-executions.d.ts +3 -0
  192. package/dist/mcp/tool-docs/workflow_management/n8n-list-executions.d.ts.map +1 -0
  193. package/dist/mcp/tool-docs/workflow_management/n8n-list-executions.js +86 -0
  194. package/dist/mcp/tool-docs/workflow_management/n8n-list-executions.js.map +1 -0
  195. package/dist/mcp/tool-docs/workflow_management/n8n-list-workflows.d.ts +3 -0
  196. package/dist/mcp/tool-docs/workflow_management/n8n-list-workflows.d.ts.map +1 -0
  197. package/dist/mcp/tool-docs/workflow_management/n8n-list-workflows.js +57 -0
  198. package/dist/mcp/tool-docs/workflow_management/n8n-list-workflows.js.map +1 -0
  199. package/dist/mcp/tool-docs/workflow_management/n8n-trigger-webhook-workflow.d.ts +3 -0
  200. package/dist/mcp/tool-docs/workflow_management/n8n-trigger-webhook-workflow.d.ts.map +1 -0
  201. package/dist/mcp/tool-docs/workflow_management/n8n-trigger-webhook-workflow.js +80 -0
  202. package/dist/mcp/tool-docs/workflow_management/n8n-trigger-webhook-workflow.js.map +1 -0
  203. package/dist/mcp/tool-docs/workflow_management/n8n-update-full-workflow.d.ts +3 -0
  204. package/dist/mcp/tool-docs/workflow_management/n8n-update-full-workflow.d.ts.map +1 -0
  205. package/dist/mcp/tool-docs/workflow_management/n8n-update-full-workflow.js +57 -0
  206. package/dist/mcp/tool-docs/workflow_management/n8n-update-full-workflow.js.map +1 -0
  207. package/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.d.ts +3 -0
  208. package/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.d.ts.map +1 -0
  209. package/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.js +82 -0
  210. package/dist/mcp/tool-docs/workflow_management/n8n-update-partial-workflow.js.map +1 -0
  211. package/dist/mcp/tool-docs/workflow_management/n8n-validate-workflow.d.ts +3 -0
  212. package/dist/mcp/tool-docs/workflow_management/n8n-validate-workflow.d.ts.map +1 -0
  213. package/dist/mcp/tool-docs/workflow_management/n8n-validate-workflow.js +73 -0
  214. package/dist/mcp/tool-docs/workflow_management/n8n-validate-workflow.js.map +1 -0
  215. package/dist/mcp/tools-documentation-new.d.ts +6 -0
  216. package/dist/mcp/tools-documentation-new.d.ts.map +1 -0
  217. package/dist/mcp/tools-documentation-new.js +163 -0
  218. package/dist/mcp/tools-documentation-new.js.map +1 -0
  219. package/dist/mcp/tools-documentation.d.ts +1 -29
  220. package/dist/mcp/tools-documentation.d.ts.map +1 -1
  221. package/dist/mcp/tools-documentation.js +516 -1235
  222. package/dist/mcp/tools-documentation.js.map +1 -1
  223. package/dist/mcp/tools-n8n-manager.js +2 -2
  224. package/dist/mcp/tools-n8n-manager.js.map +1 -1
  225. package/dist/scripts/rebuild.js +2 -1
  226. package/dist/scripts/rebuild.js.map +1 -1
  227. package/dist/scripts/test-issue-74.d.ts +3 -0
  228. package/dist/scripts/test-issue-74.d.ts.map +1 -0
  229. package/dist/scripts/test-issue-74.js +112 -0
  230. package/dist/scripts/test-issue-74.js.map +1 -0
  231. package/dist/scripts/test-tools-documentation.d.ts +2 -0
  232. package/dist/scripts/test-tools-documentation.d.ts.map +1 -0
  233. package/dist/scripts/test-tools-documentation.js +41 -0
  234. package/dist/scripts/test-tools-documentation.js.map +1 -0
  235. package/dist/scripts/test-updatenode-null-fix.d.ts +3 -0
  236. package/dist/scripts/test-updatenode-null-fix.d.ts.map +1 -0
  237. package/dist/scripts/test-updatenode-null-fix.js +156 -0
  238. package/dist/scripts/test-updatenode-null-fix.js.map +1 -0
  239. package/dist/services/enhanced-config-validator.d.ts +0 -1
  240. package/dist/services/enhanced-config-validator.d.ts.map +1 -1
  241. package/dist/services/enhanced-config-validator.js +2 -91
  242. package/dist/services/enhanced-config-validator.js.map +1 -1
  243. package/dist/services/n8n-api-client.d.ts.map +1 -1
  244. package/dist/services/n8n-api-client.js +13 -2
  245. package/dist/services/n8n-api-client.js.map +1 -1
  246. package/dist/services/workflow-validator.js +1 -1
  247. package/dist/services/workflow-validator.js.map +1 -1
  248. package/dist/utils/node-utils.d.ts +4 -0
  249. package/dist/utils/node-utils.d.ts.map +1 -0
  250. package/dist/utils/node-utils.js +78 -0
  251. package/dist/utils/node-utils.js.map +1 -0
  252. package/dist/utils/version-utils.d.ts +16 -0
  253. package/dist/utils/version-utils.d.ts.map +1 -0
  254. package/dist/utils/version-utils.js +129 -0
  255. package/dist/utils/version-utils.js.map +1 -0
  256. package/package.json +1 -1
@@ -0,0 +1,3 @@
1
+ import { ToolDocumentation } from '../types';
2
+ export declare const listNodeTemplatesDoc: ToolDocumentation;
3
+ //# sourceMappingURL=list-node-templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-node-templates.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/templates/list-node-templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,oBAAoB,EAAE,iBA2ElC,CAAC"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.listNodeTemplatesDoc = void 0;
4
+ exports.listNodeTemplatesDoc = {
5
+ name: 'list_node_templates',
6
+ category: 'templates',
7
+ essentials: {
8
+ description: 'Find templates using specific nodes. 399 community workflows. Use FULL types: "n8n-nodes-base.httpRequest".',
9
+ keyParameters: ['nodeTypes', 'limit'],
10
+ example: 'list_node_templates({nodeTypes: ["n8n-nodes-base.slack"]})',
11
+ performance: 'Fast (<100ms) - indexed node search',
12
+ tips: [
13
+ 'Must use FULL node type with package prefix: "n8n-nodes-base.slack"',
14
+ 'Can search for multiple nodes to find workflows using all of them',
15
+ 'Returns templates sorted by popularity (view count)'
16
+ ]
17
+ },
18
+ full: {
19
+ description: `Finds workflow templates that use specific n8n nodes. This is the best way to discover how particular nodes are used in real workflows. Search the community library of 399+ templates by specifying which nodes you want to see in action. Templates are sorted by popularity to show the most useful examples first.`,
20
+ parameters: {
21
+ nodeTypes: {
22
+ type: 'array',
23
+ required: true,
24
+ description: 'Array of node types to search for. Must use full type names with package prefix (e.g., ["n8n-nodes-base.httpRequest", "n8n-nodes-base.openAi"])'
25
+ },
26
+ limit: {
27
+ type: 'number',
28
+ required: false,
29
+ description: 'Maximum number of templates to return. Default 10, max 100'
30
+ }
31
+ },
32
+ returns: `Returns an object containing:
33
+ - templates: Array of matching templates
34
+ - id: Template ID for retrieval
35
+ - name: Template name
36
+ - description: What the workflow does
37
+ - author: Creator details (name, username, verified)
38
+ - nodes: Complete list of nodes used
39
+ - views: View count (popularity metric)
40
+ - created: Creation date
41
+ - url: Link to template on n8n.io
42
+ - totalFound: Total number of matching templates
43
+ - tip: Usage hints if no results`,
44
+ examples: [
45
+ 'list_node_templates({nodeTypes: ["n8n-nodes-base.slack"]}) - Find all Slack workflows',
46
+ 'list_node_templates({nodeTypes: ["n8n-nodes-base.httpRequest", "n8n-nodes-base.postgres"]}) - Find workflows using both HTTP and Postgres',
47
+ 'list_node_templates({nodeTypes: ["@n8n/n8n-nodes-langchain.openAi"], limit: 20}) - Find AI workflows with OpenAI',
48
+ 'list_node_templates({nodeTypes: ["n8n-nodes-base.webhook", "n8n-nodes-base.respondToWebhook"]}) - Find webhook examples'
49
+ ],
50
+ useCases: [
51
+ 'Learn how to use specific nodes through examples',
52
+ 'Find workflows combining particular integrations',
53
+ 'Discover patterns for node combinations',
54
+ 'See real-world usage of complex nodes',
55
+ 'Find templates for your exact tech stack'
56
+ ],
57
+ performance: `Optimized for node-based searches:
58
+ - Indexed by node type for fast lookups
59
+ - Query time: <50ms for single node
60
+ - Multiple nodes: <100ms (uses AND logic)
61
+ - Returns pre-sorted by popularity
62
+ - No full-text search needed`,
63
+ bestPractices: [
64
+ 'Always use full node type with package prefix',
65
+ 'Search for core nodes that define the workflow purpose',
66
+ 'Start with single node searches, then refine',
67
+ 'Check node types with list_nodes if unsure of names',
68
+ 'Review multiple templates to learn different approaches'
69
+ ],
70
+ pitfalls: [
71
+ 'Node types must match exactly - no partial matches',
72
+ 'Package prefix required: "slack" won\'t work, use "n8n-nodes-base.slack"',
73
+ 'Some nodes have version numbers: "n8n-nodes-base.httpRequestV3"',
74
+ 'Templates may use old node versions not in current n8n',
75
+ 'AND logic means all specified nodes must be present'
76
+ ],
77
+ relatedTools: ['get_template', 'search_templates', 'get_templates_for_task', 'list_nodes']
78
+ }
79
+ };
80
+ //# sourceMappingURL=list-node-templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-node-templates.js","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/templates/list-node-templates.ts"],"names":[],"mappings":";;;AAEa,QAAA,oBAAoB,GAAsB;IACrD,IAAI,EAAE,qBAAqB;IAC3B,QAAQ,EAAE,WAAW;IACrB,UAAU,EAAE;QACV,WAAW,EAAE,6GAA6G;QAC1H,aAAa,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC;QACrC,OAAO,EAAE,4DAA4D;QACrE,WAAW,EAAE,qCAAqC;QAClD,IAAI,EAAE;YACJ,qEAAqE;YACrE,mEAAmE;YACnE,qDAAqD;SACtD;KACF;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,wTAAwT;QACrU,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,iJAAiJ;aAC/J;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,KAAK;gBACf,WAAW,EAAE,4DAA4D;aAC1E;SACF;QACD,OAAO,EAAE;;;;;;;;;;;iCAWoB;QAC7B,QAAQ,EAAE;YACR,uFAAuF;YACvF,2IAA2I;YAC3I,kHAAkH;YAClH,yHAAyH;SAC1H;QACD,QAAQ,EAAE;YACR,kDAAkD;YAClD,kDAAkD;YAClD,yCAAyC;YACzC,uCAAuC;YACvC,0CAA0C;SAC3C;QACD,WAAW,EAAE;;;;;6BAKY;QACzB,aAAa,EAAE;YACb,+CAA+C;YAC/C,wDAAwD;YACxD,8CAA8C;YAC9C,qDAAqD;YACrD,yDAAyD;SAC1D;QACD,QAAQ,EAAE;YACR,oDAAoD;YACpD,0EAA0E;YAC1E,iEAAiE;YACjE,wDAAwD;YACxD,qDAAqD;SACtD;QACD,YAAY,EAAE,CAAC,cAAc,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,YAAY,CAAC;KAC3F;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ToolDocumentation } from '../types';
2
+ export declare const listTasksDoc: ToolDocumentation;
3
+ //# sourceMappingURL=list-tasks.d.ts.map
@@ -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"}