n8n-mcp 2.7.14 → 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 (233) hide show
  1. package/.env.example +10 -0
  2. package/README.md +49 -3
  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 +87 -3
  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 +85 -2
  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/dist/services/n8n-validation.d.ts.map +1 -1
  228. package/dist/services/n8n-validation.js.map +1 -1
  229. package/dist/utils/url-detector.d.ts +9 -0
  230. package/dist/utils/url-detector.d.ts.map +1 -0
  231. package/dist/utils/url-detector.js +79 -0
  232. package/dist/utils/url-detector.js.map +1 -0
  233. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ToolDocumentation } from '../types';
2
+ export declare const getNodeAsToolInfoDoc: ToolDocumentation;
3
+ //# sourceMappingURL=get-node-as-tool-info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-node-as-tool-info.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/configuration/get-node-as-tool-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,oBAAoB,EAAE,iBAoElC,CAAC"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNodeAsToolInfoDoc = void 0;
4
+ exports.getNodeAsToolInfoDoc = {
5
+ name: 'get_node_as_tool_info',
6
+ category: 'configuration',
7
+ essentials: {
8
+ description: 'Explains how to use ANY node as an AI tool with requirements and examples.',
9
+ keyParameters: ['nodeType'],
10
+ example: 'get_node_as_tool_info({nodeType: "nodes-base.slack"})',
11
+ performance: 'Fast - returns guidance and examples',
12
+ tips: [
13
+ 'ANY node can be used as AI tool, not just AI-marked ones',
14
+ 'Community nodes need N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true',
15
+ 'Provides specific use cases and connection requirements'
16
+ ]
17
+ },
18
+ full: {
19
+ description: `Shows how to use any n8n node as an AI tool in AI Agent workflows. In n8n, ANY node can be connected to an AI Agent's tool port, allowing the AI to use that node's functionality. This tool provides specific guidance, requirements, and examples for using a node as an AI tool.`,
20
+ parameters: {
21
+ nodeType: {
22
+ type: 'string',
23
+ required: true,
24
+ description: 'Full node type WITH prefix: "nodes-base.slack", "nodes-base.googleSheets", etc.',
25
+ examples: [
26
+ 'nodes-base.slack',
27
+ 'nodes-base.httpRequest',
28
+ 'nodes-base.googleSheets',
29
+ 'nodes-langchain.documentLoader'
30
+ ]
31
+ }
32
+ },
33
+ returns: `Object containing:
34
+ - nodeType: The node's full type identifier
35
+ - displayName: Human-readable name
36
+ - isMarkedAsAITool: Whether node has usableAsTool property
37
+ - aiToolCapabilities: Detailed AI tool usage information including:
38
+ - canBeUsedAsTool: Always true in n8n
39
+ - requiresEnvironmentVariable: For community nodes
40
+ - commonUseCases: Specific AI tool use cases
41
+ - requirements: Connection and environment setup
42
+ - examples: Code examples for common scenarios
43
+ - tips: Best practices for AI tool usage`,
44
+ examples: [
45
+ 'get_node_as_tool_info({nodeType: "nodes-base.slack"}) - Get AI tool guidance for Slack',
46
+ 'get_node_as_tool_info({nodeType: "nodes-base.httpRequest"}) - Learn to use HTTP Request as AI tool',
47
+ 'get_node_as_tool_info({nodeType: "nodes-base.postgres"}) - Database queries as AI tools'
48
+ ],
49
+ useCases: [
50
+ 'Understanding how to connect any node to AI Agent',
51
+ 'Learning environment requirements for community nodes',
52
+ 'Getting specific use case examples for AI tool usage',
53
+ 'Checking if a node is optimized for AI usage',
54
+ 'Understanding credential requirements for AI tools'
55
+ ],
56
+ performance: 'Very fast - returns pre-computed guidance and examples',
57
+ bestPractices: [
58
+ 'Use this before configuring nodes as AI tools',
59
+ 'Check environment requirements for community nodes',
60
+ 'Review common use cases to understand best applications',
61
+ 'Test nodes independently before connecting to AI Agent',
62
+ 'Give tools descriptive names in AI Agent configuration'
63
+ ],
64
+ pitfalls: [
65
+ 'Community nodes require environment variable to be used as tools',
66
+ 'Not all nodes make sense as AI tools (e.g., triggers)',
67
+ 'Some nodes require specific credentials configuration',
68
+ 'Tool descriptions in AI Agent must be clear and detailed'
69
+ ],
70
+ relatedTools: ['list_ai_tools', 'get_node_essentials', 'validate_node_operation']
71
+ }
72
+ };
73
+ //# sourceMappingURL=get-node-as-tool-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-node-as-tool-info.js","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/configuration/get-node-as-tool-info.ts"],"names":[],"mappings":";;;AAEa,QAAA,oBAAoB,GAAsB;IACrD,IAAI,EAAE,uBAAuB;IAC7B,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE;QACV,WAAW,EAAE,4EAA4E;QACzF,aAAa,EAAE,CAAC,UAAU,CAAC;QAC3B,OAAO,EAAE,uDAAuD;QAChE,WAAW,EAAE,sCAAsC;QACnD,IAAI,EAAE;YACJ,0DAA0D;YAC1D,mEAAmE;YACnE,yDAAyD;SAC1D;KACF;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,qRAAqR;QAClS,UAAU,EAAE;YACV,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,iFAAiF;gBAC9F,QAAQ,EAAE;oBACR,kBAAkB;oBAClB,wBAAwB;oBACxB,yBAAyB;oBACzB,gCAAgC;iBACjC;aACF;SACF;QACD,OAAO,EAAE;;;;;;;;;;2CAU8B;QACvC,QAAQ,EAAE;YACR,wFAAwF;YACxF,oGAAoG;YACpG,yFAAyF;SAC1F;QACD,QAAQ,EAAE;YACR,mDAAmD;YACnD,uDAAuD;YACvD,sDAAsD;YACtD,8CAA8C;YAC9C,oDAAoD;SACrD;QACD,WAAW,EAAE,wDAAwD;QACrE,aAAa,EAAE;YACb,+CAA+C;YAC/C,oDAAoD;YACpD,yDAAyD;YACzD,wDAAwD;YACxD,wDAAwD;SACzD;QACD,QAAQ,EAAE;YACR,kEAAkE;YAClE,uDAAuD;YACvD,uDAAuD;YACvD,0DAA0D;SAC3D;QACD,YAAY,EAAE,CAAC,eAAe,EAAE,qBAAqB,EAAE,yBAAyB,CAAC;KAClF;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ToolDocumentation } from '../types';
2
+ export declare const getNodeDocumentationDoc: ToolDocumentation;
3
+ //# sourceMappingURL=get-node-documentation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-node-documentation.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/configuration/get-node-documentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,uBAAuB,EAAE,iBA0CrC,CAAC"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNodeDocumentationDoc = void 0;
4
+ exports.getNodeDocumentationDoc = {
5
+ name: 'get_node_documentation',
6
+ category: 'configuration',
7
+ essentials: {
8
+ description: 'Get readable docs with examples/auth/patterns. Better than raw schema! 87% coverage. Format: "nodes-base.slack"',
9
+ keyParameters: ['nodeType'],
10
+ example: 'get_node_documentation({nodeType: "nodes-base.slack"})',
11
+ performance: 'Fast - pre-parsed',
12
+ tips: [
13
+ '87% coverage',
14
+ 'Includes auth examples',
15
+ 'Human-readable format'
16
+ ]
17
+ },
18
+ full: {
19
+ description: 'Returns human-readable documentation parsed from n8n-docs including examples, authentication setup, and common patterns. More useful than raw schema for understanding node usage.',
20
+ parameters: {
21
+ nodeType: { type: 'string', required: true, description: 'Full node type with prefix (e.g., "nodes-base.slack")' }
22
+ },
23
+ returns: 'Parsed markdown documentation with examples, authentication guides, common patterns',
24
+ examples: [
25
+ 'get_node_documentation({nodeType: "nodes-base.slack"}) - Slack usage guide',
26
+ 'get_node_documentation({nodeType: "nodes-base.googleSheets"}) - Sheets examples'
27
+ ],
28
+ useCases: [
29
+ 'Understanding authentication setup',
30
+ 'Finding usage examples',
31
+ 'Learning common patterns'
32
+ ],
33
+ performance: 'Fast - Pre-parsed documentation stored in database',
34
+ bestPractices: [
35
+ 'Use for learning node usage',
36
+ 'Check coverage with get_database_statistics',
37
+ 'Combine with get_node_essentials'
38
+ ],
39
+ pitfalls: [
40
+ 'Not all nodes have docs (87% coverage)',
41
+ 'May be outdated for new features',
42
+ 'Requires full node type prefix'
43
+ ],
44
+ relatedTools: ['get_node_info', 'get_node_essentials', 'search_nodes']
45
+ }
46
+ };
47
+ //# sourceMappingURL=get-node-documentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-node-documentation.js","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/configuration/get-node-documentation.ts"],"names":[],"mappings":";;;AAEa,QAAA,uBAAuB,GAAsB;IACxD,IAAI,EAAE,wBAAwB;IAC9B,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE;QACV,WAAW,EAAE,iHAAiH;QAC9H,aAAa,EAAE,CAAC,UAAU,CAAC;QAC3B,OAAO,EAAE,wDAAwD;QACjE,WAAW,EAAE,mBAAmB;QAChC,IAAI,EAAE;YACJ,cAAc;YACd,wBAAwB;YACxB,uBAAuB;SACxB;KACF;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,oLAAoL;QACjM,UAAU,EAAE;YACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,uDAAuD,EAAE;SACnH;QACD,OAAO,EAAE,qFAAqF;QAC9F,QAAQ,EAAE;YACR,4EAA4E;YAC5E,iFAAiF;SAClF;QACD,QAAQ,EAAE;YACR,oCAAoC;YACpC,wBAAwB;YACxB,0BAA0B;SAC3B;QACD,WAAW,EAAE,oDAAoD;QACjE,aAAa,EAAE;YACb,6BAA6B;YAC7B,6CAA6C;YAC7C,kCAAkC;SACnC;QACD,QAAQ,EAAE;YACR,wCAAwC;YACxC,kCAAkC;YAClC,gCAAgC;SACjC;QACD,YAAY,EAAE,CAAC,eAAe,EAAE,qBAAqB,EAAE,cAAc,CAAC;KACvE;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ToolDocumentation } from '../types';
2
+ export declare const getNodeEssentialsDoc: ToolDocumentation;
3
+ //# sourceMappingURL=get-node-essentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-node-essentials.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/configuration/get-node-essentials.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,oBAAoB,EAAE,iBAmFlC,CAAC"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNodeEssentialsDoc = void 0;
4
+ exports.getNodeEssentialsDoc = {
5
+ name: 'get_node_essentials',
6
+ category: 'configuration',
7
+ essentials: {
8
+ description: 'Returns only the most commonly-used properties for a node (10-20 fields). Response is 95% smaller than get_node_info (5KB vs 100KB+). Essential properties include required fields, common options, and authentication settings. Use validate_node_operation for working configurations.',
9
+ keyParameters: ['nodeType'],
10
+ example: 'get_node_essentials({nodeType: "nodes-base.slack"})',
11
+ performance: '<10ms, ~5KB response',
12
+ tips: [
13
+ 'Always use this before get_node_info',
14
+ 'Use validate_node_operation for examples',
15
+ 'Perfect for understanding node structure'
16
+ ]
17
+ },
18
+ full: {
19
+ description: 'Returns a curated subset of node properties focusing on the most commonly-used fields. Essential properties are hand-picked for each node type and include: required fields, primary operations, authentication options, and the most frequent configuration patterns. NOTE: Examples have been removed to avoid confusion - use validate_node_operation to get working configurations with proper validation.',
20
+ parameters: {
21
+ nodeType: { type: 'string', description: 'Full node type with prefix, e.g., "nodes-base.slack", "nodes-base.httpRequest"', required: true }
22
+ },
23
+ returns: `Object containing:
24
+ {
25
+ "nodeType": "nodes-base.slack",
26
+ "displayName": "Slack",
27
+ "description": "Consume Slack API",
28
+ "category": "output",
29
+ "version": "2.3",
30
+ "requiredProperties": [], // Most nodes have no strictly required fields
31
+ "commonProperties": [
32
+ {
33
+ "name": "resource",
34
+ "displayName": "Resource",
35
+ "type": "options",
36
+ "options": ["channel", "message", "user"],
37
+ "default": "message"
38
+ },
39
+ {
40
+ "name": "operation",
41
+ "displayName": "Operation",
42
+ "type": "options",
43
+ "options": ["post", "update", "delete"],
44
+ "default": "post"
45
+ },
46
+ // ... 10-20 most common properties
47
+ ],
48
+ "operations": [
49
+ {"name": "Post", "description": "Post a message"},
50
+ {"name": "Update", "description": "Update a message"}
51
+ ],
52
+ "metadata": {
53
+ "totalProperties": 121,
54
+ "isAITool": false,
55
+ "hasCredentials": true
56
+ }
57
+ }`,
58
+ examples: [
59
+ 'get_node_essentials({nodeType: "nodes-base.httpRequest"}) - HTTP configuration basics',
60
+ 'get_node_essentials({nodeType: "nodes-base.slack"}) - Slack messaging essentials',
61
+ 'get_node_essentials({nodeType: "nodes-base.googleSheets"}) - Sheets operations',
62
+ '// Workflow: search → essentials → validate',
63
+ 'const nodes = search_nodes({query: "database"});',
64
+ 'const mysql = get_node_essentials({nodeType: "nodes-base.mySql"});',
65
+ 'validate_node_operation("nodes-base.mySql", {operation: "select"}, "minimal");'
66
+ ],
67
+ useCases: [
68
+ 'Quickly understand node structure without information overload',
69
+ 'Identify which properties are most important',
70
+ 'Learn node basics before diving into advanced features',
71
+ 'Build workflows faster with curated property sets'
72
+ ],
73
+ performance: '<10ms response time, ~5KB payload (vs 100KB+ for full schema)',
74
+ bestPractices: [
75
+ 'Always start with essentials, only use get_node_info if needed',
76
+ 'Use validate_node_operation to get working configurations',
77
+ 'Check authentication requirements first',
78
+ 'Use search_node_properties if specific property not in essentials'
79
+ ],
80
+ pitfalls: [
81
+ 'Advanced properties not included - use get_node_info for complete schema',
82
+ 'Node-specific validators may require additional fields',
83
+ 'Some nodes have 50+ properties, essentials shows only top 10-20'
84
+ ],
85
+ relatedTools: ['get_node_info for complete schema', 'search_node_properties for finding specific fields', 'validate_node_minimal to check configuration']
86
+ }
87
+ };
88
+ //# sourceMappingURL=get-node-essentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-node-essentials.js","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/configuration/get-node-essentials.ts"],"names":[],"mappings":";;;AAEa,QAAA,oBAAoB,GAAsB;IACrD,IAAI,EAAE,qBAAqB;IAC3B,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE;QACV,WAAW,EAAE,0RAA0R;QACvS,aAAa,EAAE,CAAC,UAAU,CAAC;QAC3B,OAAO,EAAE,qDAAqD;QAC9D,WAAW,EAAE,sBAAsB;QACnC,IAAI,EAAE;YACJ,sCAAsC;YACtC,0CAA0C;YAC1C,0CAA0C;SAC3C;KACF;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,gZAAgZ;QAC7Z,UAAU,EAAE;YACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gFAAgF,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC5I;QACD,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCX;QACE,QAAQ,EAAE;YACR,uFAAuF;YACvF,kFAAkF;YAClF,gFAAgF;YAChF,6CAA6C;YAC7C,kDAAkD;YAClD,oEAAoE;YACpE,gFAAgF;SACjF;QACD,QAAQ,EAAE;YACR,gEAAgE;YAChE,8CAA8C;YAC9C,wDAAwD;YACxD,mDAAmD;SACpD;QACD,WAAW,EAAE,+DAA+D;QAC5E,aAAa,EAAE;YACb,gEAAgE;YAChE,2DAA2D;YAC3D,yCAAyC;YACzC,mEAAmE;SACpE;QACD,QAAQ,EAAE;YACR,0EAA0E;YAC1E,wDAAwD;YACxD,iEAAiE;SAClE;QACD,YAAY,EAAE,CAAC,mCAAmC,EAAE,oDAAoD,EAAE,8CAA8C,CAAC;KAC1J;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ToolDocumentation } from '../types';
2
+ export declare const getNodeInfoDoc: ToolDocumentation;
3
+ //# sourceMappingURL=get-node-info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-node-info.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/configuration/get-node-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,cAAc,EAAE,iBA+F5B,CAAC"}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNodeInfoDoc = void 0;
4
+ exports.getNodeInfoDoc = {
5
+ name: 'get_node_info',
6
+ category: 'configuration',
7
+ essentials: {
8
+ description: 'Returns complete node schema with ALL properties (100KB+ response). Only use when you need advanced properties not in get_node_essentials. Contains 200+ properties for complex nodes like HTTP Request. Requires full prefix like "nodes-base.httpRequest".',
9
+ keyParameters: ['nodeType'],
10
+ example: 'get_node_info({nodeType: "nodes-base.slack"})',
11
+ performance: '100-500ms, 50-500KB response',
12
+ tips: [
13
+ 'Try get_node_essentials first (95% smaller)',
14
+ 'Use only for advanced configurations',
15
+ 'Response may have 200+ properties'
16
+ ]
17
+ },
18
+ full: {
19
+ description: 'Returns the complete JSON schema for a node including all properties, operations, authentication methods, version information, and metadata. Response sizes range from 50KB to 500KB. Use this only when get_node_essentials doesn\'t provide the specific property you need.',
20
+ parameters: {
21
+ nodeType: { type: 'string', required: true, description: 'Full node type with prefix. Examples: "nodes-base.slack", "nodes-base.httpRequest", "nodes-langchain.openAi"' }
22
+ },
23
+ returns: `Complete node object containing:
24
+ {
25
+ "displayName": "Slack",
26
+ "name": "slack",
27
+ "type": "nodes-base.slack",
28
+ "typeVersion": 2.2,
29
+ "description": "Consume Slack API",
30
+ "defaults": {"name": "Slack"},
31
+ "inputs": ["main"],
32
+ "outputs": ["main"],
33
+ "credentials": [
34
+ {
35
+ "name": "slackApi",
36
+ "required": true,
37
+ "displayOptions": {...}
38
+ }
39
+ ],
40
+ "properties": [
41
+ // 200+ property definitions including:
42
+ {
43
+ "displayName": "Resource",
44
+ "name": "resource",
45
+ "type": "options",
46
+ "options": ["channel", "message", "user", "file", ...],
47
+ "default": "message"
48
+ },
49
+ {
50
+ "displayName": "Operation",
51
+ "name": "operation",
52
+ "type": "options",
53
+ "displayOptions": {
54
+ "show": {"resource": ["message"]}
55
+ },
56
+ "options": ["post", "update", "delete", "get", ...],
57
+ "default": "post"
58
+ },
59
+ // ... 200+ more properties with complex conditions
60
+ ],
61
+ "version": 2.2,
62
+ "subtitle": "={{$parameter[\"operation\"] + \": \" + $parameter[\"resource\"]}}",
63
+ "codex": {...},
64
+ "supportedWebhooks": [...]
65
+ }`,
66
+ examples: [
67
+ 'get_node_info({nodeType: "nodes-base.httpRequest"}) - 300+ properties for HTTP requests',
68
+ 'get_node_info({nodeType: "nodes-base.googleSheets"}) - Complex operations and auth',
69
+ '// When to use get_node_info:',
70
+ '// 1. First try essentials',
71
+ 'const essentials = get_node_essentials({nodeType: "nodes-base.slack"});',
72
+ '// 2. If property missing, search for it',
73
+ 'const props = search_node_properties({nodeType: "nodes-base.slack", query: "thread"});',
74
+ '// 3. Only if needed, get full schema',
75
+ 'const full = get_node_info({nodeType: "nodes-base.slack"});'
76
+ ],
77
+ useCases: [
78
+ 'Analyzing all available operations for a node',
79
+ 'Understanding complex property dependencies',
80
+ 'Discovering all authentication methods',
81
+ 'Building UI that shows all node options',
82
+ 'Debugging property visibility conditions'
83
+ ],
84
+ performance: '100-500ms depending on node complexity. HTTP Request node: ~300KB, Simple nodes: ~50KB',
85
+ bestPractices: [
86
+ 'Always try get_node_essentials first - it\'s 95% smaller',
87
+ 'Use search_node_properties to find specific advanced properties',
88
+ 'Cache results locally - schemas rarely change',
89
+ 'Parse incrementally - don\'t load entire response into memory at once'
90
+ ],
91
+ pitfalls: [
92
+ 'Response can exceed 500KB for complex nodes',
93
+ 'Contains many rarely-used properties that add noise',
94
+ 'Property conditions can be deeply nested and complex',
95
+ 'Must use full node type with prefix (nodes-base.X not just X)'
96
+ ],
97
+ relatedTools: ['get_node_essentials for common properties', 'search_node_properties to find specific fields', 'get_property_dependencies to understand conditions']
98
+ }
99
+ };
100
+ //# sourceMappingURL=get-node-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-node-info.js","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/configuration/get-node-info.ts"],"names":[],"mappings":";;;AAEa,QAAA,cAAc,GAAsB;IAC/C,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE;QACV,WAAW,EAAE,8PAA8P;QAC3Q,aAAa,EAAE,CAAC,UAAU,CAAC;QAC3B,OAAO,EAAE,+CAA+C;QACxD,WAAW,EAAE,8BAA8B;QAC3C,IAAI,EAAE;YACJ,6CAA6C;YAC7C,sCAAsC;YACtC,mCAAmC;SACpC;KACF;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,+QAA+Q;QAC5R,UAAU,EAAE;YACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,8GAA8G,EAAE;SAC1K;QACD,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0CX;QACE,QAAQ,EAAE;YACR,yFAAyF;YACzF,oFAAoF;YACpF,+BAA+B;YAC/B,4BAA4B;YAC5B,yEAAyE;YACzE,0CAA0C;YAC1C,wFAAwF;YACxF,uCAAuC;YACvC,6DAA6D;SAC9D;QACD,QAAQ,EAAE;YACR,+CAA+C;YAC/C,6CAA6C;YAC7C,wCAAwC;YACxC,yCAAyC;YACzC,0CAA0C;SAC3C;QACD,WAAW,EAAE,wFAAwF;QACrG,aAAa,EAAE;YACb,0DAA0D;YAC1D,iEAAiE;YACjE,+CAA+C;YAC/C,uEAAuE;SACxE;QACD,QAAQ,EAAE;YACR,6CAA6C;YAC7C,qDAAqD;YACrD,sDAAsD;YACtD,+DAA+D;SAChE;QACD,YAAY,EAAE,CAAC,2CAA2C,EAAE,gDAAgD,EAAE,oDAAoD,CAAC;KACpK;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ToolDocumentation } from '../types';
2
+ export declare const getPropertyDependenciesDoc: ToolDocumentation;
3
+ //# sourceMappingURL=get-property-dependencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-property-dependencies.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tool-docs/configuration/get-property-dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,0BAA0B,EAAE,iBA4ExC,CAAC"}