@flowdot.ai/mcp-server 1.0.4 → 1.0.5

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 (514) hide show
  1. package/LICENSE +45 -45
  2. package/README.md +439 -162
  3. package/bin/flowdot-mcp.js +15 -15
  4. package/dist/api-client.d.ts +0 -6
  5. package/dist/api-client.js +0 -6
  6. package/dist/index.d.ts +0 -23
  7. package/dist/index.js +0 -24
  8. package/dist/resources/index.d.ts +1 -11
  9. package/dist/resources/index.js +2882 -2127
  10. package/dist/server.d.ts +0 -12
  11. package/dist/server.js +23 -21
  12. package/dist/tools/add-connection.d.ts +2 -8
  13. package/dist/tools/add-connection.js +0 -6
  14. package/dist/tools/add-custom-node-comment.d.ts +2 -9
  15. package/dist/tools/add-custom-node-comment.js +0 -7
  16. package/dist/tools/add-node.d.ts +2 -8
  17. package/dist/tools/add-node.js +0 -6
  18. package/dist/tools/add-recipe-step.d.ts +3 -9
  19. package/dist/tools/add-recipe-step.js +95 -101
  20. package/dist/tools/add-recipe-store.d.ts +2 -8
  21. package/dist/tools/add-recipe-store.js +30 -36
  22. package/dist/tools/add-shared-result-comment.d.ts +2 -8
  23. package/dist/tools/add-shared-result-comment.js +0 -7
  24. package/dist/tools/add-workflow-comment.d.ts +2 -8
  25. package/dist/tools/add-workflow-comment.js +0 -7
  26. package/dist/tools/agent-chat.d.ts +2 -8
  27. package/dist/tools/agent-chat.js +0 -10
  28. package/dist/tools/agent-toolkits.d.ts +3 -10
  29. package/dist/tools/agent-toolkits.js +294 -336
  30. package/dist/tools/append-app-code.d.ts +2 -10
  31. package/dist/tools/append-app-code.js +27 -35
  32. package/dist/tools/browse-recipes.d.ts +2 -8
  33. package/dist/tools/browse-recipes.js +0 -7
  34. package/dist/tools/cancel-execution.d.ts +2 -8
  35. package/dist/tools/cancel-execution.js +0 -7
  36. package/dist/tools/clone-app.d.ts +2 -9
  37. package/dist/tools/clone-app.js +20 -27
  38. package/dist/tools/copy-custom-node.d.ts +2 -9
  39. package/dist/tools/copy-custom-node.js +0 -7
  40. package/dist/tools/create-app-file.d.ts +2 -9
  41. package/dist/tools/create-app-file.js +18 -25
  42. package/dist/tools/create-app.d.ts +2 -9
  43. package/dist/tools/create-app.js +123 -130
  44. package/dist/tools/create-custom-node.d.ts +3 -10
  45. package/dist/tools/create-custom-node.js +66 -75
  46. package/dist/tools/create-input-preset.d.ts +2 -8
  47. package/dist/tools/create-input-preset.js +0 -7
  48. package/dist/tools/create-knowledge-category.d.ts +2 -9
  49. package/dist/tools/create-knowledge-category.js +0 -7
  50. package/dist/tools/create-recipe.d.ts +2 -8
  51. package/dist/tools/create-recipe.js +21 -27
  52. package/dist/tools/create-shared-result.d.ts +2 -8
  53. package/dist/tools/create-shared-result.js +0 -6
  54. package/dist/tools/create-workflow.d.ts +2 -8
  55. package/dist/tools/create-workflow.js +0 -6
  56. package/dist/tools/delete-app-file.d.ts +2 -9
  57. package/dist/tools/delete-app-file.js +9 -16
  58. package/dist/tools/delete-app.d.ts +2 -9
  59. package/dist/tools/delete-app.js +3 -10
  60. package/dist/tools/delete-connection.d.ts +2 -8
  61. package/dist/tools/delete-connection.js +0 -7
  62. package/dist/tools/delete-custom-node.d.ts +2 -9
  63. package/dist/tools/delete-custom-node.js +0 -7
  64. package/dist/tools/delete-input-preset.d.ts +2 -8
  65. package/dist/tools/delete-input-preset.js +0 -6
  66. package/dist/tools/delete-knowledge-category.d.ts +2 -8
  67. package/dist/tools/delete-knowledge-category.js +0 -6
  68. package/dist/tools/delete-knowledge-document.d.ts +2 -8
  69. package/dist/tools/delete-knowledge-document.js +0 -6
  70. package/dist/tools/delete-node.d.ts +2 -8
  71. package/dist/tools/delete-node.js +0 -7
  72. package/dist/tools/delete-recipe-step.d.ts +2 -8
  73. package/dist/tools/delete-recipe-step.js +2 -8
  74. package/dist/tools/delete-recipe-store.d.ts +2 -8
  75. package/dist/tools/delete-recipe-store.js +2 -8
  76. package/dist/tools/delete-recipe.d.ts +2 -8
  77. package/dist/tools/delete-recipe.js +0 -6
  78. package/dist/tools/delete-workflow.d.ts +2 -8
  79. package/dist/tools/delete-workflow.js +0 -7
  80. package/dist/tools/duplicate-workflow.d.ts +2 -8
  81. package/dist/tools/duplicate-workflow.js +0 -6
  82. package/dist/tools/edit-app-code.d.ts +2 -10
  83. package/dist/tools/edit-app-code.js +34 -43
  84. package/dist/tools/execute-workflow.d.ts +2 -8
  85. package/dist/tools/execute-workflow.js +0 -11
  86. package/dist/tools/favorite-custom-node.d.ts +2 -9
  87. package/dist/tools/favorite-custom-node.js +0 -8
  88. package/dist/tools/favorite-recipe.d.ts +2 -8
  89. package/dist/tools/favorite-recipe.js +2 -8
  90. package/dist/tools/favorite-workflow.d.ts +2 -8
  91. package/dist/tools/favorite-workflow.js +0 -7
  92. package/dist/tools/fork-recipe.d.ts +2 -8
  93. package/dist/tools/fork-recipe.js +7 -13
  94. package/dist/tools/get-app-file.d.ts +2 -9
  95. package/dist/tools/get-app-file.js +20 -28
  96. package/dist/tools/get-app-template.d.ts +1 -8
  97. package/dist/tools/get-app-template.js +827 -834
  98. package/dist/tools/get-app.d.ts +2 -9
  99. package/dist/tools/get-app.js +54 -66
  100. package/dist/tools/get-custom-node-comments.d.ts +2 -9
  101. package/dist/tools/get-custom-node-comments.js +0 -7
  102. package/dist/tools/get-custom-node-template.d.ts +1 -8
  103. package/dist/tools/get-custom-node-template.js +60 -73
  104. package/dist/tools/get-custom-node.d.ts +2 -9
  105. package/dist/tools/get-custom-node.js +0 -12
  106. package/dist/tools/get-execution-history.d.ts +2 -8
  107. package/dist/tools/get-execution-history.js +0 -7
  108. package/dist/tools/get-execution.d.ts +2 -8
  109. package/dist/tools/get-execution.js +0 -7
  110. package/dist/tools/get-input-preset.d.ts +2 -8
  111. package/dist/tools/get-input-preset.js +0 -7
  112. package/dist/tools/get-knowledge-document-content.d.ts +6 -0
  113. package/dist/tools/get-knowledge-document-content.js +42 -0
  114. package/dist/tools/get-knowledge-document.d.ts +2 -8
  115. package/dist/tools/get-knowledge-document.js +0 -6
  116. package/dist/tools/get-knowledge-storage.d.ts +2 -8
  117. package/dist/tools/get-knowledge-storage.js +0 -7
  118. package/dist/tools/get-node-connections.d.ts +2 -8
  119. package/dist/tools/get-node-connections.js +0 -7
  120. package/dist/tools/get-node-schema.d.ts +2 -8
  121. package/dist/tools/get-node-schema.js +0 -13
  122. package/dist/tools/get-public-workflows.d.ts +2 -8
  123. package/dist/tools/get-public-workflows.js +0 -7
  124. package/dist/tools/get-recipe-definition.d.ts +2 -10
  125. package/dist/tools/get-recipe-definition.js +1 -10
  126. package/dist/tools/get-recipe.d.ts +2 -8
  127. package/dist/tools/get-recipe.js +10 -19
  128. package/dist/tools/get-shared-result-comments.d.ts +2 -8
  129. package/dist/tools/get-shared-result-comments.js +0 -6
  130. package/dist/tools/get-shared-result.d.ts +2 -8
  131. package/dist/tools/get-shared-result.js +0 -8
  132. package/dist/tools/get-workflow-comments.d.ts +2 -8
  133. package/dist/tools/get-workflow-comments.js +0 -7
  134. package/dist/tools/get-workflow-details.d.ts +2 -8
  135. package/dist/tools/get-workflow-details.js +0 -8
  136. package/dist/tools/get-workflow-graph.d.ts +2 -8
  137. package/dist/tools/get-workflow-graph.js +1 -10
  138. package/dist/tools/get-workflow-inputs-schema.d.ts +2 -8
  139. package/dist/tools/get-workflow-inputs-schema.js +0 -7
  140. package/dist/tools/get-workflow-metrics.d.ts +2 -8
  141. package/dist/tools/get-workflow-metrics.js +1 -9
  142. package/dist/tools/get-workflow-public-url.d.ts +2 -8
  143. package/dist/tools/get-workflow-public-url.js +0 -6
  144. package/dist/tools/get-workflow-tags.d.ts +2 -8
  145. package/dist/tools/get-workflow-tags.js +0 -7
  146. package/dist/tools/index.d.ts +2 -11
  147. package/dist/tools/index.js +12 -139
  148. package/dist/tools/insert-app-code.d.ts +2 -10
  149. package/dist/tools/insert-app-code.js +35 -43
  150. package/dist/tools/link-app-workflow.d.ts +2 -9
  151. package/dist/tools/link-app-workflow.js +21 -28
  152. package/dist/tools/link-recipe.d.ts +2 -8
  153. package/dist/tools/link-recipe.js +18 -24
  154. package/dist/tools/list-app-files.d.ts +2 -9
  155. package/dist/tools/list-app-files.js +10 -20
  156. package/dist/tools/list-apps.d.ts +2 -9
  157. package/dist/tools/list-apps.js +8 -15
  158. package/dist/tools/list-available-nodes.d.ts +2 -8
  159. package/dist/tools/list-available-nodes.js +0 -13
  160. package/dist/tools/list-custom-nodes.d.ts +2 -9
  161. package/dist/tools/list-custom-nodes.js +0 -7
  162. package/dist/tools/list-input-presets.d.ts +2 -8
  163. package/dist/tools/list-input-presets.js +0 -7
  164. package/dist/tools/list-knowledge-categories.d.ts +2 -9
  165. package/dist/tools/list-knowledge-categories.js +0 -11
  166. package/dist/tools/list-knowledge-documents.d.ts +2 -9
  167. package/dist/tools/list-knowledge-documents.js +0 -10
  168. package/dist/tools/list-recipe-steps.d.ts +2 -8
  169. package/dist/tools/list-recipe-steps.js +1 -8
  170. package/dist/tools/list-recipe-stores.d.ts +2 -8
  171. package/dist/tools/list-recipe-stores.js +0 -6
  172. package/dist/tools/list-recipes.d.ts +2 -8
  173. package/dist/tools/list-recipes.js +22 -31
  174. package/dist/tools/list-shared-results.d.ts +2 -8
  175. package/dist/tools/list-shared-results.js +0 -6
  176. package/dist/tools/list-user-teams.d.ts +2 -9
  177. package/dist/tools/list-user-teams.js +0 -7
  178. package/dist/tools/list-workflows.d.ts +2 -8
  179. package/dist/tools/list-workflows.js +0 -8
  180. package/dist/tools/move-document-to-category.d.ts +2 -8
  181. package/dist/tools/move-document-to-category.js +0 -6
  182. package/dist/tools/patch-knowledge-document-section.d.ts +8 -0
  183. package/dist/tools/patch-knowledge-document-section.js +47 -0
  184. package/dist/tools/prepend-app-code.d.ts +2 -10
  185. package/dist/tools/prepend-app-code.js +23 -31
  186. package/dist/tools/publish-app.d.ts +2 -9
  187. package/dist/tools/publish-app.js +7 -14
  188. package/dist/tools/query-knowledge-base.d.ts +2 -9
  189. package/dist/tools/query-knowledge-base.js +1 -15
  190. package/dist/tools/rename-app-file.d.ts +2 -9
  191. package/dist/tools/rename-app-file.js +16 -23
  192. package/dist/tools/reprocess-document.d.ts +2 -8
  193. package/dist/tools/reprocess-document.js +0 -6
  194. package/dist/tools/retry-execution.d.ts +2 -8
  195. package/dist/tools/retry-execution.js +0 -6
  196. package/dist/tools/search-apps.d.ts +2 -9
  197. package/dist/tools/search-apps.js +13 -20
  198. package/dist/tools/search-public-custom-nodes.d.ts +2 -9
  199. package/dist/tools/search-public-custom-nodes.js +0 -7
  200. package/dist/tools/search-workflows.d.ts +2 -8
  201. package/dist/tools/search-workflows.js +0 -8
  202. package/dist/tools/search.d.ts +2 -8
  203. package/dist/tools/search.js +1 -7
  204. package/dist/tools/set-app-entry-file.d.ts +2 -9
  205. package/dist/tools/set-app-entry-file.js +13 -20
  206. package/dist/tools/set-workflow-tags.d.ts +2 -8
  207. package/dist/tools/set-workflow-tags.js +0 -7
  208. package/dist/tools/stream-execution.d.ts +2 -9
  209. package/dist/tools/stream-execution.js +0 -8
  210. package/dist/tools/toggle-community-inputs.d.ts +2 -8
  211. package/dist/tools/toggle-community-inputs.js +0 -6
  212. package/dist/tools/toggle-custom-node-visibility.d.ts +2 -9
  213. package/dist/tools/toggle-custom-node-visibility.js +0 -8
  214. package/dist/tools/toggle-workflow-public.d.ts +2 -8
  215. package/dist/tools/toggle-workflow-public.js +0 -7
  216. package/dist/tools/transfer-document-ownership.d.ts +2 -9
  217. package/dist/tools/transfer-document-ownership.js +0 -7
  218. package/dist/tools/unlink-app-workflow.d.ts +2 -9
  219. package/dist/tools/unlink-app-workflow.js +2 -9
  220. package/dist/tools/unpublish-app.d.ts +2 -9
  221. package/dist/tools/unpublish-app.js +2 -9
  222. package/dist/tools/update-app-file.d.ts +2 -9
  223. package/dist/tools/update-app-file.js +15 -22
  224. package/dist/tools/update-app.d.ts +2 -9
  225. package/dist/tools/update-app.js +14 -21
  226. package/dist/tools/update-custom-node.d.ts +3 -10
  227. package/dist/tools/update-custom-node.js +11 -24
  228. package/dist/tools/update-input-preset.d.ts +2 -8
  229. package/dist/tools/update-input-preset.js +0 -7
  230. package/dist/tools/update-knowledge-category.d.ts +2 -8
  231. package/dist/tools/update-knowledge-category.js +0 -6
  232. package/dist/tools/update-knowledge-document-content.d.ts +7 -0
  233. package/dist/tools/update-knowledge-document-content.js +42 -0
  234. package/dist/tools/update-node.d.ts +2 -8
  235. package/dist/tools/update-node.js +0 -7
  236. package/dist/tools/update-recipe-step.d.ts +2 -8
  237. package/dist/tools/update-recipe-step.js +6 -12
  238. package/dist/tools/update-recipe-store.d.ts +2 -8
  239. package/dist/tools/update-recipe-store.js +5 -11
  240. package/dist/tools/update-recipe.d.ts +2 -8
  241. package/dist/tools/update-recipe.js +14 -20
  242. package/dist/tools/upload-document-from-url.d.ts +2 -9
  243. package/dist/tools/upload-document-from-url.js +0 -7
  244. package/dist/tools/upload-text-document.d.ts +2 -9
  245. package/dist/tools/upload-text-document.js +0 -7
  246. package/dist/tools/validate-workflow.d.ts +2 -8
  247. package/dist/tools/validate-workflow.js +0 -8
  248. package/dist/tools/vote-custom-node.d.ts +2 -9
  249. package/dist/tools/vote-custom-node.js +0 -7
  250. package/dist/tools/vote-input-preset.d.ts +2 -8
  251. package/dist/tools/vote-input-preset.js +0 -6
  252. package/dist/tools/vote-recipe.d.ts +2 -8
  253. package/dist/tools/vote-recipe.js +2 -8
  254. package/dist/tools/vote-shared-result.d.ts +2 -8
  255. package/dist/tools/vote-shared-result.js +0 -6
  256. package/dist/tools/vote-workflow.d.ts +2 -8
  257. package/dist/tools/vote-workflow.js +0 -6
  258. package/dist/types.d.ts +0 -6
  259. package/dist/types.js +0 -6
  260. package/dist/utils/script-validator.d.ts +1 -18
  261. package/dist/utils/script-validator.js +5 -44
  262. package/package.json +81 -63
  263. package/dist/api-client.d.ts.map +0 -1
  264. package/dist/api-client.js.map +0 -1
  265. package/dist/index.d.ts.map +0 -1
  266. package/dist/index.js.map +0 -1
  267. package/dist/resources/index.d.ts.map +0 -1
  268. package/dist/resources/index.js.map +0 -1
  269. package/dist/server.d.ts.map +0 -1
  270. package/dist/server.js.map +0 -1
  271. package/dist/tools/add-connection.d.ts.map +0 -1
  272. package/dist/tools/add-connection.js.map +0 -1
  273. package/dist/tools/add-custom-node-comment.d.ts.map +0 -1
  274. package/dist/tools/add-custom-node-comment.js.map +0 -1
  275. package/dist/tools/add-node.d.ts.map +0 -1
  276. package/dist/tools/add-node.js.map +0 -1
  277. package/dist/tools/add-recipe-step.d.ts.map +0 -1
  278. package/dist/tools/add-recipe-step.js.map +0 -1
  279. package/dist/tools/add-recipe-store.d.ts.map +0 -1
  280. package/dist/tools/add-recipe-store.js.map +0 -1
  281. package/dist/tools/add-shared-result-comment.d.ts.map +0 -1
  282. package/dist/tools/add-shared-result-comment.js.map +0 -1
  283. package/dist/tools/add-workflow-comment.d.ts.map +0 -1
  284. package/dist/tools/add-workflow-comment.js.map +0 -1
  285. package/dist/tools/agent-chat.d.ts.map +0 -1
  286. package/dist/tools/agent-chat.js.map +0 -1
  287. package/dist/tools/agent-toolkits.d.ts.map +0 -1
  288. package/dist/tools/agent-toolkits.js.map +0 -1
  289. package/dist/tools/append-app-code.d.ts.map +0 -1
  290. package/dist/tools/append-app-code.js.map +0 -1
  291. package/dist/tools/browse-recipes.d.ts.map +0 -1
  292. package/dist/tools/browse-recipes.js.map +0 -1
  293. package/dist/tools/cancel-execution.d.ts.map +0 -1
  294. package/dist/tools/cancel-execution.js.map +0 -1
  295. package/dist/tools/clone-app.d.ts.map +0 -1
  296. package/dist/tools/clone-app.js.map +0 -1
  297. package/dist/tools/copy-custom-node.d.ts.map +0 -1
  298. package/dist/tools/copy-custom-node.js.map +0 -1
  299. package/dist/tools/create-app-file.d.ts.map +0 -1
  300. package/dist/tools/create-app-file.js.map +0 -1
  301. package/dist/tools/create-app.d.ts.map +0 -1
  302. package/dist/tools/create-app.js.map +0 -1
  303. package/dist/tools/create-custom-node.d.ts.map +0 -1
  304. package/dist/tools/create-custom-node.js.map +0 -1
  305. package/dist/tools/create-input-preset.d.ts.map +0 -1
  306. package/dist/tools/create-input-preset.js.map +0 -1
  307. package/dist/tools/create-knowledge-category.d.ts.map +0 -1
  308. package/dist/tools/create-knowledge-category.js.map +0 -1
  309. package/dist/tools/create-recipe.d.ts.map +0 -1
  310. package/dist/tools/create-recipe.js.map +0 -1
  311. package/dist/tools/create-shared-result.d.ts.map +0 -1
  312. package/dist/tools/create-shared-result.js.map +0 -1
  313. package/dist/tools/create-workflow.d.ts.map +0 -1
  314. package/dist/tools/create-workflow.js.map +0 -1
  315. package/dist/tools/delete-app-file.d.ts.map +0 -1
  316. package/dist/tools/delete-app-file.js.map +0 -1
  317. package/dist/tools/delete-app.d.ts.map +0 -1
  318. package/dist/tools/delete-app.js.map +0 -1
  319. package/dist/tools/delete-connection.d.ts.map +0 -1
  320. package/dist/tools/delete-connection.js.map +0 -1
  321. package/dist/tools/delete-custom-node.d.ts.map +0 -1
  322. package/dist/tools/delete-custom-node.js.map +0 -1
  323. package/dist/tools/delete-input-preset.d.ts.map +0 -1
  324. package/dist/tools/delete-input-preset.js.map +0 -1
  325. package/dist/tools/delete-knowledge-category.d.ts.map +0 -1
  326. package/dist/tools/delete-knowledge-category.js.map +0 -1
  327. package/dist/tools/delete-knowledge-document.d.ts.map +0 -1
  328. package/dist/tools/delete-knowledge-document.js.map +0 -1
  329. package/dist/tools/delete-node.d.ts.map +0 -1
  330. package/dist/tools/delete-node.js.map +0 -1
  331. package/dist/tools/delete-recipe-step.d.ts.map +0 -1
  332. package/dist/tools/delete-recipe-step.js.map +0 -1
  333. package/dist/tools/delete-recipe-store.d.ts.map +0 -1
  334. package/dist/tools/delete-recipe-store.js.map +0 -1
  335. package/dist/tools/delete-recipe.d.ts.map +0 -1
  336. package/dist/tools/delete-recipe.js.map +0 -1
  337. package/dist/tools/delete-workflow.d.ts.map +0 -1
  338. package/dist/tools/delete-workflow.js.map +0 -1
  339. package/dist/tools/duplicate-workflow.d.ts.map +0 -1
  340. package/dist/tools/duplicate-workflow.js.map +0 -1
  341. package/dist/tools/edit-app-code.d.ts.map +0 -1
  342. package/dist/tools/edit-app-code.js.map +0 -1
  343. package/dist/tools/execute-workflow.d.ts.map +0 -1
  344. package/dist/tools/execute-workflow.js.map +0 -1
  345. package/dist/tools/favorite-custom-node.d.ts.map +0 -1
  346. package/dist/tools/favorite-custom-node.js.map +0 -1
  347. package/dist/tools/favorite-recipe.d.ts.map +0 -1
  348. package/dist/tools/favorite-recipe.js.map +0 -1
  349. package/dist/tools/favorite-workflow.d.ts.map +0 -1
  350. package/dist/tools/favorite-workflow.js.map +0 -1
  351. package/dist/tools/fork-recipe.d.ts.map +0 -1
  352. package/dist/tools/fork-recipe.js.map +0 -1
  353. package/dist/tools/get-app-file.d.ts.map +0 -1
  354. package/dist/tools/get-app-file.js.map +0 -1
  355. package/dist/tools/get-app-template.d.ts.map +0 -1
  356. package/dist/tools/get-app-template.js.map +0 -1
  357. package/dist/tools/get-app.d.ts.map +0 -1
  358. package/dist/tools/get-app.js.map +0 -1
  359. package/dist/tools/get-custom-node-comments.d.ts.map +0 -1
  360. package/dist/tools/get-custom-node-comments.js.map +0 -1
  361. package/dist/tools/get-custom-node-template.d.ts.map +0 -1
  362. package/dist/tools/get-custom-node-template.js.map +0 -1
  363. package/dist/tools/get-custom-node.d.ts.map +0 -1
  364. package/dist/tools/get-custom-node.js.map +0 -1
  365. package/dist/tools/get-execution-history.d.ts.map +0 -1
  366. package/dist/tools/get-execution-history.js.map +0 -1
  367. package/dist/tools/get-execution.d.ts.map +0 -1
  368. package/dist/tools/get-execution.js.map +0 -1
  369. package/dist/tools/get-input-preset.d.ts.map +0 -1
  370. package/dist/tools/get-input-preset.js.map +0 -1
  371. package/dist/tools/get-knowledge-document.d.ts.map +0 -1
  372. package/dist/tools/get-knowledge-document.js.map +0 -1
  373. package/dist/tools/get-knowledge-storage.d.ts.map +0 -1
  374. package/dist/tools/get-knowledge-storage.js.map +0 -1
  375. package/dist/tools/get-node-connections.d.ts.map +0 -1
  376. package/dist/tools/get-node-connections.js.map +0 -1
  377. package/dist/tools/get-node-schema.d.ts.map +0 -1
  378. package/dist/tools/get-node-schema.js.map +0 -1
  379. package/dist/tools/get-public-workflows.d.ts.map +0 -1
  380. package/dist/tools/get-public-workflows.js.map +0 -1
  381. package/dist/tools/get-recipe-definition.d.ts.map +0 -1
  382. package/dist/tools/get-recipe-definition.js.map +0 -1
  383. package/dist/tools/get-recipe.d.ts.map +0 -1
  384. package/dist/tools/get-recipe.js.map +0 -1
  385. package/dist/tools/get-shared-result-comments.d.ts.map +0 -1
  386. package/dist/tools/get-shared-result-comments.js.map +0 -1
  387. package/dist/tools/get-shared-result.d.ts.map +0 -1
  388. package/dist/tools/get-shared-result.js.map +0 -1
  389. package/dist/tools/get-workflow-comments.d.ts.map +0 -1
  390. package/dist/tools/get-workflow-comments.js.map +0 -1
  391. package/dist/tools/get-workflow-details.d.ts.map +0 -1
  392. package/dist/tools/get-workflow-details.js.map +0 -1
  393. package/dist/tools/get-workflow-graph.d.ts.map +0 -1
  394. package/dist/tools/get-workflow-graph.js.map +0 -1
  395. package/dist/tools/get-workflow-inputs-schema.d.ts.map +0 -1
  396. package/dist/tools/get-workflow-inputs-schema.js.map +0 -1
  397. package/dist/tools/get-workflow-metrics.d.ts.map +0 -1
  398. package/dist/tools/get-workflow-metrics.js.map +0 -1
  399. package/dist/tools/get-workflow-public-url.d.ts.map +0 -1
  400. package/dist/tools/get-workflow-public-url.js.map +0 -1
  401. package/dist/tools/get-workflow-tags.d.ts.map +0 -1
  402. package/dist/tools/get-workflow-tags.js.map +0 -1
  403. package/dist/tools/index.d.ts.map +0 -1
  404. package/dist/tools/index.js.map +0 -1
  405. package/dist/tools/insert-app-code.d.ts.map +0 -1
  406. package/dist/tools/insert-app-code.js.map +0 -1
  407. package/dist/tools/link-app-workflow.d.ts.map +0 -1
  408. package/dist/tools/link-app-workflow.js.map +0 -1
  409. package/dist/tools/link-recipe.d.ts.map +0 -1
  410. package/dist/tools/link-recipe.js.map +0 -1
  411. package/dist/tools/list-app-files.d.ts.map +0 -1
  412. package/dist/tools/list-app-files.js.map +0 -1
  413. package/dist/tools/list-apps.d.ts.map +0 -1
  414. package/dist/tools/list-apps.js.map +0 -1
  415. package/dist/tools/list-available-nodes.d.ts.map +0 -1
  416. package/dist/tools/list-available-nodes.js.map +0 -1
  417. package/dist/tools/list-custom-nodes.d.ts.map +0 -1
  418. package/dist/tools/list-custom-nodes.js.map +0 -1
  419. package/dist/tools/list-input-presets.d.ts.map +0 -1
  420. package/dist/tools/list-input-presets.js.map +0 -1
  421. package/dist/tools/list-knowledge-categories.d.ts.map +0 -1
  422. package/dist/tools/list-knowledge-categories.js.map +0 -1
  423. package/dist/tools/list-knowledge-documents.d.ts.map +0 -1
  424. package/dist/tools/list-knowledge-documents.js.map +0 -1
  425. package/dist/tools/list-recipe-steps.d.ts.map +0 -1
  426. package/dist/tools/list-recipe-steps.js.map +0 -1
  427. package/dist/tools/list-recipe-stores.d.ts.map +0 -1
  428. package/dist/tools/list-recipe-stores.js.map +0 -1
  429. package/dist/tools/list-recipes.d.ts.map +0 -1
  430. package/dist/tools/list-recipes.js.map +0 -1
  431. package/dist/tools/list-shared-results.d.ts.map +0 -1
  432. package/dist/tools/list-shared-results.js.map +0 -1
  433. package/dist/tools/list-user-teams.d.ts.map +0 -1
  434. package/dist/tools/list-user-teams.js.map +0 -1
  435. package/dist/tools/list-workflows.d.ts.map +0 -1
  436. package/dist/tools/list-workflows.js.map +0 -1
  437. package/dist/tools/move-document-to-category.d.ts.map +0 -1
  438. package/dist/tools/move-document-to-category.js.map +0 -1
  439. package/dist/tools/prepend-app-code.d.ts.map +0 -1
  440. package/dist/tools/prepend-app-code.js.map +0 -1
  441. package/dist/tools/publish-app.d.ts.map +0 -1
  442. package/dist/tools/publish-app.js.map +0 -1
  443. package/dist/tools/query-knowledge-base.d.ts.map +0 -1
  444. package/dist/tools/query-knowledge-base.js.map +0 -1
  445. package/dist/tools/rename-app-file.d.ts.map +0 -1
  446. package/dist/tools/rename-app-file.js.map +0 -1
  447. package/dist/tools/reprocess-document.d.ts.map +0 -1
  448. package/dist/tools/reprocess-document.js.map +0 -1
  449. package/dist/tools/retry-execution.d.ts.map +0 -1
  450. package/dist/tools/retry-execution.js.map +0 -1
  451. package/dist/tools/search-apps.d.ts.map +0 -1
  452. package/dist/tools/search-apps.js.map +0 -1
  453. package/dist/tools/search-public-custom-nodes.d.ts.map +0 -1
  454. package/dist/tools/search-public-custom-nodes.js.map +0 -1
  455. package/dist/tools/search-workflows.d.ts.map +0 -1
  456. package/dist/tools/search-workflows.js.map +0 -1
  457. package/dist/tools/search.d.ts.map +0 -1
  458. package/dist/tools/search.js.map +0 -1
  459. package/dist/tools/set-app-entry-file.d.ts.map +0 -1
  460. package/dist/tools/set-app-entry-file.js.map +0 -1
  461. package/dist/tools/set-workflow-tags.d.ts.map +0 -1
  462. package/dist/tools/set-workflow-tags.js.map +0 -1
  463. package/dist/tools/stream-execution.d.ts.map +0 -1
  464. package/dist/tools/stream-execution.js.map +0 -1
  465. package/dist/tools/toggle-community-inputs.d.ts.map +0 -1
  466. package/dist/tools/toggle-community-inputs.js.map +0 -1
  467. package/dist/tools/toggle-custom-node-visibility.d.ts.map +0 -1
  468. package/dist/tools/toggle-custom-node-visibility.js.map +0 -1
  469. package/dist/tools/toggle-workflow-public.d.ts.map +0 -1
  470. package/dist/tools/toggle-workflow-public.js.map +0 -1
  471. package/dist/tools/transfer-document-ownership.d.ts.map +0 -1
  472. package/dist/tools/transfer-document-ownership.js.map +0 -1
  473. package/dist/tools/unlink-app-workflow.d.ts.map +0 -1
  474. package/dist/tools/unlink-app-workflow.js.map +0 -1
  475. package/dist/tools/unpublish-app.d.ts.map +0 -1
  476. package/dist/tools/unpublish-app.js.map +0 -1
  477. package/dist/tools/update-app-file.d.ts.map +0 -1
  478. package/dist/tools/update-app-file.js.map +0 -1
  479. package/dist/tools/update-app.d.ts.map +0 -1
  480. package/dist/tools/update-app.js.map +0 -1
  481. package/dist/tools/update-custom-node.d.ts.map +0 -1
  482. package/dist/tools/update-custom-node.js.map +0 -1
  483. package/dist/tools/update-input-preset.d.ts.map +0 -1
  484. package/dist/tools/update-input-preset.js.map +0 -1
  485. package/dist/tools/update-knowledge-category.d.ts.map +0 -1
  486. package/dist/tools/update-knowledge-category.js.map +0 -1
  487. package/dist/tools/update-node.d.ts.map +0 -1
  488. package/dist/tools/update-node.js.map +0 -1
  489. package/dist/tools/update-recipe-step.d.ts.map +0 -1
  490. package/dist/tools/update-recipe-step.js.map +0 -1
  491. package/dist/tools/update-recipe-store.d.ts.map +0 -1
  492. package/dist/tools/update-recipe-store.js.map +0 -1
  493. package/dist/tools/update-recipe.d.ts.map +0 -1
  494. package/dist/tools/update-recipe.js.map +0 -1
  495. package/dist/tools/upload-document-from-url.d.ts.map +0 -1
  496. package/dist/tools/upload-document-from-url.js.map +0 -1
  497. package/dist/tools/upload-text-document.d.ts.map +0 -1
  498. package/dist/tools/upload-text-document.js.map +0 -1
  499. package/dist/tools/validate-workflow.d.ts.map +0 -1
  500. package/dist/tools/validate-workflow.js.map +0 -1
  501. package/dist/tools/vote-custom-node.d.ts.map +0 -1
  502. package/dist/tools/vote-custom-node.js.map +0 -1
  503. package/dist/tools/vote-input-preset.d.ts.map +0 -1
  504. package/dist/tools/vote-input-preset.js.map +0 -1
  505. package/dist/tools/vote-recipe.d.ts.map +0 -1
  506. package/dist/tools/vote-recipe.js.map +0 -1
  507. package/dist/tools/vote-shared-result.d.ts.map +0 -1
  508. package/dist/tools/vote-shared-result.js.map +0 -1
  509. package/dist/tools/vote-workflow.d.ts.map +0 -1
  510. package/dist/tools/vote-workflow.js.map +0 -1
  511. package/dist/types.d.ts.map +0 -1
  512. package/dist/types.js.map +0 -1
  513. package/dist/utils/script-validator.d.ts.map +0 -1
  514. package/dist/utils/script-validator.js.map +0 -1
