n8n-mcp 2.7.7

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 (375) hide show
  1. package/.env.example +79 -0
  2. package/LICENSE +21 -0
  3. package/README.md +670 -0
  4. package/data/nodes.db +0 -0
  5. package/dist/config/n8n-api.d.ts +9 -0
  6. package/dist/config/n8n-api.d.ts.map +1 -0
  7. package/dist/config/n8n-api.js +41 -0
  8. package/dist/config/n8n-api.js.map +1 -0
  9. package/dist/database/database-adapter.d.ts +32 -0
  10. package/dist/database/database-adapter.d.ts.map +1 -0
  11. package/dist/database/database-adapter.js +328 -0
  12. package/dist/database/database-adapter.js.map +1 -0
  13. package/dist/database/node-repository.d.ts +11 -0
  14. package/dist/database/node-repository.d.ts.map +1 -0
  15. package/dist/database/node-repository.js +67 -0
  16. package/dist/database/node-repository.js.map +1 -0
  17. package/dist/http-server-single-session.d.ts +21 -0
  18. package/dist/http-server-single-session.d.ts.map +1 -0
  19. package/dist/http-server-single-session.js +279 -0
  20. package/dist/http-server-single-session.js.map +1 -0
  21. package/dist/http-server.d.ts +9 -0
  22. package/dist/http-server.d.ts.map +1 -0
  23. package/dist/http-server.js +342 -0
  24. package/dist/http-server.js.map +1 -0
  25. package/dist/index.d.ts +7 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +17 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/loaders/node-loader.d.ts +11 -0
  30. package/dist/loaders/node-loader.d.ts.map +1 -0
  31. package/dist/loaders/node-loader.js +79 -0
  32. package/dist/loaders/node-loader.js.map +1 -0
  33. package/dist/mappers/docs-mapper.d.ts +6 -0
  34. package/dist/mappers/docs-mapper.d.ts.map +1 -0
  35. package/dist/mappers/docs-mapper.js +59 -0
  36. package/dist/mappers/docs-mapper.js.map +1 -0
  37. package/dist/mcp/absolute-minimal.d.ts +4 -0
  38. package/dist/mcp/absolute-minimal.d.ts.map +1 -0
  39. package/dist/mcp/absolute-minimal.js +34 -0
  40. package/dist/mcp/absolute-minimal.js.map +1 -0
  41. package/dist/mcp/fixed-protocol.d.ts +17 -0
  42. package/dist/mcp/fixed-protocol.d.ts.map +1 -0
  43. package/dist/mcp/fixed-protocol.js +162 -0
  44. package/dist/mcp/fixed-protocol.js.map +1 -0
  45. package/dist/mcp/handlers-documentation.d.ts +18 -0
  46. package/dist/mcp/handlers-documentation.d.ts.map +1 -0
  47. package/dist/mcp/handlers-documentation.js +113 -0
  48. package/dist/mcp/handlers-documentation.js.map +1 -0
  49. package/dist/mcp/handlers-n8n-manager.d.ts +21 -0
  50. package/dist/mcp/handlers-n8n-manager.d.ts.map +1 -0
  51. package/dist/mcp/handlers-n8n-manager.js +827 -0
  52. package/dist/mcp/handlers-n8n-manager.js.map +1 -0
  53. package/dist/mcp/handlers-workflow-diff.d.ts +3 -0
  54. package/dist/mcp/handlers-workflow-diff.d.ts.map +1 -0
  55. package/dist/mcp/handlers-workflow-diff.js +125 -0
  56. package/dist/mcp/handlers-workflow-diff.js.map +1 -0
  57. package/dist/mcp/index.d.ts +3 -0
  58. package/dist/mcp/index.d.ts.map +1 -0
  59. package/dist/mcp/index.js +106 -0
  60. package/dist/mcp/index.js.map +1 -0
  61. package/dist/mcp/minimal-test.d.ts +3 -0
  62. package/dist/mcp/minimal-test.d.ts.map +1 -0
  63. package/dist/mcp/minimal-test.js +83 -0
  64. package/dist/mcp/minimal-test.js.map +1 -0
  65. package/dist/mcp/server.d.ts +42 -0
  66. package/dist/mcp/server.d.ts.map +1 -0
  67. package/dist/mcp/server.js +1258 -0
  68. package/dist/mcp/server.js.map +1 -0
  69. package/dist/mcp/stderr-test.d.ts +2 -0
  70. package/dist/mcp/stderr-test.d.ts.map +1 -0
  71. package/dist/mcp/stderr-test.js +32 -0
  72. package/dist/mcp/stderr-test.js.map +1 -0
  73. package/dist/mcp/stdio-wrapper.d.ts +3 -0
  74. package/dist/mcp/stdio-wrapper.d.ts.map +1 -0
  75. package/dist/mcp/stdio-wrapper.js +52 -0
  76. package/dist/mcp/stdio-wrapper.js.map +1 -0
  77. package/dist/mcp/tools-documentation.d.ts +34 -0
  78. package/dist/mcp/tools-documentation.d.ts.map +1 -0
  79. package/dist/mcp/tools-documentation.js +609 -0
  80. package/dist/mcp/tools-documentation.js.map +1 -0
  81. package/dist/mcp/tools-n8n-manager.d.ts +3 -0
  82. package/dist/mcp/tools-n8n-manager.d.ts.map +1 -0
  83. package/dist/mcp/tools-n8n-manager.js +496 -0
  84. package/dist/mcp/tools-n8n-manager.js.map +1 -0
  85. package/dist/mcp/tools.d.ts +3 -0
  86. package/dist/mcp/tools.d.ts.map +1 -0
  87. package/dist/mcp/tools.js +405 -0
  88. package/dist/mcp/tools.js.map +1 -0
  89. package/dist/mcp/ultra-minimal.d.ts +8 -0
  90. package/dist/mcp/ultra-minimal.d.ts.map +1 -0
  91. package/dist/mcp/ultra-minimal.js +93 -0
  92. package/dist/mcp/ultra-minimal.js.map +1 -0
  93. package/dist/mcp/working-test.d.ts +3 -0
  94. package/dist/mcp/working-test.d.ts.map +1 -0
  95. package/dist/mcp/working-test.js +48 -0
  96. package/dist/mcp/working-test.js.map +1 -0
  97. package/dist/mcp/wrapper.sh +28 -0
  98. package/dist/mcp-engine.d.ts +32 -0
  99. package/dist/mcp-engine.d.ts.map +1 -0
  100. package/dist/mcp-engine.js +63 -0
  101. package/dist/mcp-engine.js.map +1 -0
  102. package/dist/n8n/MCPApi.credentials.d.ts +8 -0
  103. package/dist/n8n/MCPApi.credentials.d.ts.map +1 -0
  104. package/dist/n8n/MCPApi.credentials.js +53 -0
  105. package/dist/n8n/MCPApi.credentials.js.map +1 -0
  106. package/dist/n8n/MCPNode.node.d.ts +13 -0
  107. package/dist/n8n/MCPNode.node.d.ts.map +1 -0
  108. package/dist/n8n/MCPNode.node.js +260 -0
  109. package/dist/n8n/MCPNode.node.js.map +1 -0
  110. package/dist/parsers/node-parser.d.ts +30 -0
  111. package/dist/parsers/node-parser.d.ts.map +1 -0
  112. package/dist/parsers/node-parser.js +152 -0
  113. package/dist/parsers/node-parser.js.map +1 -0
  114. package/dist/parsers/property-extractor.d.ts +10 -0
  115. package/dist/parsers/property-extractor.d.ts.map +1 -0
  116. package/dist/parsers/property-extractor.js +155 -0
  117. package/dist/parsers/property-extractor.js.map +1 -0
  118. package/dist/parsers/simple-parser.d.ts +24 -0
  119. package/dist/parsers/simple-parser.d.ts.map +1 -0
  120. package/dist/parsers/simple-parser.js +160 -0
  121. package/dist/parsers/simple-parser.js.map +1 -0
  122. package/dist/scripts/debug-n8n-auth.d.ts +3 -0
  123. package/dist/scripts/debug-n8n-auth.d.ts.map +1 -0
  124. package/dist/scripts/debug-n8n-auth.js +97 -0
  125. package/dist/scripts/debug-n8n-auth.js.map +1 -0
  126. package/dist/scripts/debug-node.d.ts +3 -0
  127. package/dist/scripts/debug-node.d.ts.map +1 -0
  128. package/dist/scripts/debug-node.js +59 -0
  129. package/dist/scripts/debug-node.js.map +1 -0
  130. package/dist/scripts/extract-from-docker.d.ts +3 -0
  131. package/dist/scripts/extract-from-docker.d.ts.map +1 -0
  132. package/dist/scripts/extract-from-docker.js +210 -0
  133. package/dist/scripts/extract-from-docker.js.map +1 -0
  134. package/dist/scripts/fetch-templates-robust.d.ts +4 -0
  135. package/dist/scripts/fetch-templates-robust.d.ts.map +1 -0
  136. package/dist/scripts/fetch-templates-robust.js +126 -0
  137. package/dist/scripts/fetch-templates-robust.js.map +1 -0
  138. package/dist/scripts/fetch-templates.d.ts +4 -0
  139. package/dist/scripts/fetch-templates.d.ts.map +1 -0
  140. package/dist/scripts/fetch-templates.js +94 -0
  141. package/dist/scripts/fetch-templates.js.map +1 -0
  142. package/dist/scripts/rebuild-database.d.ts +4 -0
  143. package/dist/scripts/rebuild-database.d.ts.map +1 -0
  144. package/dist/scripts/rebuild-database.js +95 -0
  145. package/dist/scripts/rebuild-database.js.map +1 -0
  146. package/dist/scripts/rebuild-optimized.d.ts +3 -0
  147. package/dist/scripts/rebuild-optimized.d.ts.map +1 -0
  148. package/dist/scripts/rebuild-optimized.js +198 -0
  149. package/dist/scripts/rebuild-optimized.js.map +1 -0
  150. package/dist/scripts/rebuild.d.ts +3 -0
  151. package/dist/scripts/rebuild.d.ts.map +1 -0
  152. package/dist/scripts/rebuild.js +163 -0
  153. package/dist/scripts/rebuild.js.map +1 -0
  154. package/dist/scripts/sanitize-templates.d.ts +3 -0
  155. package/dist/scripts/sanitize-templates.d.ts.map +1 -0
  156. package/dist/scripts/sanitize-templates.js +56 -0
  157. package/dist/scripts/sanitize-templates.js.map +1 -0
  158. package/dist/scripts/test-ai-workflow-validation.d.ts +3 -0
  159. package/dist/scripts/test-ai-workflow-validation.d.ts.map +1 -0
  160. package/dist/scripts/test-ai-workflow-validation.js +191 -0
  161. package/dist/scripts/test-ai-workflow-validation.js.map +1 -0
  162. package/dist/scripts/test-api-headers.d.ts +3 -0
  163. package/dist/scripts/test-api-headers.d.ts.map +1 -0
  164. package/dist/scripts/test-api-headers.js +35 -0
  165. package/dist/scripts/test-api-headers.js.map +1 -0
  166. package/dist/scripts/test-docker-config-simulation.d.ts +3 -0
  167. package/dist/scripts/test-docker-config-simulation.d.ts.map +1 -0
  168. package/dist/scripts/test-docker-config-simulation.js +74 -0
  169. package/dist/scripts/test-docker-config-simulation.js.map +1 -0
  170. package/dist/scripts/test-enhanced-validation.d.ts +3 -0
  171. package/dist/scripts/test-enhanced-validation.d.ts.map +1 -0
  172. package/dist/scripts/test-enhanced-validation.js +117 -0
  173. package/dist/scripts/test-enhanced-validation.js.map +1 -0
  174. package/dist/scripts/test-lazy-config.d.ts +3 -0
  175. package/dist/scripts/test-lazy-config.d.ts.map +1 -0
  176. package/dist/scripts/test-lazy-config.js +60 -0
  177. package/dist/scripts/test-lazy-config.js.map +1 -0
  178. package/dist/scripts/test-limited-results.d.ts +3 -0
  179. package/dist/scripts/test-limited-results.d.ts.map +1 -0
  180. package/dist/scripts/test-limited-results.js +76 -0
  181. package/dist/scripts/test-limited-results.js.map +1 -0
  182. package/dist/scripts/test-mcp-n8n-update-partial.d.ts +3 -0
  183. package/dist/scripts/test-mcp-n8n-update-partial.d.ts.map +1 -0
  184. package/dist/scripts/test-mcp-n8n-update-partial.js +138 -0
  185. package/dist/scripts/test-mcp-n8n-update-partial.js.map +1 -0
  186. package/dist/scripts/test-mcp-tools.d.ts +3 -0
  187. package/dist/scripts/test-mcp-tools.d.ts.map +1 -0
  188. package/dist/scripts/test-mcp-tools.js +36 -0
  189. package/dist/scripts/test-mcp-tools.js.map +1 -0
  190. package/dist/scripts/test-n8n-manager-integration.d.ts +3 -0
  191. package/dist/scripts/test-n8n-manager-integration.d.ts.map +1 -0
  192. package/dist/scripts/test-n8n-manager-integration.js +122 -0
  193. package/dist/scripts/test-n8n-manager-integration.js.map +1 -0
  194. package/dist/scripts/test-n8n-validate-workflow.d.ts +3 -0
  195. package/dist/scripts/test-n8n-validate-workflow.d.ts.map +1 -0
  196. package/dist/scripts/test-n8n-validate-workflow.js +125 -0
  197. package/dist/scripts/test-n8n-validate-workflow.js.map +1 -0
  198. package/dist/scripts/test-nodes.d.ts +3 -0
  199. package/dist/scripts/test-nodes.d.ts.map +1 -0
  200. package/dist/scripts/test-nodes.js +91 -0
  201. package/dist/scripts/test-nodes.js.map +1 -0
  202. package/dist/scripts/test-single-workflow.d.ts +3 -0
  203. package/dist/scripts/test-single-workflow.d.ts.map +1 -0
  204. package/dist/scripts/test-single-workflow.js +112 -0
  205. package/dist/scripts/test-single-workflow.js.map +1 -0
  206. package/dist/scripts/test-template-validation.d.ts +3 -0
  207. package/dist/scripts/test-template-validation.d.ts.map +1 -0
  208. package/dist/scripts/test-template-validation.js +142 -0
  209. package/dist/scripts/test-template-validation.js.map +1 -0
  210. package/dist/scripts/test-templates.d.ts +4 -0
  211. package/dist/scripts/test-templates.d.ts.map +1 -0
  212. package/dist/scripts/test-templates.js +99 -0
  213. package/dist/scripts/test-templates.js.map +1 -0
  214. package/dist/scripts/test-transactional-diff.d.ts +2 -0
  215. package/dist/scripts/test-transactional-diff.d.ts.map +1 -0
  216. package/dist/scripts/test-transactional-diff.js +240 -0
  217. package/dist/scripts/test-transactional-diff.js.map +1 -0
  218. package/dist/scripts/test-update-partial-debug.d.ts +3 -0
  219. package/dist/scripts/test-update-partial-debug.d.ts.map +1 -0
  220. package/dist/scripts/test-update-partial-debug.js +92 -0
  221. package/dist/scripts/test-update-partial-debug.js.map +1 -0
  222. package/dist/scripts/test-version-extraction.d.ts +2 -0
  223. package/dist/scripts/test-version-extraction.d.ts.map +1 -0
  224. package/dist/scripts/test-version-extraction.js +74 -0
  225. package/dist/scripts/test-version-extraction.js.map +1 -0
  226. package/dist/scripts/test-workflow-diff.d.ts +3 -0
  227. package/dist/scripts/test-workflow-diff.d.ts.map +1 -0
  228. package/dist/scripts/test-workflow-diff.js +328 -0
  229. package/dist/scripts/test-workflow-diff.js.map +1 -0
  230. package/dist/scripts/test-workflow-validation.d.ts +3 -0
  231. package/dist/scripts/test-workflow-validation.d.ts.map +1 -0
  232. package/dist/scripts/test-workflow-validation.js +238 -0
  233. package/dist/scripts/test-workflow-validation.js.map +1 -0
  234. package/dist/scripts/validate.d.ts +3 -0
  235. package/dist/scripts/validate.d.ts.map +1 -0
  236. package/dist/scripts/validate.js +121 -0
  237. package/dist/scripts/validate.js.map +1 -0
  238. package/dist/scripts/validation-summary.d.ts +3 -0
  239. package/dist/scripts/validation-summary.d.ts.map +1 -0
  240. package/dist/scripts/validation-summary.js +135 -0
  241. package/dist/scripts/validation-summary.js.map +1 -0
  242. package/dist/services/config-validator.d.ts +39 -0
  243. package/dist/services/config-validator.d.ts.map +1 -0
  244. package/dist/services/config-validator.js +376 -0
  245. package/dist/services/config-validator.js.map +1 -0
  246. package/dist/services/enhanced-config-validator.d.ts +38 -0
  247. package/dist/services/enhanced-config-validator.d.ts.map +1 -0
  248. package/dist/services/enhanced-config-validator.js +300 -0
  249. package/dist/services/enhanced-config-validator.js.map +1 -0
  250. package/dist/services/example-generator.d.ts +14 -0
  251. package/dist/services/example-generator.d.ts.map +1 -0
  252. package/dist/services/example-generator.js +556 -0
  253. package/dist/services/example-generator.js.map +1 -0
  254. package/dist/services/expression-validator.d.ts +27 -0
  255. package/dist/services/expression-validator.d.ts.map +1 -0
  256. package/dist/services/expression-validator.js +163 -0
  257. package/dist/services/expression-validator.js.map +1 -0
  258. package/dist/services/n8n-api-client.d.ts +39 -0
  259. package/dist/services/n8n-api-client.d.ts.map +1 -0
  260. package/dist/services/n8n-api-client.js +326 -0
  261. package/dist/services/n8n-api-client.js.map +1 -0
  262. package/dist/services/n8n-validation.d.ts +127 -0
  263. package/dist/services/n8n-validation.d.ts.map +1 -0
  264. package/dist/services/n8n-validation.js +238 -0
  265. package/dist/services/n8n-validation.js.map +1 -0
  266. package/dist/services/node-documentation-service.d.ts +70 -0
  267. package/dist/services/node-documentation-service.d.ts.map +1 -0
  268. package/dist/services/node-documentation-service.js +518 -0
  269. package/dist/services/node-documentation-service.js.map +1 -0
  270. package/dist/services/node-specific-validators.d.ts +28 -0
  271. package/dist/services/node-specific-validators.d.ts.map +1 -0
  272. package/dist/services/node-specific-validators.js +666 -0
  273. package/dist/services/node-specific-validators.js.map +1 -0
  274. package/dist/services/property-dependencies.d.ts +36 -0
  275. package/dist/services/property-dependencies.d.ts.map +1 -0
  276. package/dist/services/property-dependencies.js +168 -0
  277. package/dist/services/property-dependencies.js.map +1 -0
  278. package/dist/services/property-filter.d.ts +39 -0
  279. package/dist/services/property-filter.d.ts.map +1 -0
  280. package/dist/services/property-filter.js +362 -0
  281. package/dist/services/property-filter.js.map +1 -0
  282. package/dist/services/task-templates.d.ts +26 -0
  283. package/dist/services/task-templates.d.ts.map +1 -0
  284. package/dist/services/task-templates.js +555 -0
  285. package/dist/services/task-templates.js.map +1 -0
  286. package/dist/services/workflow-diff-engine.d.ts +31 -0
  287. package/dist/services/workflow-diff-engine.d.ts.map +1 -0
  288. package/dist/services/workflow-diff-engine.js +478 -0
  289. package/dist/services/workflow-diff-engine.js.map +1 -0
  290. package/dist/services/workflow-validator.d.ts +87 -0
  291. package/dist/services/workflow-validator.d.ts.map +1 -0
  292. package/dist/services/workflow-validator.js +656 -0
  293. package/dist/services/workflow-validator.js.map +1 -0
  294. package/dist/templates/template-fetcher.d.ts +41 -0
  295. package/dist/templates/template-fetcher.d.ts.map +1 -0
  296. package/dist/templates/template-fetcher.js +94 -0
  297. package/dist/templates/template-fetcher.js.map +1 -0
  298. package/dist/templates/template-repository.d.ts +34 -0
  299. package/dist/templates/template-repository.d.ts.map +1 -0
  300. package/dist/templates/template-repository.js +121 -0
  301. package/dist/templates/template-repository.js.map +1 -0
  302. package/dist/templates/template-service.d.ts +31 -0
  303. package/dist/templates/template-service.d.ts.map +1 -0
  304. package/dist/templates/template-service.js +131 -0
  305. package/dist/templates/template-service.js.map +1 -0
  306. package/dist/types/index.d.ts +31 -0
  307. package/dist/types/index.d.ts.map +1 -0
  308. package/dist/types/index.js +3 -0
  309. package/dist/types/index.js.map +1 -0
  310. package/dist/types/n8n-api.d.ts +241 -0
  311. package/dist/types/n8n-api.d.ts.map +1 -0
  312. package/dist/types/n8n-api.js +10 -0
  313. package/dist/types/n8n-api.js.map +1 -0
  314. package/dist/types/workflow-diff.d.ts +113 -0
  315. package/dist/types/workflow-diff.d.ts.map +1 -0
  316. package/dist/types/workflow-diff.js +15 -0
  317. package/dist/types/workflow-diff.js.map +1 -0
  318. package/dist/utils/auth.d.ts +12 -0
  319. package/dist/utils/auth.d.ts.map +1 -0
  320. package/dist/utils/auth.js +66 -0
  321. package/dist/utils/auth.js.map +1 -0
  322. package/dist/utils/bridge.d.ts +12 -0
  323. package/dist/utils/bridge.d.ts.map +1 -0
  324. package/dist/utils/bridge.js +127 -0
  325. package/dist/utils/bridge.js.map +1 -0
  326. package/dist/utils/console-manager.d.ts +10 -0
  327. package/dist/utils/console-manager.d.ts.map +1 -0
  328. package/dist/utils/console-manager.js +63 -0
  329. package/dist/utils/console-manager.js.map +1 -0
  330. package/dist/utils/documentation-fetcher.d.ts +2 -0
  331. package/dist/utils/documentation-fetcher.d.ts.map +1 -0
  332. package/dist/utils/documentation-fetcher.js +18 -0
  333. package/dist/utils/documentation-fetcher.js.map +1 -0
  334. package/dist/utils/enhanced-documentation-fetcher.d.ts +73 -0
  335. package/dist/utils/enhanced-documentation-fetcher.d.ts.map +1 -0
  336. package/dist/utils/enhanced-documentation-fetcher.js +397 -0
  337. package/dist/utils/enhanced-documentation-fetcher.js.map +1 -0
  338. package/dist/utils/error-handler.d.ts +24 -0
  339. package/dist/utils/error-handler.d.ts.map +1 -0
  340. package/dist/utils/error-handler.js +84 -0
  341. package/dist/utils/error-handler.js.map +1 -0
  342. package/dist/utils/example-generator.d.ts +8 -0
  343. package/dist/utils/example-generator.d.ts.map +1 -0
  344. package/dist/utils/example-generator.js +106 -0
  345. package/dist/utils/example-generator.js.map +1 -0
  346. package/dist/utils/logger.d.ts +32 -0
  347. package/dist/utils/logger.d.ts.map +1 -0
  348. package/dist/utils/logger.js +97 -0
  349. package/dist/utils/logger.js.map +1 -0
  350. package/dist/utils/mcp-client.d.ts +21 -0
  351. package/dist/utils/mcp-client.d.ts.map +1 -0
  352. package/dist/utils/mcp-client.js +96 -0
  353. package/dist/utils/mcp-client.js.map +1 -0
  354. package/dist/utils/n8n-errors.d.ts +25 -0
  355. package/dist/utils/n8n-errors.d.ts.map +1 -0
  356. package/dist/utils/n8n-errors.js +129 -0
  357. package/dist/utils/n8n-errors.js.map +1 -0
  358. package/dist/utils/node-source-extractor.d.ts +21 -0
  359. package/dist/utils/node-source-extractor.d.ts.map +1 -0
  360. package/dist/utils/node-source-extractor.js +377 -0
  361. package/dist/utils/node-source-extractor.js.map +1 -0
  362. package/dist/utils/simple-cache.d.ts +8 -0
  363. package/dist/utils/simple-cache.d.ts.map +1 -0
  364. package/dist/utils/simple-cache.js +34 -0
  365. package/dist/utils/simple-cache.js.map +1 -0
  366. package/dist/utils/template-sanitizer.d.ts +21 -0
  367. package/dist/utils/template-sanitizer.d.ts.map +1 -0
  368. package/dist/utils/template-sanitizer.js +108 -0
  369. package/dist/utils/template-sanitizer.js.map +1 -0
  370. package/dist/utils/version.d.ts +2 -0
  371. package/dist/utils/version.d.ts.map +1 -0
  372. package/dist/utils/version.js +18 -0
  373. package/dist/utils/version.js.map +1 -0
  374. package/package.json +100 -0
  375. package/package.runtime.json +19 -0
package/README.md ADDED
@@ -0,0 +1,670 @@
1
+ # n8n-MCP
2
+
3
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
4
+ [![GitHub stars](https://img.shields.io/github/stars/czlonkowski/n8n-mcp?style=social)](https://github.com/czlonkowski/n8n-mcp)
5
+ [![Version](https://img.shields.io/badge/version-2.7.4-blue.svg)](https://github.com/czlonkowski/n8n-mcp)
6
+ [![Docker](https://img.shields.io/badge/docker-ghcr.io%2Fczlonkowski%2Fn8n--mcp-green.svg)](https://github.com/czlonkowski/n8n-mcp/pkgs/container/n8n-mcp)
7
+
8
+ A Model Context Protocol (MCP) server that provides AI assistants with comprehensive access to n8n node documentation, properties, and operations. Deploy in minutes to give Claude and other AI assistants deep knowledge about n8n's 525+ workflow automation nodes.
9
+
10
+ ## Overview
11
+
12
+ n8n-MCP serves as a bridge between n8n's workflow automation platform and AI models, enabling them to understand and work with n8n nodes effectively. It provides structured access to:
13
+
14
+ - 📚 **525 n8n nodes** from both n8n-nodes-base and @n8n/n8n-nodes-langchain
15
+ - 🔧 **Node properties** - 99% coverage with detailed schemas
16
+ - ⚡ **Node operations** - 63.6% coverage of available actions
17
+ - 📄 **Documentation** - 90% coverage from official n8n docs (including AI nodes)
18
+ - 🤖 **AI tools** - 263 AI-capable nodes detected with full documentation
19
+
20
+
21
+ ## 🚀 Quick Start
22
+
23
+ Get n8n-MCP running in 5 minutes:
24
+
25
+ ### Option 1: npx (Fastest - No Installation!) 🚀
26
+
27
+ **Prerequisites:** [Node.js](https://nodejs.org/) installed on your system
28
+
29
+ ```bash
30
+ # Run directly with npx (no installation needed!)
31
+ npx n8n-mcp
32
+ ```
33
+
34
+ Add to Claude Desktop config:
35
+
36
+ **Basic configuration (documentation tools only):**
37
+ ```json
38
+ {
39
+ "mcpServers": {
40
+ "n8n-mcp": {
41
+ "command": "npx",
42
+ "args": ["n8n-mcp"],
43
+ "env": {
44
+ "MCP_MODE": "stdio",
45
+ "LOG_LEVEL": "error",
46
+ "DISABLE_CONSOLE_OUTPUT": "true"
47
+ }
48
+ }
49
+ }
50
+ }
51
+ ```
52
+
53
+ **Full configuration (with n8n management tools):**
54
+ ```json
55
+ {
56
+ "mcpServers": {
57
+ "n8n-mcp": {
58
+ "command": "npx",
59
+ "args": ["n8n-mcp"],
60
+ "env": {
61
+ "MCP_MODE": "stdio",
62
+ "LOG_LEVEL": "error",
63
+ "DISABLE_CONSOLE_OUTPUT": "true",
64
+ "N8N_API_URL": "https://your-n8n-instance.com",
65
+ "N8N_API_KEY": "your-api-key"
66
+ }
67
+ }
68
+ }
69
+ }
70
+ ```
71
+
72
+ > **Note**: npx will download and run the latest version automatically. The package includes a pre-built database with all n8n node information.
73
+
74
+ **Configuration file locations:**
75
+ - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
76
+ - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
77
+ - **Linux**: `~/.config/Claude/claude_desktop_config.json`
78
+
79
+ **Restart Claude Desktop after updating configuration** - That's it! 🎉
80
+
81
+ ### Option 2: Docker (Easy & Isolated) 🐳
82
+
83
+ **Prerequisites:** Docker installed on your system
84
+
85
+ <details>
86
+ <summary><strong>📦 Install Docker</strong> (click to expand)</summary>
87
+
88
+ **macOS:**
89
+ ```bash
90
+ # Using Homebrew
91
+ brew install --cask docker
92
+
93
+ # Or download from https://www.docker.com/products/docker-desktop/
94
+ ```
95
+
96
+ **Linux (Ubuntu/Debian):**
97
+ ```bash
98
+ # Update package index
99
+ sudo apt-get update
100
+
101
+ # Install Docker
102
+ sudo apt-get install docker.io
103
+
104
+ # Start Docker service
105
+ sudo systemctl start docker
106
+ sudo systemctl enable docker
107
+
108
+ # Add your user to docker group (optional, to run without sudo)
109
+ sudo usermod -aG docker $USER
110
+ # Log out and back in for this to take effect
111
+ ```
112
+
113
+ **Windows:**
114
+ ```bash
115
+ # Option 1: Using winget (Windows Package Manager)
116
+ winget install Docker.DockerDesktop
117
+
118
+ # Option 2: Using Chocolatey
119
+ choco install docker-desktop
120
+
121
+ # Option 3: Download installer from https://www.docker.com/products/docker-desktop/
122
+ ```
123
+
124
+ **Verify installation:**
125
+ ```bash
126
+ docker --version
127
+ ```
128
+ </details>
129
+
130
+ ```bash
131
+ # Pull the Docker image (~280MB, no n8n dependencies!)
132
+ docker pull ghcr.io/czlonkowski/n8n-mcp:latest
133
+ ```
134
+
135
+ > **⚡ Ultra-optimized:** Our Docker image is 82% smaller than typical n8n images because it contains NO n8n dependencies - just the runtime MCP server with a pre-built database!
136
+
137
+ Add to Claude Desktop config:
138
+
139
+ **Basic configuration (documentation tools only):**
140
+ ```json
141
+ {
142
+ "mcpServers": {
143
+ "n8n-mcp": {
144
+ "command": "docker",
145
+ "args": [
146
+ "run",
147
+ "-i",
148
+ "--rm",
149
+ "-e", "MCP_MODE=stdio",
150
+ "-e", "LOG_LEVEL=error",
151
+ "-e", "DISABLE_CONSOLE_OUTPUT=true",
152
+ "ghcr.io/czlonkowski/n8n-mcp:latest"
153
+ ]
154
+ }
155
+ }
156
+ }
157
+ ```
158
+
159
+ **Full configuration (with n8n management tools):**
160
+ ```json
161
+ {
162
+ "mcpServers": {
163
+ "n8n-mcp": {
164
+ "command": "docker",
165
+ "args": [
166
+ "run",
167
+ "-i",
168
+ "--rm",
169
+ "-e", "MCP_MODE=stdio",
170
+ "-e", "LOG_LEVEL=error",
171
+ "-e", "DISABLE_CONSOLE_OUTPUT=true",
172
+ "-e", "N8N_API_URL=https://your-n8n-instance.com",
173
+ "-e", "N8N_API_KEY=your-api-key",
174
+ "ghcr.io/czlonkowski/n8n-mcp:latest"
175
+ ]
176
+ }
177
+ }
178
+ }
179
+ ```
180
+
181
+ >💡 Tip: If you’re running n8n locally on the same machine (e.g., via Docker), use http://host.docker.internal:5678 as the N8N_API_URL.
182
+
183
+ > **Note**: The n8n API credentials are optional. Without them, you'll have access to all documentation and validation tools. With them, you'll additionally get workflow management capabilities (create, update, execute workflows).
184
+
185
+ **Important:** The `-i` flag is required for MCP stdio communication.
186
+
187
+ **Configuration file locations:**
188
+ - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
189
+ - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
190
+ - **Linux**: `~/.config/Claude/claude_desktop_config.json`
191
+
192
+ **Restart Claude Desktop after updating configuration** - That's it! 🎉
193
+
194
+ ### Option 3: Local Installation (For Development)
195
+
196
+ **Prerequisites:** [Node.js](https://nodejs.org/) installed on your system
197
+
198
+ ```bash
199
+ # 1. Clone and setup
200
+ git clone https://github.com/czlonkowski/n8n-mcp.git
201
+ cd n8n-mcp
202
+ npm install
203
+ npm run build
204
+ npm run rebuild
205
+
206
+ # 2. Test it works
207
+ npm start
208
+ ```
209
+
210
+ Add to Claude Desktop config:
211
+
212
+ **Basic configuration (documentation tools only):**
213
+ ```json
214
+ {
215
+ "mcpServers": {
216
+ "n8n-mcp": {
217
+ "command": "node",
218
+ "args": ["/absolute/path/to/n8n-mcp/dist/mcp/index.js"],
219
+ "env": {
220
+ "MCP_MODE": "stdio",
221
+ "LOG_LEVEL": "error",
222
+ "DISABLE_CONSOLE_OUTPUT": "true"
223
+ }
224
+ }
225
+ }
226
+ }
227
+ ```
228
+
229
+ **Full configuration (with n8n management tools):**
230
+ ```json
231
+ {
232
+ "mcpServers": {
233
+ "n8n-mcp": {
234
+ "command": "node",
235
+ "args": ["/absolute/path/to/n8n-mcp/dist/mcp/index.js"],
236
+ "env": {
237
+ "MCP_MODE": "stdio",
238
+ "LOG_LEVEL": "error",
239
+ "DISABLE_CONSOLE_OUTPUT": "true",
240
+ "N8N_API_URL": "https://your-n8n-instance.com",
241
+ "N8N_API_KEY": "your-api-key"
242
+ }
243
+ }
244
+ }
245
+ }
246
+ ```
247
+
248
+ > **Note**: The n8n API credentials can be configured either in a `.env` file (create from `.env.example`) or directly in the Claude config as shown above.
249
+
250
+ > 💡 Tip: If you’re running n8n locally on the same machine (e.g., via Docker), use http://host.docker.internal:5678 as the N8N_API_URL.
251
+
252
+ ## 🤖 Claude Project Setup
253
+
254
+ For the best results when using n8n-MCP with Claude Projects, use these enhanced system instructions:
255
+
256
+ ```markdown
257
+ You are an expert in n8n automation software using n8n-MCP tools. Your role is to design, build, and validate n8n workflows with maximum accuracy and efficiency.
258
+
259
+ ## Core Workflow Process
260
+
261
+ 1. **ALWAYS start with**: `tools_documentation()` to understand best practices and available tools.
262
+
263
+ 2. **Discovery Phase** - Find the right nodes:
264
+ - `search_nodes({query: 'keyword'})` - Search by functionality
265
+ - `list_nodes({category: 'trigger'})` - Browse by category
266
+ - `list_ai_tools()` - See AI-capable nodes (remember: ANY node can be an AI tool!)
267
+
268
+ 3. **Configuration Phase** - Get node details efficiently:
269
+ - `get_node_essentials(nodeType)` - Start here! Only 10-20 essential properties
270
+ - `search_node_properties(nodeType, 'auth')` - Find specific properties
271
+ - `get_node_for_task('send_email')` - Get pre-configured templates
272
+ - `get_node_documentation(nodeType)` - Human-readable docs when needed
273
+
274
+ 4. **Pre-Validation Phase** - Validate BEFORE building:
275
+ - `validate_node_minimal(nodeType, config)` - Quick required fields check
276
+ - `validate_node_operation(nodeType, config, profile)` - Full operation-aware validation
277
+ - Fix any validation errors before proceeding
278
+
279
+ 5. **Building Phase** - Create the workflow:
280
+ - Use validated configurations from step 4
281
+ - Connect nodes with proper structure
282
+ - Add error handling where appropriate
283
+ - Use expressions like $json, $node["NodeName"].json
284
+ - Build the workflow in an artifact (unless the user asked to create in n8n instance)
285
+
286
+ 6. **Workflow Validation Phase** - Validate complete workflow:
287
+ - `validate_workflow(workflow)` - Complete validation including connections
288
+ - `validate_workflow_connections(workflow)` - Check structure and AI tool connections
289
+ - `validate_workflow_expressions(workflow)` - Validate all n8n expressions
290
+ - Fix any issues found before deployment
291
+
292
+ 7. **Deployment Phase** (if n8n API configured):
293
+ - `n8n_create_workflow(workflow)` - Deploy validated workflow
294
+ - `n8n_validate_workflow({id: 'workflow-id'})` - Post-deployment validation
295
+ - `n8n_update_partial_workflow()` - Make incremental updates using diffs
296
+ - `n8n_trigger_webhook_workflow()` - Test webhook workflows
297
+
298
+ ## Key Insights
299
+
300
+ - **VALIDATE EARLY AND OFTEN** - Catch errors before they reach production
301
+ - **USE DIFF UPDATES** - Use n8n_update_partial_workflow for 80-90% token savings
302
+ - **ANY node can be an AI tool** - not just those with usableAsTool=true
303
+ - **Pre-validate configurations** - Use validate_node_minimal before building
304
+ - **Post-validate workflows** - Always validate complete workflows before deployment
305
+ - **Incremental updates** - Use diff operations for existing workflows
306
+ - **Test thoroughly** - Validate both locally and after deployment to n8n
307
+
308
+ ## Validation Strategy
309
+
310
+ ### Before Building:
311
+ 1. validate_node_minimal() - Check required fields
312
+ 2. validate_node_operation() - Full configuration validation
313
+ 3. Fix all errors before proceeding
314
+
315
+ ### After Building:
316
+ 1. validate_workflow() - Complete workflow validation
317
+ 2. validate_workflow_connections() - Structure validation
318
+ 3. validate_workflow_expressions() - Expression syntax check
319
+
320
+ ### After Deployment:
321
+ 1. n8n_validate_workflow({id}) - Validate deployed workflow
322
+ 2. n8n_list_executions() - Monitor execution status
323
+ 3. n8n_update_partial_workflow() - Fix issues using diffs
324
+
325
+ ## Response Structure
326
+
327
+ 1. **Discovery**: Show available nodes and options
328
+ 2. **Pre-Validation**: Validate node configurations first
329
+ 3. **Configuration**: Show only validated, working configs
330
+ 4. **Building**: Construct workflow with validated components
331
+ 5. **Workflow Validation**: Full workflow validation results
332
+ 6. **Deployment**: Deploy only after all validations pass
333
+ 7. **Post-Validation**: Verify deployment succeeded
334
+
335
+ ## Example Workflow
336
+
337
+ ### 1. Discovery & Configuration
338
+ search_nodes({query: 'slack'})
339
+ get_node_essentials('n8n-nodes-base.slack')
340
+
341
+ ### 2. Pre-Validation
342
+ validate_node_minimal('n8n-nodes-base.slack', {resource:'message', operation:'send'})
343
+ validate_node_operation('n8n-nodes-base.slack', fullConfig, 'runtime')
344
+
345
+ ### 3. Build Workflow
346
+ // Create workflow JSON with validated configs
347
+
348
+ ### 4. Workflow Validation
349
+ validate_workflow(workflowJson)
350
+ validate_workflow_connections(workflowJson)
351
+ validate_workflow_expressions(workflowJson)
352
+
353
+ ### 5. Deploy (if configured)
354
+ n8n_create_workflow(validatedWorkflow)
355
+ n8n_validate_workflow({id: createdWorkflowId})
356
+
357
+ ### 6. Update Using Diffs
358
+ n8n_update_partial_workflow({
359
+ workflowId: id,
360
+ operations: [
361
+ {type: 'updateNode', nodeId: 'slack1', changes: {position: [100, 200]}}
362
+ ]
363
+ })
364
+
365
+ ## Important Rules
366
+
367
+ - ALWAYS validate before building
368
+ - ALWAYS validate after building
369
+ - NEVER deploy unvalidated workflows
370
+ - USE diff operations for updates (80-90% token savings)
371
+ - STATE validation results clearly
372
+ - FIX all errors before proceeding
373
+ ```
374
+
375
+ Save these instructions in your Claude Project for optimal n8n workflow assistance with comprehensive validation.
376
+
377
+ ## Features
378
+
379
+ - **🔍 Smart Node Search**: Find nodes by name, category, or functionality
380
+ - **📖 Essential Properties**: Get only the 10-20 properties that matter (NEW in v2.4.0)
381
+ - **🎯 Task Templates**: Pre-configured settings for common automation tasks
382
+ - **✅ Config Validation**: Validate node configurations before deployment
383
+ - **🔗 Dependency Analysis**: Understand property relationships and conditions
384
+ - **💡 Working Examples**: Real-world examples for immediate use
385
+ - **⚡ Fast Response**: Average query time ~12ms with optimized SQLite
386
+ - **🌐 Universal Compatibility**: Works with any Node.js version
387
+
388
+ ## 💬 Why n8n-MCP? A Testimonial from Claude
389
+
390
+ > *"Before MCP, I was translating. Now I'm composing. And that changes everything about how we can build automation."*
391
+
392
+ When Claude, Anthropic's AI assistant, tested n8n-MCP, the results were transformative:
393
+
394
+ **Without MCP:** "I was basically playing a guessing game. 'Is it `scheduleTrigger` or `schedule`? Does it take `interval` or `rule`?' I'd write what seemed logical, but n8n has its own conventions that you can't just intuit. I made six different configuration errors in a simple HackerNews scraper."
395
+
396
+ **With MCP:** "Everything just... worked. Instead of guessing, I could ask `get_node_essentials()` and get exactly what I needed - not a 100KB JSON dump, but the actual 5-10 properties that matter. What took 45 minutes now takes 3 minutes."
397
+
398
+ **The Real Value:** "It's about confidence. When you're building automation workflows, uncertainty is expensive. One wrong parameter and your workflow fails at 3 AM. With MCP, I could validate my configuration before deployment. That's not just time saved - that's peace of mind."
399
+
400
+ [Read the full interview →](docs/CLAUDE_INTERVIEW.md)
401
+
402
+ ## 📡 Available MCP Tools
403
+
404
+ Once connected, Claude can use these powerful tools:
405
+
406
+ ### Core Tools
407
+ - **`tools_documentation`** - Get documentation for any MCP tool (START HERE!)
408
+ - **`list_nodes`** - List all n8n nodes with filtering options
409
+ - **`get_node_info`** - Get comprehensive information about a specific node
410
+ - **`get_node_essentials`** - Get only essential properties with examples (10-20 properties instead of 200+)
411
+ - **`search_nodes`** - Full-text search across all node documentation
412
+ - **`search_node_properties`** - Find specific properties within nodes
413
+ - **`list_ai_tools`** - List all AI-capable nodes (ANY node can be used as AI tool!)
414
+ - **`get_node_as_tool_info`** - Get guidance on using any node as an AI tool
415
+
416
+ ### Advanced Tools
417
+ - **`get_node_for_task`** - Pre-configured node settings for common tasks
418
+ - **`list_tasks`** - Discover available task templates
419
+ - **`validate_node_operation`** - Validate node configurations (operation-aware, profiles support)
420
+ - **`validate_node_minimal`** - Quick validation for just required fields
421
+ - **`validate_workflow`** - Complete workflow validation including AI tool connections
422
+ - **`validate_workflow_connections`** - Check workflow structure and AI tool connections
423
+ - **`validate_workflow_expressions`** - Validate n8n expressions including $fromAI()
424
+ - **`get_property_dependencies`** - Analyze property visibility conditions
425
+ - **`get_node_documentation`** - Get parsed documentation from n8n-docs
426
+ - **`get_database_statistics`** - View database metrics and coverage
427
+
428
+ ### n8n Management Tools (Optional - Requires API Configuration)
429
+ These powerful tools allow you to manage n8n workflows directly from Claude. They're only available when you provide `N8N_API_URL` and `N8N_API_KEY` in your configuration.
430
+
431
+ #### Workflow Management
432
+ - **`n8n_create_workflow`** - Create new workflows with nodes and connections
433
+ - **`n8n_get_workflow`** - Get complete workflow by ID
434
+ - **`n8n_get_workflow_details`** - Get workflow with execution statistics
435
+ - **`n8n_get_workflow_structure`** - Get simplified workflow structure
436
+ - **`n8n_get_workflow_minimal`** - Get minimal workflow info (ID, name, active status)
437
+ - **`n8n_update_full_workflow`** - Update entire workflow (complete replacement)
438
+ - **`n8n_update_partial_workflow`** - Update workflow using diff operations (NEW in v2.7.0!)
439
+ - **`n8n_delete_workflow`** - Delete workflows permanently
440
+ - **`n8n_list_workflows`** - List workflows with filtering and pagination
441
+ - **`n8n_validate_workflow`** - Validate workflows already in n8n by ID (NEW in v2.6.3)
442
+
443
+ #### Execution Management
444
+ - **`n8n_trigger_webhook_workflow`** - Trigger workflows via webhook URL
445
+ - **`n8n_get_execution`** - Get execution details by ID
446
+ - **`n8n_list_executions`** - List executions with status filtering
447
+ - **`n8n_delete_execution`** - Delete execution records
448
+
449
+ #### System Tools
450
+ - **`n8n_health_check`** - Check n8n API connectivity and features
451
+ - **`n8n_diagnostic`** - Troubleshoot management tools visibility and configuration issues
452
+ - **`n8n_list_available_tools`** - List all available management tools
453
+
454
+ ### Example Usage
455
+
456
+ ```typescript
457
+ // Get essentials for quick configuration
458
+ get_node_essentials("nodes-base.httpRequest")
459
+
460
+ // Find nodes for a specific task
461
+ search_nodes({ query: "send email gmail" })
462
+
463
+ // Get pre-configured settings
464
+ get_node_for_task("send_email")
465
+
466
+ // Validate before deployment
467
+ validate_node_operation({
468
+ nodeType: "nodes-base.httpRequest",
469
+ config: { method: "POST", url: "..." },
470
+ profile: "runtime" // or "minimal", "ai-friendly", "strict"
471
+ })
472
+
473
+ // Quick required field check
474
+ validate_node_minimal({
475
+ nodeType: "nodes-base.slack",
476
+ config: { resource: "message", operation: "send" }
477
+ })
478
+ ```
479
+
480
+ ## 💻 Local Development Setup
481
+
482
+ For contributors and advanced users:
483
+
484
+ **Prerequisites:**
485
+ - [Node.js](https://nodejs.org/) (any version - automatic fallback if needed)
486
+ - npm or yarn
487
+ - Git
488
+
489
+ ```bash
490
+ # 1. Clone the repository
491
+ git clone https://github.com/czlonkowski/n8n-mcp.git
492
+ cd n8n-mcp
493
+
494
+ # 2. Clone n8n docs (optional but recommended)
495
+ git clone https://github.com/n8n-io/n8n-docs.git ../n8n-docs
496
+
497
+ # 3. Install and build
498
+ npm install
499
+ npm run build
500
+
501
+ # 4. Initialize database
502
+ npm run rebuild
503
+
504
+ # 5. Start the server
505
+ npm start # stdio mode for Claude Desktop
506
+ npm run start:http # HTTP mode for remote access
507
+ ```
508
+
509
+ ### Development Commands
510
+
511
+ ```bash
512
+ # Build & Test
513
+ npm run build # Build TypeScript
514
+ npm run rebuild # Rebuild node database
515
+ npm run test-nodes # Test critical nodes
516
+ npm run validate # Validate node data
517
+ npm test # Run all tests
518
+
519
+ # Update Dependencies
520
+ npm run update:n8n:check # Check for n8n updates
521
+ npm run update:n8n # Update n8n packages
522
+
523
+ # Run Server
524
+ npm run dev # Development with auto-reload
525
+ npm run dev:http # HTTP dev mode
526
+ ```
527
+
528
+ ## 📚 Documentation
529
+
530
+ ### Setup Guides
531
+ - [Installation Guide](./docs/INSTALLATION.md) - Comprehensive installation instructions
532
+ - [Claude Desktop Setup](./docs/README_CLAUDE_SETUP.md) - Detailed Claude configuration
533
+ - [Docker Guide](./docs/DOCKER_README.md) - Advanced Docker deployment options
534
+ - [MCP Quick Start](./docs/MCP_QUICK_START_GUIDE.md) - Get started quickly with n8n-MCP
535
+
536
+ ### Feature Documentation
537
+ - [Workflow Diff Operations](./docs/workflow-diff-examples.md) - Token-efficient workflow updates (NEW!)
538
+ - [Transactional Updates](./docs/transactional-updates-example.md) - Two-pass workflow editing
539
+ - [MCP Essentials](./docs/MCP_ESSENTIALS_README.md) - AI-optimized tools guide
540
+ - [Validation System](./docs/validation-improvements-v2.4.2.md) - Smart validation profiles
541
+
542
+ ### Development & Deployment
543
+ - [HTTP Deployment](./docs/HTTP_DEPLOYMENT.md) - Remote server setup guide
544
+ - [Dependency Management](./docs/DEPENDENCY_UPDATES.md) - Keeping n8n packages in sync
545
+ - [Claude's Interview](./docs/CLAUDE_INTERVIEW.md) - Real-world impact of n8n-MCP
546
+
547
+ ### Project Information
548
+ - [Change Log](./CHANGELOG.md) - Complete version history
549
+ - [Claude Instructions](./CLAUDE.md) - AI guidance for this codebase
550
+ - [MCP Tools Reference](#-available-mcp-tools) - Complete list of available tools
551
+
552
+ ## 📊 Metrics & Coverage
553
+
554
+ Current database coverage (n8n v1.99.1):
555
+
556
+ - ✅ **525/525** nodes loaded (100%)
557
+ - ✅ **520** nodes with properties (99%)
558
+ - ✅ **470** nodes with documentation (90%)
559
+ - ✅ **263** AI-capable tools detected
560
+ - ✅ **AI Agent & LangChain nodes** fully documented
561
+ - ⚡ **Average response time**: ~12ms
562
+ - 💾 **Database size**: ~15MB (optimized)
563
+
564
+ ## 🔄 Recent Updates
565
+
566
+ ### v2.7.4 - Self-Documenting MCP Tools
567
+ - ✅ **RENAMED**: `start_here_workflow_guide` → `tools_documentation` for clarity
568
+ - ✅ **NEW**: Depth parameter - Control documentation detail with "essentials" or "full"
569
+ - ✅ **NEW**: Per-tool documentation - Get help for any specific MCP tool by name
570
+ - ✅ **CONCISE**: Essential info by default, comprehensive docs on demand
571
+ - ✅ **LLM-FRIENDLY**: Plain text format instead of JSON for better readability
572
+ - ✅ **QUICK HELP**: Call without parameters for immediate quick reference
573
+ - ✅ **8 TOOLS DOCUMENTED**: Complete documentation for most commonly used tools
574
+
575
+ ### v2.7.0 - Diff-Based Workflow Editing with Transactional Updates
576
+ - ✅ **NEW**: `n8n_update_partial_workflow` tool - Update workflows using diff operations
577
+ - ✅ **RENAMED**: `n8n_update_workflow` → `n8n_update_full_workflow` for clarity
578
+ - ✅ **80-90% TOKEN SAVINGS**: Only send changes, not entire workflow JSON
579
+ - ✅ **13 OPERATIONS**: addNode, removeNode, updateNode, moveNode, enable/disable, connections, settings, tags
580
+ - ✅ **TRANSACTIONAL**: Two-pass processing allows adding nodes and connections in any order
581
+ - ✅ **5 OPERATION LIMIT**: Ensures reliability and atomic updates
582
+ - ✅ **VALIDATION MODE**: Test changes with `validateOnly: true` before applying
583
+ - ✅ **IMPROVED DOCS**: Comprehensive parameter documentation and examples
584
+
585
+ ### v2.6.3 - n8n Instance Workflow Validation
586
+ - ✅ **NEW**: `n8n_validate_workflow` tool - Validate workflows directly from n8n instance by ID
587
+ - ✅ **FETCHES**: Retrieves workflow from n8n API and runs comprehensive validation
588
+ - ✅ **CONSISTENT**: Uses same WorkflowValidator for reliability
589
+ - ✅ **FLEXIBLE**: Supports all validation profiles and options
590
+ - ✅ **INTEGRATED**: Part of complete workflow lifecycle management
591
+ - ✅ **SIMPLE**: AI agents need only workflow ID, no JSON required
592
+
593
+ ### v2.6.2 - Enhanced Workflow Creation Validation
594
+ - ✅ **NEW**: Node type validation - Verifies node types actually exist in n8n
595
+ - ✅ **FIXED**: Critical issue with `nodes-base.webhook` validation - now caught before database lookup
596
+ - ✅ **NEW**: Smart suggestions for common mistakes (e.g., `webhook` → `n8n-nodes-base.webhook`)
597
+ - ✅ **NEW**: Minimum viable workflow validation - Prevents single-node workflows (except webhooks)
598
+ - ✅ **NEW**: Empty connection detection - Catches multi-node workflows with no connections
599
+ - ✅ **ENHANCED**: Error messages with clear guidance and examples
600
+ - ✅ **PREVENTS**: Broken workflows that show as question marks in n8n UI
601
+
602
+
603
+ See [CHANGELOG.md](./docs/CHANGELOG.md) for full version history.
604
+
605
+ ## ⚠️ Known Issues
606
+
607
+ ### Claude Desktop Container Duplication
608
+ When using n8n-MCP with Claude Desktop in Docker mode, Claude Desktop may start the container twice during initialization. This is a known Claude Desktop bug ([modelcontextprotocol/servers#812](https://github.com/modelcontextprotocol/servers/issues/812)).
609
+
610
+ **Symptoms:**
611
+ - Two identical containers running for the same MCP server
612
+ - Container name conflicts if using `--name` parameter
613
+ - Doubled resource usage
614
+
615
+ **Workarounds:**
616
+ 1. **Avoid using --name parameter** - Let Docker assign random names:
617
+ ```json
618
+ {
619
+ "mcpServers": {
620
+ "n8n-mcp": {
621
+ "command": "docker",
622
+ "args": [
623
+ "run", "-i", "--rm",
624
+ "ghcr.io/czlonkowski/n8n-mcp:latest"
625
+ ]
626
+ }
627
+ }
628
+ }
629
+ ```
630
+
631
+ 2. **Use HTTP mode instead** - Deploy n8n-mcp as a standalone HTTP server:
632
+ ```bash
633
+ docker compose up -d # Start HTTP server
634
+ ```
635
+ Then connect via mcp-remote (see [HTTP Deployment Guide](./docs/HTTP_DEPLOYMENT.md))
636
+
637
+ 3. **Use Docker MCP Toolkit** - Better container management through Docker Desktop
638
+
639
+ This issue does not affect the functionality of n8n-MCP itself, only the container management in Claude Desktop.
640
+
641
+ ## 📦 License
642
+
643
+ MIT License - see [LICENSE](LICENSE) for details.
644
+
645
+ **Attribution appreciated!** If you use n8n-MCP, consider:
646
+ - ⭐ Starring this repository
647
+ - 💬 Mentioning it in your project
648
+ - 🔗 Linking back to this repo
649
+
650
+
651
+ ## 🤝 Contributing
652
+
653
+ Contributions are welcome! Please:
654
+ 1. Fork the repository
655
+ 2. Create a feature branch
656
+ 3. Run tests (`npm test`)
657
+ 4. Submit a pull request
658
+
659
+ ## 👏 Acknowledgments
660
+
661
+ - [n8n](https://n8n.io) team for the workflow automation platform
662
+ - [Anthropic](https://anthropic.com) for the Model Context Protocol
663
+ - All contributors and users of this project
664
+
665
+ ---
666
+
667
+ <div align="center">
668
+ <strong>Built with ❤️ for the n8n community</strong><br>
669
+ <sub>Making AI + n8n workflow creation delightful</sub>
670
+ </div>
package/data/nodes.db ADDED
Binary file
@@ -0,0 +1,9 @@
1
+ export declare function getN8nApiConfig(): {
2
+ baseUrl: string;
3
+ apiKey: string;
4
+ timeout: number;
5
+ maxRetries: number;
6
+ } | null;
7
+ export declare function isN8nApiConfigured(): boolean;
8
+ export type N8nApiConfig = NonNullable<ReturnType<typeof getN8nApiConfig>>;
9
+ //# sourceMappingURL=n8n-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"n8n-api.d.ts","sourceRoot":"","sources":["../../src/config/n8n-api.ts"],"names":[],"mappings":"AAgBA,wBAAgB,eAAe;;;;;SA0B9B;AAGD,wBAAgB,kBAAkB,IAAI,OAAO,CAG5C;AAGD,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC"}