package/dist/server.d.ts CHANGED
@@ -1,15 +1,3 @@
1
- /**
2
- * FlowDot MCP Server
3
- *
4
- * Creates and configures the MCP server instance.
5
- */
6
1
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
7
- /**
8
- * Create and configure the FlowDot MCP server.
9
- */
10
2
  export declare function createServer(): Promise<Server>;
11
- /**
12
- * Start the MCP server with stdio transport.
13
- */
14
3
  export declare function startServer(): Promise<void>;
15
- //# sourceMappingURL=server.d.ts.map
package/dist/server.js CHANGED
@@ -1,22 +1,12 @@
1
- /**
2
- * FlowDot MCP Server
3
- *
4
- * Creates and configures the MCP server instance.
5
- */
6
1
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
7
2
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
8
3
  import { FlowDotApiClient } from './api-client.js';
9
4
  import { registerTools } from './tools/index.js';
10
5
  import { registerResources } from './resources/index.js';
11
6
  const MCP_TOKEN_PREFIX = 'fd_mcp_';
12
- /**
13
- * Create and configure the FlowDot MCP server.
14
- */
15
7
  export async function createServer() {
16
- // Get configuration from environment
17
8
  const apiToken = process.env.FLOWDOT_API_TOKEN;
18
9
  const hubUrl = process.env.FLOWDOT_HUB_URL || 'https://flowdot.ai';
19
- // Validate token
20
10
  if (!apiToken) {
21
11
  console.error('Error: FLOWDOT_API_TOKEN environment variable is required.');
22
12
  console.error('');
@@ -27,7 +17,6 @@ export async function createServer() {
27
17
  console.error('');
28
18
  process.exit(1);
29
19
  }
30
- // Validate token format
31
20
  if (!apiToken.startsWith(MCP_TOKEN_PREFIX)) {
32
21
  console.error(`Error: Invalid token format. Token must start with "${MCP_TOKEN_PREFIX}".`);
33
22
  console.error('');
@@ -36,10 +25,8 @@ export async function createServer() {
36
25
  console.error('');
37
26
  process.exit(1);
38
27
  }
39
- // Create API client
40
28
  const internalSecret = process.env.INTERNAL_API_SECRET;
41
29
  const apiClient = new FlowDotApiClient(hubUrl, apiToken, internalSecret);
42
- // Test connection
43
30
  console.error(`FlowDot MCP Server connecting to ${hubUrl}...`);
44
31
  const connected = await apiClient.testConnection();
45
32
  if (!connected) {
@@ -50,7 +37,6 @@ export async function createServer() {
50
37
  else {
51
38
  console.error('Connection verified successfully.');
52
39
  }
53
- // Create MCP server with icon
54
40
  const server = new Server({
55
41
  name: 'flowdot',
56
42
  version: '1.0.0',
@@ -59,7 +45,6 @@ export async function createServer() {
59
45
  websiteUrl: 'https://flowdot.ai',
60
46
  icons: [
61
47
  {
62
- // FlowDot icon as embedded PNG data URI (universally compatible, no network required)
63
48
  src: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAaJSURBVFhHtZd7UBNHHMd/B1IGDOEhFasVqOD4wBYrsdaOjC204FSxnXEAteWRCFVL7fiqFbjDKhSSS5VCLh0NJn1MFTVIqVLBGpKopERMALGjrXbGWv9Q+4dOnaaCmvt17pgEsj4QO/3M7Gzu99j9Zvf2dheuXLkCra2toFarISU1FQTy8+Vi/SRMmjQJioqKYM6cOfDaq6/C7NmzYf/+A3D92nXo6++H/v474Ha7xeJy/QPQ0dFBtvGfCAoKgsTERAgODvba4uLiwGb7SeyU53mx3L7dJ9YiGRkZEBMbM9jK/8DSpUvBZDKBy+WC/v5+rxjIzMoSA+YlJ0NcXDyZ91DcBuk8Xi+18QbpUf5rybDqhakpKCiAxsZGuHnzpnckQK/Xe4OEoRPmjKIon2QSrA4AXi/9k9dLkTdIEQ0hh8kYEmFqUlJSgKYZOHnyJNy4cQN4Nw9w3HrcG/R0ZKSodDhuf5okCHDxhhAcEDHmJBlDEhYWBjKZDJYtWwaVlZVQX18PFosFgKZpMvaxcOujVvEGaT+vl9507x79BuknEV7KiRMnkmaAWbNmPdjxGPD6kEJeL00i7SMiICAAIiIiSDMwai6qtKr2OdI+FEGAWy/5bwIeBFNeCQyrvcKw2ru0ShNL+j0IAu4Zwh4pYItS8/TWz7iRDzHDaq00y/EMy60jfQL+LVvg8r7XP7hcP/8l0udhdXEFMCx3uUytda2hK8eR/mF5S75WaGAdzWp0xVW14qftqSOHAgKON20Kte25Or6zDuO7PseEnorzM3tK88LXvOLNXVfOBpepuSpGrb3MsFz3jppa/6Ftj4gylptfqtK0bKjeHU81HztOHWvBUdYmlNrqcdypOpzctR2fP7MNX+xltEI8w2pm0izXVKrUzMvIXw+L8orIJkfO5k+ro9/8ovkS7LciHDYh/NiC/tbvUWrbi+M7dw2I6KnA3Ga2oVRVqy1TaQY3g+F4N8eRpJB3/aCQO7/Kz3HevyQESk+M9qux34I6G8I+K8KhYwg/tqKf5RCGtu/BZzt34uSuakx0VJ0lUz3cyclI5rMXmPnMtF3urLRBgYr8rl9XyLtQKAq5s6mwoEumyHPI8uUOmfC7cIVTlrzBmQ/lDoQddoS6doR6z0gIIpowzLYXJ3TqMN5Zg3ffWSRzL18o45cvFGv38gUy97I3ZXxW2i3MTkeh8Jmp3KAAebdL4RGQ7/w9L9ehy8tx6nKFkuvQ5eac1i1c5WyE4h4URVSfQtDb0DsdR1vFdyLc9i1O6NyNd5enb+OXpGr5Jak6fsnruoE6VefpHLPS0Z2ZdsQrQK7oKlLInYKAvxWKnte8jiFQRd0xsOEMQkk3QsVphFo7wpftCAcGRQRYmzDStvcPMtcDn5leLnSOS9NvuLPT5vg4s7JPSVYVtgf6GEnWnrWKIuhuhKrTCFo7wjftCAfNCD+YEI61oNTayJJpQ+HfmD3mr+y3nyLtjyRnAw20ilu5+pMDRljb64KPziBs6UZQdyLs7EDYcwKhyYKJh1twU83OgqDgELKJJ4dWasbTLGekq2pXpCzIAMmHvcmj1/degs1nECqcCDWnEAw/IWW0Hp164EgMrdJUMSxXt76cDSLbemwYNRfMsNx7jIpbSSs1DWVqre9+wJyjqI97F8F2h/EZjX27RHviZYiZ5nWXKDUZZSz3fXH5jviNW7dH+uQ+DgzLvc+wWixRakzr6ErS7YX6zlIIB81zSbsAw3IxZawWy9Scq5TlHn5k8/PzI02wheWiGRWnY1Qa3zeVgGowF0oOWh4aw7Dcz8JGRCvv3w0jwsMhMDBw4Mg89Ag9IhoshVSD5aHbMfMZF1isqg0n7QKRkZEQGxsL8EJiIowaNYr0D4ufsS2GMrY1U0ZzDRhbRvwPkpJk4nXgyTG2nYOGNhSL0bSLdD+K6Oho8WBqt9tJF4jzMtyxHHYeBDCaeTAKnbch1dDmIEM8hIaGQkS47/5WXFICv128KF5O7kM4lkulUtJ8P8Y2AxjN4giMNpo2km4PYWFhlEQi8bGZzWbxhsTzboCoqCgf59ixY32ehdF40EqBumYK9puSKWPb86RrKMKB19/fH0JCBr6OJSUl0Nc3cDUTR2DuXN9lnJCQ4PM8Y8YMmDJlio/tSRBGQalUwfnzv0BfX594PxSEQIe9Q1wJAosXL/YmCHeF6QnTRUFTpk4d0tTImTZtGqhZNVy4cAGuXrsG9+4N/Huh/AsxDQ2pX8uTdQAAAABJRU5ErkJggg==',
64
49
  mimeType: 'image/png',
65
50
  sizes: ['32x32'],
@@ -70,10 +55,31 @@ export async function createServer() {
70
55
  tools: {},
71
56
  resources: {},
72
57
  },
58
+ instructions: `# FlowDot MCP — Start Here
59
+
60
+ **READ THIS FIRST.** Before using any FlowDot tool, you should read the FlowDot learning resources. They are **MCP resources** (not tools), so they won't appear in your tool list — you must fetch them explicitly via the MCP resource-read mechanism (URIs below).
61
+
62
+ ## The 7 Learning Resources
63
+
64
+ FlowDot exposes 7 \`learn://\` resources that explain every major feature of the platform. Each is a complete guide with concepts, tool reference, and worked examples. Read the one that matches the user's task *before* calling tools in that area.
65
+
66
+ 1. **\`learn://overview\`** — High-level overview of all FlowDot components and how they work together. Start here if you don't know where to start.
67
+ 2. **\`learn://workflows\`** — Complete guide to creating, managing, and executing FlowDot workflows (visual node-and-connection automations). Read before using \`create_workflow\`, \`add_node\`, \`add_connection\`, \`execute_workflow\`, etc.
68
+ 3. **\`learn://recipes\`** — Complete guide to agent recipes — orchestration workflows for complex automation (agent, parallel, loop, gate, branch, invoke steps). Read before using \`create_recipe\`, \`add_recipe_step\`, \`add_recipe_store\`, \`link_recipe\`, etc.
69
+ 4. **\`learn://custom-nodes\`** — Complete guide to creating and managing custom nodes (reusable JavaScript nodes with optional LLM calls). Read before using \`create_custom_node\`, \`update_custom_node\`, etc.
70
+ 5. **\`learn://apps\`** — Complete guide to building multi-file React applications with FlowDot (sandboxed frontends that can invoke workflows). Read before using \`create_app\`, \`create_app_file\`, \`edit_app_code\`, etc.
71
+ 6. **\`learn://toolkits\`** — Complete guide to creating and managing MCP agent toolkits (extend agents with new tools, credential-scoped). Read before using any \`mcp__flowdot__*toolkit*\` tool.
72
+ 7. **\`learn://knowledge-base\`** — Complete guide to using the FlowDot knowledge base with RAG (document upload, categories, semantic search). Read before using \`upload_text_document\`, \`query_knowledge_base\`, \`create_knowledge_category\`, etc.
73
+
74
+ ## How to Read a Learning Resource
75
+
76
+ Use your MCP client's resource-read capability on the URI (e.g. \`learn://recipes\`). In Claude this is the \`ReadMcpResourceTool\` — pass \`server: "flowdot"\` and \`uri: "learn://recipes"\`. You can also list all resources via \`ListMcpResourcesTool\` to confirm they're available.
77
+
78
+ ## Rule of Thumb
79
+
80
+ If the user asks about a FlowDot feature area you haven't touched in this session, **read the matching \`learn://\` resource before calling tools in that area.** These guides are the ground truth and will save you from guessing at schemas, step types, store conventions, and sandbox rules.`,
73
81
  });
74
- // Register tools
75
82
  registerTools(server, apiClient);
76
- // Register learning resources
77
83
  registerResources(server);
78
84
  console.error('FlowDot MCP Server initialized.');
79
85
  console.error('');
@@ -93,13 +99,9 @@ export async function createServer() {
93
99
  console.error('');
94
100
  return server;
95
101
  }
96
- /**
97
- * Start the MCP server with stdio transport.
98
- */
99
102
  export async function startServer() {
100
103
  const server = await createServer();
101
104
  const transport = new StdioServerTransport();
102
105
  await server.connect(transport);
103
106
  console.error('FlowDot MCP Server running on stdio.');
104
107
  }
105
- //# sourceMappingURL=server.js.map
@@ -1,10 +1,5 @@
1
- /**
2
- * add_connection MCP Tool
3
- *
4
- * Adds a connection between two nodes.
5
- */
6
- import { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
7
- import { FlowDotApiClient } from '../api-client.js';
1
+ import type { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
2
+ import type { FlowDotApiClient } from '../api-client.js';
8
3
  export declare const addConnectionTool: Tool;
9
4
  export declare function handleAddConnection(api: FlowDotApiClient, args: {
10
5
  workflow_id: string;
@@ -13,4 +8,3 @@ export declare function handleAddConnection(api: FlowDotApiClient, args: {
13
8
  target_node_id: string;
14
9
  target_socket_id: string;
15
10
  }): Promise<CallToolResult>;
16
- //# sourceMappingURL=add-connection.d.ts.map
@@ -1,8 +1,3 @@
1
- /**
2
- * add_connection MCP Tool
3
- *
4
- * Adds a connection between two nodes.
5
- */
6
1
  export const addConnectionTool = {
7
2
  name: 'add_connection',
8
3
  description: 'Create a connection between two nodes in a workflow. Connects an output socket to an input socket.',
@@ -59,4 +54,3 @@ export async function handleAddConnection(api, args) {
59
54
  };
60
55
  }
61
56
  }
62
- //# sourceMappingURL=add-connection.js.map
@@ -1,15 +1,8 @@
1
- /**
2
- * add_custom_node_comment MCP Tool
3
- *
4
- * Add a comment to a custom node.
5
- * Scope: custom_nodes:manage
6
- */
7
- import { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
8
- import { FlowDotApiClient } from '../api-client.js';
1
+ import type { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
2
+ import type { FlowDotApiClient } from '../api-client.js';
9
3
  export declare const addCustomNodeCommentTool: Tool;
10
4
  export declare function handleAddCustomNodeComment(api: FlowDotApiClient, args: {
11
5
  node_id: string;
12
6
  content: string;
13
7
  parent_id?: number;
14
8
  }): Promise<CallToolResult>;
15
- //# sourceMappingURL=add-custom-node-comment.d.ts.map
@@ -1,9 +1,3 @@
1
- /**
2
- * add_custom_node_comment MCP Tool
3
- *
4
- * Add a comment to a custom node.
5
- * Scope: custom_nodes:manage
6
- */
7
1
  export const addCustomNodeCommentTool = {
8
2
  name: 'add_custom_node_comment',
9
3
  description: 'Add a comment to a custom node. Can also be used to reply to existing comments.',
@@ -66,4 +60,3 @@ export async function handleAddCustomNodeComment(api, args) {
66
60
  };
67
61
  }
68
62
  }
69
- //# sourceMappingURL=add-custom-node-comment.js.map
@@ -1,10 +1,5 @@
1
- /**
2
- * add_node MCP Tool
3
- *
4
- * Adds a new node to a workflow.
5
- */
6
- import { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
7
- import { FlowDotApiClient } from '../api-client.js';
1
+ import type { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
2
+ import type { FlowDotApiClient } from '../api-client.js';
8
3
  export declare const addNodeTool: Tool;
9
4
  export declare function handleAddNode(api: FlowDotApiClient, args: {
10
5
  workflow_id: string;
@@ -15,4 +10,3 @@ export declare function handleAddNode(api: FlowDotApiClient, args: {
15
10
  };
16
11
  properties?: Record<string, unknown>;
17
12
  }): Promise<CallToolResult>;
18
- //# sourceMappingURL=add-node.d.ts.map
@@ -1,8 +1,3 @@
1
- /**
2
- * add_node MCP Tool
3
- *
4
- * Adds a new node to a workflow.
5
- */
6
1
  export const addNodeTool = {
7
2
  name: 'add_node',
8
3
  description: 'Add a new node to a workflow. Supports both built-in nodes and custom nodes. For custom nodes, use the format "custom_node_{hash}" where {hash} is the custom node ID.',
@@ -63,4 +58,3 @@ export async function handleAddNode(api, args) {
63
58
  };
64
59
  }
65
60
  }
66
- //# sourceMappingURL=add-node.js.map
@@ -1,11 +1,6 @@
1
- /**
2
- * add_recipe_step MCP Tool
3
- *
4
- * Adds a new step to a recipe.
5
- */
6
- import { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
7
- import { FlowDotApiClient } from '../api-client.js';
8
- import { RecipeStepType } from '../types.js';
1
+ import type { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
2
+ import type { FlowDotApiClient } from '../api-client.js';
3
+ import type { RecipeStepType } from '../types.js';
9
4
  export declare const addRecipeStepTool: Tool;
10
5
  export declare function handleAddRecipeStep(api: FlowDotApiClient, args: {
11
6
  hash: string;
@@ -20,4 +15,3 @@ export declare function handleAddRecipeStep(api: FlowDotApiClient, args: {
20
15
  y: number;
21
16
  };
22
17
  }): Promise<CallToolResult>;
23
- //# sourceMappingURL=add-recipe-step.d.ts.map
@@ -1,59 +1,54 @@
1
- /**
2
- * add_recipe_step MCP Tool
3
- *
4
- * Adds a new step to a recipe.
5
- */
6
1
  export const addRecipeStepTool = {
7
2
  name: 'add_recipe_step',
8
- description: `Add a new step to a recipe. **Save the returned step ID** for connections.
9
-
10
- **Step Types & Config:**
11
-
12
- **agent** - LLM agent with tools
13
- \`\`\`json
14
- { "user_prompt": "Instructions with {{inputs.request}} and {{store_key}}", "tools": ["read", "search", "web-search"], "output_store": "result_key", "max_iterations": 10 }
15
- \`\`\`
16
- **IMPORTANT:** Use \`user_prompt\` (NOT \`prompt\`) - this is the field the runtime expects.
17
- Tools: read, search, analyze, find-definition, web-search, edit, execute-command, create-file
18
-
19
- **parallel** - Run steps concurrently
20
- \`\`\`json
21
- { "parallel_step_ids": ["step-id-1", "step-id-2"] }
22
- \`\`\`
23
-
24
- **loop** - Iterate over array
25
- \`\`\`json
26
- { "loop_over": "array_store_key", "loop_variable": "current_item_key", "loop_step_id": "step-id-to-run", "parallel": true, "max_concurrent": 5 }
27
- \`\`\`
28
- Set \`parallel: true\` to execute iterations concurrently. Use \`max_concurrent\` to limit simultaneous executions.
29
-
30
- **gate** - Approval, condition check, or user input collection
31
- \`\`\`json
32
- { "requires_approval": true, "approval_prompt": "Review: {{data}}", "condition": "{{status}} === 'ready'", "input_options": { "button_mode": "preset", "preset": "approve_deny" }, "input_output_store": "decision" }
33
- \`\`\`
34
- **Gate Input Options** (for rich user input):
35
- - \`input_options.button_mode\`: "preset" or "custom"
36
- - \`input_options.preset\`: "approve_deny", "yes_no", or "continue_cancel"
37
- - \`input_options.buttons\`: Array of { label, value, isApproval, style } for custom buttons
38
- - \`input_options.allow_comment\`: Enable text input field
39
- - \`input_options.comment_required\`: Require text input
40
- - \`input_options.comment_placeholder\`: Placeholder text
41
- - \`input_output_store\`: Store key to save user response { action, comment, timestamp, timedOut }
42
-
43
- **branch** - Conditional routing
44
- \`\`\`json
45
- { "conditions": [{"expression": "{{x}} === 'a'", "then": "step-a"}], "default": "step-default" }
46
- \`\`\`
47
-
48
- **invoke** - Call another recipe
49
- \`\`\`json
50
- { "recipe_hash": "xyz", "input_mapping": {"target_input": "{{source_store}}"}, "output_mapping": {"target_output": "local_store"} }
51
- \`\`\`
52
-
53
- **Interpolation Syntax:**
54
- - \`{{inputs.request}}\` - Access CLI task argument (user runs: \`flowdot alias "task text"\`)
55
- - \`{{store_key}}\` - Reference any store value by its key
56
- - \`{{stores.store_key}}\` - Explicit store access (same as above)
3
+ description: `Add a new step to a recipe. **Save the returned step ID** for connections.
4
+
5
+ **Step Types & Config:**
6
+
7
+ **agent** - LLM agent with tools
8
+ \`\`\`json
9
+ { "user_prompt": "Instructions with {{inputs.request}} and {{store_key}}", "tools": ["read", "search", "web-search"], "output_store": "result_key", "max_iterations": 10 }
10
+ \`\`\`
11
+ **IMPORTANT:** Use \`user_prompt\` (NOT \`prompt\`) - this is the field the runtime expects.
12
+ Tools: read, search, analyze, find-definition, web-search, edit, execute-command, create-file
13
+
14
+ **parallel** - Run steps concurrently
15
+ \`\`\`json
16
+ { "parallel_step_ids": ["step-id-1", "step-id-2"] }
17
+ \`\`\`
18
+
19
+ **loop** - Iterate over array
20
+ \`\`\`json
21
+ { "loop_over": "array_store_key", "loop_variable": "current_item_key", "loop_step_id": "step-id-to-run", "parallel": true, "max_concurrent": 5 }
22
+ \`\`\`
23
+ Set \`parallel: true\` to execute iterations concurrently. Use \`max_concurrent\` to limit simultaneous executions.
24
+
25
+ **gate** - Approval, condition check, or user input collection
26
+ \`\`\`json
27
+ { "requires_approval": true, "approval_prompt": "Review: {{data}}", "condition": "{{status}} === 'ready'", "input_options": { "button_mode": "preset", "preset": "approve_deny" }, "input_output_store": "decision" }
28
+ \`\`\`
29
+ **Gate Input Options** (for rich user input):
30
+ - \`input_options.button_mode\`: "preset" or "custom"
31
+ - \`input_options.preset\`: "approve_deny", "yes_no", or "continue_cancel"
32
+ - \`input_options.buttons\`: Array of { label, value, isApproval, style } for custom buttons
33
+ - \`input_options.allow_comment\`: Enable text input field
34
+ - \`input_options.comment_required\`: Require text input
35
+ - \`input_options.comment_placeholder\`: Placeholder text
36
+ - \`input_output_store\`: Store key to save user response { action, comment, timestamp, timedOut }
37
+
38
+ **branch** - Conditional routing
39
+ \`\`\`json
40
+ { "conditions": [{"expression": "{{x}} === 'a'", "then": "step-a"}], "default": "step-default" }
41
+ \`\`\`
42
+
43
+ **invoke** - Call another recipe
44
+ \`\`\`json
45
+ { "recipe_hash": "xyz", "input_mapping": {"target_input": "{{source_store}}"}, "output_mapping": {"target_output": "local_store"} }
46
+ \`\`\`
47
+
48
+ **Interpolation Syntax:**
49
+ - \`{{inputs.request}}\` - Access CLI task argument (user runs: \`flowdot alias "task text"\`)
50
+ - \`{{store_key}}\` - Reference any store value by its key
51
+ - \`{{stores.store_key}}\` - Explicit store access (same as above)
57
52
  - \`{{step.step_id}}\` - Access output from a previous step`,
58
53
  inputSchema: {
59
54
  type: 'object',
@@ -114,67 +109,67 @@ export async function handleAddRecipeStep(api, args) {
114
109
  const step = await api.addRecipeStep(args.hash, input);
115
110
  let configInfo = '';
116
111
  if (args.type === 'agent') {
117
- configInfo = `
118
-
119
- **Agent Configuration:**
120
- Set the config object with:
121
- - \`user_prompt\`: The prompt for the agent (REQUIRED - use this, NOT \`prompt\`)
122
- - \`system_prompt\`: Optional system-level instructions
123
- - \`model_tier\`: LLM model tier: "simple", "capable", or "complex" (optional)
124
- - \`tools\`: Array of tool names to make available
125
- - \`output_store\`: Store key to write agent output to
126
- - \`max_iterations\`: Maximum iterations for the agent
127
-
128
- **Interpolation in prompts:**
129
- - Use \`{{inputs.request}}\` to access the CLI task argument
112
+ configInfo = `
113
+
114
+ **Agent Configuration:**
115
+ Set the config object with:
116
+ - \`user_prompt\`: The prompt for the agent (REQUIRED - use this, NOT \`prompt\`)
117
+ - \`system_prompt\`: Optional system-level instructions
118
+ - \`model_tier\`: LLM model tier: "simple", "capable", or "complex" (optional)
119
+ - \`tools\`: Array of tool names to make available
120
+ - \`output_store\`: Store key to write agent output to
121
+ - \`max_iterations\`: Maximum iterations for the agent
122
+
123
+ **Interpolation in prompts:**
124
+ - Use \`{{inputs.request}}\` to access the CLI task argument
130
125
  - Use \`{{store_key}}\` to reference store values`;
131
126
  }
132
127
  else if (args.type === 'loop') {
133
- configInfo = `
134
-
135
- **Loop Configuration:**
136
- Set the config object with:
137
- - \`loop_over\`: Store key containing the array to iterate over
138
- - \`loop_variable\`: Store key to put each item in
139
- - \`loop_step_id\`: Step ID to run for each iteration
140
- - \`parallel\`: (optional) Execute iterations concurrently (default: false)
128
+ configInfo = `
129
+
130
+ **Loop Configuration:**
131
+ Set the config object with:
132
+ - \`loop_over\`: Store key containing the array to iterate over
133
+ - \`loop_variable\`: Store key to put each item in
134
+ - \`loop_step_id\`: Step ID to run for each iteration
135
+ - \`parallel\`: (optional) Execute iterations concurrently (default: false)
141
136
  - \`max_concurrent\`: (optional) Limit concurrent executions when parallel=true`;
142
137
  }
143
138
  else if (args.type === 'branch') {
144
- configInfo = `
145
-
146
- **Branch Configuration:**
147
- Set the config object with:
148
- - \`conditions\`: Array of { expression, then } objects
139
+ configInfo = `
140
+
141
+ **Branch Configuration:**
142
+ Set the config object with:
143
+ - \`conditions\`: Array of { expression, then } objects
149
144
  - \`default\`: Step ID if no conditions match`;
150
145
  }
151
146
  else if (args.type === 'gate') {
152
- configInfo = `
153
-
154
- **Gate Configuration:**
155
- Set the config object with:
156
- - \`requires_approval\`: Boolean to require user input
157
- - \`approval_prompt\`: Message to show the user
158
- - \`condition\`: Optional expression to evaluate
159
- - \`input_options\`: Rich input configuration object:
160
- - \`button_mode\`: "preset" or "custom"
161
- - \`preset\`: "approve_deny", "yes_no", or "continue_cancel"
162
- - \`buttons\`: Array of { label, value, isApproval, style } for custom options
163
- - \`allow_comment\`: Enable text input field
164
- - \`comment_required\`: Require text input
165
- - \`comment_placeholder\`: Placeholder text
147
+ configInfo = `
148
+
149
+ **Gate Configuration:**
150
+ Set the config object with:
151
+ - \`requires_approval\`: Boolean to require user input
152
+ - \`approval_prompt\`: Message to show the user
153
+ - \`condition\`: Optional expression to evaluate
154
+ - \`input_options\`: Rich input configuration object:
155
+ - \`button_mode\`: "preset" or "custom"
156
+ - \`preset\`: "approve_deny", "yes_no", or "continue_cancel"
157
+ - \`buttons\`: Array of { label, value, isApproval, style } for custom options
158
+ - \`allow_comment\`: Enable text input field
159
+ - \`comment_required\`: Require text input
160
+ - \`comment_placeholder\`: Placeholder text
166
161
  - \`input_output_store\`: Store key to save { action, comment, timestamp, timedOut }`;
167
162
  }
168
163
  return {
169
164
  content: [
170
165
  {
171
166
  type: 'text',
172
- text: `Step added successfully!
173
-
174
- **Name:** ${step.name}
175
- **Type:** ${step.type}
176
- **ID:** ${step.id}
177
- **Next:** ${step.next || 'None'}
167
+ text: `Step added successfully!
168
+
169
+ **Name:** ${step.name}
170
+ **Type:** ${step.type}
171
+ **ID:** ${step.id}
172
+ **Next:** ${step.next || 'None'}
178
173
  **On Error:** ${step.on_error || 'None'}${configInfo}`,
179
174
  },
180
175
  ],
@@ -193,4 +188,3 @@ Set the config object with:
193
188
  };
194
189
  }
195
190
  }
196
- //# sourceMappingURL=add-recipe-step.js.map
@@ -1,10 +1,5 @@
1
- /**
2
- * add_recipe_store MCP Tool
3
- *
4
- * Adds a new store (variable) to a recipe.
5
- */
6
- import { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
7
- import { FlowDotApiClient } from '../api-client.js';
1
+ import type { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
2
+ import type { FlowDotApiClient } from '../api-client.js';
8
3
  export declare const addRecipeStoreTool: Tool;
9
4
  export declare function handleAddRecipeStore(api: FlowDotApiClient, args: {
10
5
  hash: string;
@@ -16,4 +11,3 @@ export declare function handleAddRecipeStore(api: FlowDotApiClient, args: {
16
11
  is_input?: boolean;
17
12
  is_output?: boolean;
18
13
  }): Promise<CallToolResult>;
19
- //# sourceMappingURL=add-recipe-store.d.ts.map
@@ -1,33 +1,28 @@
1
- /**
2
- * add_recipe_store MCP Tool
3
- *
4
- * Adds a new store (variable) to a recipe.
5
- */
6
1
  export const addRecipeStoreTool = {
7
2
  name: 'add_recipe_store',
8
- description: `Add a new store (variable) to a recipe. Stores hold data that flows between steps.
9
-
10
- **Store Types:**
11
- - **Input stores** (is_input: true): Values user provides when running
12
- - **Output stores** (is_output: true): Values returned after execution
13
- - **Internal stores**: Temporary values used during execution
14
-
15
- **IMPORTANT - The \`request\` Convention:**
16
- When users run a recipe with a task argument like:
17
- \`flowdot my-recipe "do something"\`
18
-
19
- The CLI passes this as \`inputs.request\`. Therefore:
20
- - **Name your primary input store \`request\`** to receive the task directly
21
- - In prompts, use \`{{inputs.request}}\` to access the CLI task argument
22
- - Example: \`add_recipe_store(key: "request", is_input: true)\`
23
-
24
- **Using Stores in Steps:**
25
- Reference stores in agent prompts, conditions, and mappings with \`{{store_key}}\` syntax:
26
- - Agent prompt: \`"Analyze {{topic}} and write to {{output}}"\`
27
- - Branch condition: \`"{{severity}} === 'high'"\`
28
- - Gate approval: \`"Review findings:\\n{{findings}}"\`
29
-
30
- **Agent Output:**
3
+ description: `Add a new store (variable) to a recipe. Stores hold data that flows between steps.
4
+
5
+ **Store Types:**
6
+ - **Input stores** (is_input: true): Values user provides when running
7
+ - **Output stores** (is_output: true): Values returned after execution
8
+ - **Internal stores**: Temporary values used during execution
9
+
10
+ **IMPORTANT - The \`request\` Convention:**
11
+ When users run a recipe with a task argument like:
12
+ \`flowdot my-recipe "do something"\`
13
+
14
+ The CLI passes this as \`inputs.request\`. Therefore:
15
+ - **Name your primary input store \`request\`** to receive the task directly
16
+ - In prompts, use \`{{inputs.request}}\` to access the CLI task argument
17
+ - Example: \`add_recipe_store(key: "request", is_input: true)\`
18
+
19
+ **Using Stores in Steps:**
20
+ Reference stores in agent prompts, conditions, and mappings with \`{{store_key}}\` syntax:
21
+ - Agent prompt: \`"Analyze {{topic}} and write to {{output}}"\`
22
+ - Branch condition: \`"{{severity}} === 'high'"\`
23
+ - Gate approval: \`"Review findings:\\n{{findings}}"\`
24
+
25
+ **Agent Output:**
31
26
  Set \`output_store\` in agent config to write results to a store.`,
32
27
  inputSchema: {
33
28
  type: 'object',
@@ -88,13 +83,13 @@ export async function handleAddRecipeStore(api, args) {
88
83
  content: [
89
84
  {
90
85
  type: 'text',
91
- text: `Store added successfully!
92
-
93
- **Key:** ${store.key}
94
- **Type:** ${storeType} (${store.schema_type})
95
- **ID:** ${store.id}
96
- **Default Value:** ${store.default_value !== undefined ? JSON.stringify(store.default_value) : 'None'}
97
-
86
+ text: `Store added successfully!
87
+
88
+ **Key:** ${store.key}
89
+ **Type:** ${storeType} (${store.schema_type})
90
+ **ID:** ${store.id}
91
+ **Default Value:** ${store.default_value !== undefined ? JSON.stringify(store.default_value) : 'None'}
92
+
98
93
  Use this store in expressions with: \`{{${store.key}}}\``,
99
94
  },
100
95
  ],
@@ -113,4 +108,3 @@ Use this store in expressions with: \`{{${store.key}}}\``,
113
108
  };
114
109
  }
115
110
  }
116
- //# sourceMappingURL=add-recipe-store.js.map
@@ -1,10 +1,5 @@
1
- /**
2
- * add_shared_result_comment MCP Tool
3
- *
4
- * Adds a comment to a shared execution result.
5
- */
6
- import { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
7
- import { FlowDotApiClient } from '../api-client.js';
1
+ import type { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
2
+ import type { FlowDotApiClient } from '../api-client.js';
8
3
  export declare const addSharedResultCommentTool: Tool;
9
4
  export declare function handleAddSharedResultComment(api: FlowDotApiClient, args: {
10
5
  workflow_id: string;
@@ -12,4 +7,3 @@ export declare function handleAddSharedResultComment(api: FlowDotApiClient, args
12
7
  content: string;
13
8
  parent_id?: number;
14
9
  }): Promise<CallToolResult>;
15
- //# sourceMappingURL=add-shared-result-comment.d.ts.map
@@ -1,8 +1,3 @@
1
- /**
2
- * add_shared_result_comment MCP Tool
3
- *
4
- * Adds a comment to a shared execution result.
5
- */
6
1
  export const addSharedResultCommentTool = {
7
2
  name: 'add_shared_result_comment',
8
3
  description: 'Add a comment to a shared execution result.',
@@ -31,7 +26,6 @@ export const addSharedResultCommentTool = {
31
26
  };
32
27
  export async function handleAddSharedResultComment(api, args) {
33
28
  try {
34
- // Validate content length
35
29
  if (!args.content || args.content.trim().length === 0) {
36
30
  return {
37
31
  content: [{ type: 'text', text: 'Error: Comment content cannot be empty.' }],
@@ -67,4 +61,3 @@ export async function handleAddSharedResultComment(api, args) {
67
61
  };
68
62
  }
69
63
  }
70
- //# sourceMappingURL=add-shared-result-comment.js.map
@@ -1,14 +1,8 @@
1
- /**
2
- * add_workflow_comment MCP Tool
3
- *
4
- * Adds a comment to a workflow.
5
- */
6
- import { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
7
- import { FlowDotApiClient } from '../api-client.js';
1
+ import type { Tool, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
2
+ import type { FlowDotApiClient } from '../api-client.js';
8
3
  export declare const addWorkflowCommentTool: Tool;
9
4
  export declare function handleAddWorkflowComment(api: FlowDotApiClient, args: {
10
5
  workflow_id: string;
11
6
  content: string;
12
7
  parent_id?: number;
13
8
  }): Promise<CallToolResult>;
14
- //# sourceMappingURL=add-workflow-comment.d.ts.map
@@ -1,8 +1,3 @@
1
- /**
2
- * add_workflow_comment MCP Tool
3
- *
4
- * Adds a comment to a workflow.
5
- */
6
1
  export const addWorkflowCommentTool = {
7
2
  name: 'add_workflow_comment',
8
3
  description: 'Add a comment to a workflow. You can only comment on public workflows or your own workflows.',
@@ -27,7 +22,6 @@ export const addWorkflowCommentTool = {
27
22
  };
28
23
  export async function handleAddWorkflowComment(api, args) {
29
24
  try {
30
- // Validate content length
31
25
  if (!args.content || args.content.trim().length === 0) {
32
26
  return {
33
27
  content: [{ type: 'text', text: 'Error: Comment content cannot be empty.' }],
@@ -63,4 +57,3 @@ export async function handleAddWorkflowComment(api, args) {
63
57
  };
64
58
  }
65
59
  }
66
- //# sourceMappingURL=add-workflow-comment.js.map