@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/README.md CHANGED
@@ -1,162 +1,439 @@
1
- # @flowdot.ai/mcp-server
2
-
3
- Connect Claude Desktop, Cursor, and other MCP-compatible AI tools to FlowDot workflows.
4
-
5
- ## What is MCP?
6
-
7
- MCP (Model Context Protocol) is an open standard that allows AI models to interact with external tools and services. With the FlowDot MCP Server, you can:
8
-
9
- - **List and run workflows** directly from Claude Desktop or Cursor
10
- - **Chat with the FlowDot agent** to discover and execute workflows
11
- - **Check execution status** and get workflow results
12
-
13
- ## Quick Start
14
-
15
- ### 1. Get an MCP Token
16
-
17
- 1. Go to [flowdot.ai](https://flowdot.ai)
18
- 2. Navigate to **Settings** > **MCP Tokens**
19
- 3. Click **Create New Token**
20
- 4. Select the scopes you need:
21
- - `workflows:read` - List and view workflows
22
- - `workflows:execute` - Execute workflows
23
- - `executions:read` - View execution results
24
- - `agent:chat` - Chat with the FlowDot agent
25
- 5. Copy the token (starts with `fd_mcp_`)
26
-
27
- ### 2. Configure Claude Desktop
28
-
29
- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
30
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
31
-
32
- ```json
33
- {
34
- "mcpServers": {
35
- "flowdot": {
36
- "command": "npx",
37
- "args": ["@flowdot.ai/mcp-server"],
38
- "env": {
39
- "FLOWDOT_API_TOKEN": "fd_mcp_your_token_here"
40
- }
41
- }
42
- }
43
- }
44
- ```
45
-
46
- ### 3. Restart Claude Desktop
47
-
48
- After adding the configuration, restart Claude Desktop to load the MCP server.
49
-
50
- ## Available Tools
51
-
52
- ### list_workflows
53
-
54
- List your FlowDot workflows.
55
-
56
- ```
57
- You: "What FlowDot workflows do I have?"
58
-
59
- Claude: I'll check your FlowDot workflows.
60
-
61
- Found 3 workflow(s):
62
- - News Summarizer (abc123) - Fetches and summarizes daily news
63
- - Code Reviewer (def456) - Reviews PRs with AI
64
- - Content Generator (ghi789) - Creates blog content
65
- ```
66
-
67
- ### execute_workflow
68
-
69
- Execute a workflow by ID.
70
-
71
- ```
72
- You: "Run my News Summarizer workflow"
73
-
74
- Claude: I'll execute the News Summarizer workflow.
75
-
76
- Workflow executed successfully.
77
-
78
- Execution ID: exec_123abc
79
- Status: completed
80
-
81
- Outputs:
82
- {
83
- "summary": "Today's top stories: ..."
84
- }
85
- ```
86
-
87
- ### get_execution_status
88
-
89
- Check the status of a running or completed execution.
90
-
91
- ```
92
- You: "What's the status of execution exec_123abc?"
93
-
94
- Claude: Execution Status: Completed
95
- Execution ID: exec_123abc
96
- Started: 2024-12-28T10:00:00Z
97
- Completed: 2024-12-28T10:00:15Z
98
- Duration: 15.23s
99
- ```
100
-
101
- ### agent_chat
102
-
103
- Chat with the FlowDot agent to discover workflows.
104
-
105
- ```
106
- You: "Ask FlowDot what workflows I have for content creation"
107
-
108
- Claude: The FlowDot agent says:
109
-
110
- I found 2 workflows that can help with content creation:
111
-
112
- 1. **Content Generator** - Creates blog posts from topics
113
- 2. **Social Media Poster** - Generates and posts to social platforms
114
-
115
- Would you like me to run one of these?
116
- ```
117
-
118
- ## Environment Variables
119
-
120
- | Variable | Required | Default | Description |
121
- |----------|----------|---------|-------------|
122
- | `FLOWDOT_API_TOKEN` | Yes | - | Your MCP token (starts with `fd_mcp_`) |
123
- | `FLOWDOT_HUB_URL` | No | `https://flowdot.ai` | FlowDot Hub URL |
124
-
125
- ## Configuring Other MCP Clients
126
-
127
- ### Cursor
128
-
129
- Go to **Settings** > **MCP Servers** > **Add Server** and add:
130
-
131
- ```json
132
- {
133
- "flowdot": {
134
- "command": "npx",
135
- "args": ["@flowdot.ai/mcp-server"],
136
- "env": {
137
- "FLOWDOT_API_TOKEN": "fd_mcp_your_token_here"
138
- }
139
- }
140
- }
141
- ```
142
-
143
- ### Windsurf
144
-
145
- Similar configuration as Cursor - check Windsurf documentation for MCP setup.
146
-
147
- ## Development
148
-
149
- ```bash
150
- # Install dependencies
151
- npm install
152
-
153
- # Build
154
- npm run build
155
-
156
- # Run locally
157
- FLOWDOT_API_TOKEN=fd_mcp_xxx npm start
158
- ```
159
-
160
- ## License
161
-
162
- MIT
1
+ # @flowdot.ai/mcp-server
2
+
3
+ Connect Claude Desktop, Cursor, Windsurf, Claude Code, and any other MCP-compatible AI client to the **entire FlowDot platform** — workflows, recipes, custom nodes, apps, knowledge bases, agent toolkits, and the full community/sharing layer.
4
+
5
+ ## What is MCP?
6
+
7
+ MCP (Model Context Protocol) is an open standard that lets AI models interact with external tools and services. The FlowDot MCP Server exposes **142 tools across 16 functional categories**, plus **7 educational `learn://` resources**, giving an AI client a complete operational interface to FlowDot — no web UI required.
8
+
9
+ With this server, an AI client can:
10
+
11
+ - **Build workflows from scratch** create graphs, add nodes, wire connections, validate, execute, stream results
12
+ - **Author and share custom nodes** — write JavaScript components, validate them with AST parsing, publish to the community
13
+ - **Develop FlowDot Apps** — full React multi-file projects with surgical code editing operations
14
+ - **Design agent recipes** — multi-step agentic programs with stores, gates, branches, loops, parallel steps, and sub-recipes
15
+ - **Manage knowledge bases (RAG)** — categories, documents, uploads, semantic queries
16
+ - **Create and invoke agent toolkits** — define new tools, configure OAuth/API-key credentials, install, invoke
17
+ - **Share and discover** — public URLs, voting, comments, favorites, community browsing
18
+ - **Run and observe executions** start, stream via SSE, cancel, retry, view history and metrics
19
+
20
+ > **Note:** Recipes can be **designed** through MCP but must be **executed** via the FlowDot CLI (`@flowdot.ai/cli`). Recipes are long-running agentic programs that exceed AI client timeouts and require local file/code/shell access.
21
+
22
+ ## Quick Start
23
+
24
+ ### 1. Get an MCP Token
25
+
26
+ 1. Go to [flowdot.ai](https://flowdot.ai)
27
+ 2. Navigate to **Settings** > **MCP Tokens**
28
+ 3. Click **Create New Token**
29
+ 4. Select the scopes you need (see [Token Scopes](#token-scopes) below)
30
+ 5. Copy the token (starts with `fd_mcp_`)
31
+
32
+ ### 2. Configure Claude Desktop
33
+
34
+ **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
35
+ **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
36
+
37
+ ```json
38
+ {
39
+ "mcpServers": {
40
+ "flowdot": {
41
+ "command": "npx",
42
+ "args": ["@flowdot.ai/mcp-server"],
43
+ "env": {
44
+ "FLOWDOT_API_TOKEN": "fd_mcp_your_token_here"
45
+ }
46
+ }
47
+ }
48
+ }
49
+ ```
50
+
51
+ ### 3. Restart Claude Desktop
52
+
53
+ After adding the configuration, restart Claude Desktop to load the MCP server.
54
+
55
+ ## Installation Options
56
+
57
+ ### Option A: Claude Desktop Extension (.mcpb)
58
+
59
+ Download the `.mcpb` extension bundle and double-click to install in Claude Desktop. The extension includes Node.js runtime and all dependencies — no separate installation needed.
60
+
61
+ ### Option B: npm (Cursor, Claude Code, manual config)
62
+
63
+ ```bash
64
+ npx @flowdot.ai/mcp-server
65
+ ```
66
+
67
+ Or install globally:
68
+
69
+ ```bash
70
+ npm install -g @flowdot.ai/mcp-server
71
+ flowdot-mcp
72
+ ```
73
+
74
+ ## Educational Resources (`learn://`)
75
+
76
+ The server exposes 7 standalone concept guides via the MCP `ReadResourceRequest` interface. Read these *before* invoking tools to scaffold your understanding:
77
+
78
+ | Resource | Content |
79
+ |----------|---------|
80
+ | `learn://overview` | FlowDot platform overview |
81
+ | `learn://workflows` | Workflow creation guide |
82
+ | `learn://recipes` | Agent recipe orchestration guide |
83
+ | `learn://custom-nodes` | Custom node development guide |
84
+ | `learn://apps` | App development guide |
85
+ | `learn://toolkits` | Agent toolkit guide |
86
+ | `learn://knowledge-base` | Knowledge base & RAG guide |
87
+
88
+ ## Available Tools
89
+
90
+ The server exposes **142 tools** organized into 16 categories.
91
+
92
+ ### Core (4)
93
+ - `list_workflows` — List all workflows accessible to the authenticated user
94
+ - `execute_workflow` Execute a workflow with optional inputs (sync or async)
95
+ - `get_execution_status` — Get the status and results of a workflow execution
96
+ - `agent_chat` — Chat with the FlowDot AI agent for workflow assistance
97
+
98
+ ### Analytics & Feedback (3)
99
+ - `get_workflow_metrics` — Impressions, success/failure rates, average duration
100
+ - `get_workflow_comments` — Comments and ratings on workflows
101
+ - `get_execution_history` — Past execution history with timestamps and status
102
+
103
+ ### Workflow Management (5)
104
+ - `get_workflow_details` — Detailed workflow info including nodes, connections, signature
105
+ - `get_workflow_inputs_schema` — Input schema with expected types and required fields
106
+ - `duplicate_workflow` Create a copy of an existing workflow
107
+ - `toggle_workflow_public` — Make a workflow public or private
108
+ - `favorite_workflow` Add/remove workflow from favorites
109
+
110
+ ### Execution Enhancements (3)
111
+ - `cancel_execution` — Cancel running/pending workflow executions
112
+ - `retry_execution` Retry failed executions with the same inputs
113
+ - `stream_execution` Real-time SSE streaming of workflow execution
114
+
115
+ ### Discovery & Search (5)
116
+ - `get_workflow_tags` — Get tags associated with a workflow
117
+ - `set_workflow_tags` — Set/update workflow tags
118
+ - `search_workflows` — Search workflows by name, description, tags
119
+ - `search` — Unified search across workflows, apps, custom nodes
120
+ - `get_public_workflows` Browse public workflows shared by other users
121
+
122
+ ### Workflow Building (4)
123
+ - `create_workflow` Create a new empty workflow
124
+ - `delete_workflow` — Permanently delete a workflow
125
+ - `get_workflow_graph` Get complete graph structure (all nodes + connections)
126
+ - `validate_workflow` — Validate for missing connections, invalid config, disconnected nodes
127
+
128
+ ### Node Operations (5)
129
+ - `list_available_nodes` List all node types organized by category
130
+ - `get_node_schema` — Full schema for a node type (inputs, outputs, properties)
131
+ - `add_node` — Add new node (built-in or custom via `custom_node_{hash}`)
132
+ - `update_node` — Update node position or properties
133
+ - `delete_node` — Delete node and all its connections
134
+
135
+ ### Connection Operations (3)
136
+ - `add_connection` — Connect a node output to a node input
137
+ - `delete_connection` — Remove a connection between two nodes
138
+ - `get_node_connections` — Get all connections to/from a specific node
139
+
140
+ ### Custom Nodes (13)
141
+ - `list_custom_nodes` — List your custom nodes with search/category filtering
142
+ - `search_public_custom_nodes` — Search public nodes shared by the community
143
+ - `get_custom_node` — Detailed custom node info (inputs, outputs, script code)
144
+ - `get_custom_node_comments` — Comments and ratings on a custom node
145
+ - `get_custom_node_template` Generate a working script template based on I/O definitions
146
+ - `create_custom_node` — Create new custom node with script, inputs, outputs (validated with AST parsing)
147
+ - `update_custom_node` — Update name, description, code, properties
148
+ - `delete_custom_node` — Permanently delete a custom node
149
+ - `copy_custom_node` — Copy a public node to your library
150
+ - `toggle_custom_node_visibility` — Change visibility (private/public/unlisted)
151
+ - `vote_custom_node` — Upvote/downvote/remove vote
152
+ - `favorite_custom_node` — Add/remove from favorites
153
+ - `add_custom_node_comment` — Add comment or reply
154
+
155
+ ### Apps (23)
156
+
157
+ #### Core App Operations (12)
158
+ - `list_apps` — List your React frontend apps
159
+ - `search_apps` — Search the public app marketplace
160
+ - `get_app` — Detailed app info including React code and linked workflows
161
+ - `create_app` — Create a new React app (Tailwind + React 18, sandboxed)
162
+ - `update_app` — Update name, description, code, config, mobile settings
163
+ - `delete_app` — Permanently delete app
164
+ - `publish_app` — Publish to the public marketplace
165
+ - `unpublish_app` — Make a published app private
166
+ - `clone_app` — Clone a public app to your library
167
+ - `link_app_workflow` — Link a workflow to an app for `invokeWorkflow()` use
168
+ - `unlink_app_workflow` — Unlink a workflow from an app
169
+ - `get_app_template` — Get starter code templates (basic, chat, dashboard, form-builder, data-viewer)
170
+
171
+ #### Surgical Code Editing (4)
172
+ - `edit_app_code` — Find/replace specific strings in app code
173
+ - `append_app_code` — Append content before the closing brace
174
+ - `prepend_app_code` — Prepend content to the start
175
+ - `insert_app_code` — Insert content after a specific pattern match
176
+
177
+ #### Multi-File App Operations (7)
178
+ - `list_app_files` — List all files in a multi-file app
179
+ - `get_app_file` — Get content of a specific file
180
+ - `create_app_file` — Create new file (jsx, js, ts, tsx, css, json, md)
181
+ - `update_app_file` — Update file content and type
182
+ - `delete_app_file` — Delete a file
183
+ - `rename_app_file` — Rename or move a file
184
+ - `set_app_entry_file` — Set a file as the app's entry point
185
+
186
+ ### Sharing & Public URLs (9)
187
+ - `get_workflow_public_url` — Public shareable URL for a workflow
188
+ - `list_shared_results` — Shared execution results for a workflow
189
+ - `get_shared_result` — Specific shared result with outputs/inputs
190
+ - `get_shared_result_comments` — Comments on a shared result
191
+ - `create_shared_result` — Create a shareable link (with optional expiry)
192
+ - `add_workflow_comment` — Comment on a workflow
193
+ - `add_shared_result_comment` — Comment on a shared result
194
+ - `vote_workflow` — Upvote/downvote a workflow
195
+ - `vote_shared_result` — Upvote/downvote a shared result
196
+
197
+ ### Input Presets (7)
198
+ - `list_input_presets` — Pre-configured input sets for a workflow
199
+ - `get_input_preset` — Specific preset with all values
200
+ - `create_input_preset` — Create a shareable preset
201
+ - `update_input_preset` — Update preset description/values
202
+ - `delete_input_preset` — Delete a preset
203
+ - `vote_input_preset` — Vote on a preset
204
+ - `toggle_community_inputs` — Enable/disable community inputs for a workflow
205
+
206
+ ### Teams (1)
207
+ - `list_user_teams` — List all teams the user belongs to (with role + member count)
208
+
209
+ ### Knowledge Base / RAG (14)
210
+ - `list_knowledge_categories` — Document categories in your knowledge base
211
+ - `create_knowledge_category` — New category with name, description, color
212
+ - `update_knowledge_category` — Update category properties
213
+ - `delete_knowledge_category` — Delete a category (documents become uncategorized)
214
+ - `list_knowledge_documents` — Documents with category/team/status filters
215
+ - `get_knowledge_document` — Document details by ID/hash
216
+ - `upload_text_document` — Upload text content directly
217
+ - `upload_document_from_url` — Download and add a document from a URL
218
+ - `move_document_to_category` — Move a document or make it uncategorized
219
+ - `transfer_document_ownership` — Transfer between personal and team knowledge base
220
+ - `reprocess_document` — Reprocess a failed/stuck document
221
+ - `delete_knowledge_document` — Permanently delete a document
222
+ - `query_knowledge_base` — Semantic + keyword RAG search
223
+ - `get_knowledge_storage` — Storage usage and limits
224
+
225
+ ### Agent Toolkits (24)
226
+
227
+ Agent Toolkits let an AI client *create new tools* through the MCP interface — effectively MCP within MCP. Once installed, toolkit tools become callable via `invoke_toolkit_tool`.
228
+
229
+ #### Toolkit Management (12)
230
+ - `list_agent_toolkits` — Your toolkits
231
+ - `search_agent_toolkits` — Search public toolkit marketplace
232
+ - `get_agent_toolkit` — Toolkit details (tools, credentials, metadata)
233
+ - `get_toolkit_comments` — Comments on a toolkit
234
+ - `create_agent_toolkit` — Create a new toolkit with credential requirements
235
+ - `update_agent_toolkit` — Update title, description, category, credentials
236
+ - `delete_agent_toolkit` — Delete a toolkit
237
+ - `copy_agent_toolkit` — Create a private copy of a public toolkit
238
+ - `toggle_toolkit_visibility` — Change visibility (private/public/unlisted)
239
+ - `vote_toolkit` — Vote on a toolkit
240
+ - `favorite_toolkit` — Add/remove from favorites
241
+ - `add_toolkit_comment` — Add comment to a toolkit
242
+
243
+ #### Toolkit Usage & Invocation (12)
244
+ - `install_toolkit` — Install a toolkit on your account
245
+ - `uninstall_toolkit` — Uninstall
246
+ - `list_installed_toolkits` — Installed toolkits with credential status
247
+ - `toggle_toolkit_active` — Enable/disable an installation
248
+ - `check_toolkit_credentials` — Show which credentials are missing
249
+ - `update_toolkit_installation` — Map toolkit credentials to your API keys
250
+ - `invoke_toolkit_tool` — Execute a tool from an installed toolkit
251
+ - `list_toolkit_tools` — All tools in a toolkit
252
+ - `get_toolkit_tool` — Tool details with input/output schemas
253
+ - `create_toolkit_tool` — Create an HTTP- or Workflow-backed tool inside a toolkit
254
+ - `update_toolkit_tool` — Update tool configuration, schema, endpoint
255
+ - `delete_toolkit_tool` — Delete a tool from a toolkit
256
+
257
+ **Credential types supported:** `api_key`, `oauth` (with PKCE + scopes + refresh tokens), `bearer`, `basic`, `custom`
258
+ **Tool types supported:** `http` (REST API), `workflow` (invoke a FlowDot workflow)
259
+
260
+ ### Agent Recipes (19)
261
+
262
+ Recipes are reusable agentic programs with multiple step types and persistent stores. **MCP can DESIGN recipes; only the CLI can RUN them.**
263
+
264
+ #### Recipe Core (8)
265
+ - `list_recipes` — List recipes (with `favorites_only` filter)
266
+ - `get_recipe` — Recipe details with steps, stores, metadata
267
+ - `get_recipe_definition` — Full recipe in YAML or JSON format
268
+ - `browse_recipes` — Public recipe browsing with pagination/sorting
269
+ - `create_recipe` — Create a new agent recipe
270
+ - `update_recipe` — Update metadata and `entry_step_id` (critical for execution)
271
+ - `delete_recipe` — Delete a recipe
272
+ - `fork_recipe` — Create a private copy of a public recipe
273
+
274
+ #### Step Management (4)
275
+ - `list_recipe_steps` — All steps with types, connections, config
276
+ - `add_recipe_step` — Add step (`agent`, `parallel`, `loop`, `gate`, `branch`, `invoke`)
277
+ - `update_recipe_step` — Update step name, description, config, connections
278
+ - `delete_recipe_step` — Delete a step
279
+
280
+ #### Store Management (4)
281
+ - `list_recipe_stores` — Stores (variables) in a recipe
282
+ - `add_recipe_store` — Add a store for data flow between steps
283
+ - `update_recipe_store` — Update key, label, type, default, I/O flags
284
+ - `delete_recipe_store` — Delete a store
285
+
286
+ #### Engagement (3)
287
+ - `link_recipe` — Link recipe for CLI execution with an alias
288
+ - `vote_recipe` — Vote on a public recipe
289
+ - `favorite_recipe` — Add/remove from favorites
290
+
291
+ **Step types:** `agent` (LLM with tools), `parallel` (concurrent), `loop` (iterate array), `gate` (approval checkpoint), `branch` (conditional), `invoke` (subroutine)
292
+
293
+ > To **execute** a recipe, use the FlowDot CLI:
294
+ > ```bash
295
+ > npx @flowdot.ai/cli recipes run <aliasOrHash> --input '{"key":"value"}'
296
+ > ```
297
+
298
+ ## Token Scopes
299
+
300
+ When creating an MCP token in FlowDot Settings, you can select exactly which scopes to grant. Restrict tokens to the minimum scope they need:
301
+
302
+ | Scope namespace | Tools it covers |
303
+ |---|---|
304
+ | `workflows:read` | List, search, get, view public workflows |
305
+ | `workflows:execute` | Execute workflows |
306
+ | `workflows:manage` | Create, update, delete, validate, build workflow graphs |
307
+ | `executions:read` | Status, history, stream |
308
+ | `executions:manage` | Cancel, retry |
309
+ | `agent:chat` | Agent chat |
310
+ | `custom_nodes:read` | List, search, get, get template |
311
+ | `custom_nodes:manage` | Create, update, delete, copy, toggle visibility, vote, comment |
312
+ | `apps:read` | List, search, get apps and files |
313
+ | `apps:manage` | Create, update, delete, publish, code editing, file management |
314
+ | `recipes:read` | List, get, browse, get definition |
315
+ | `recipes:manage` | Create, update, delete, fork, link, manage steps and stores |
316
+ | `knowledge:read` | List, get, query |
317
+ | `knowledge:manage` | Upload, delete, categorize, transfer, reprocess |
318
+ | `agent_toolkits:read` | List, search, get toolkits and tools |
319
+ | `agent_toolkits:manage` | Create, update, delete, install, invoke |
320
+ | `sharing:read` | Get shared results, public URLs |
321
+ | `sharing:manage` | Create shared results, vote, comment |
322
+ | `input_presets:read` | List, get presets |
323
+ | `input_presets:manage` | Create, update, delete |
324
+ | `teams:read` | List teams |
325
+ | `discovery:read` | Search, tags, public browsing |
326
+ | `analytics:read` | Metrics, comments, history |
327
+
328
+ ## Environment Variables
329
+
330
+ | Variable | Required | Default | Description |
331
+ |----------|----------|---------|-------------|
332
+ | `FLOWDOT_API_TOKEN` | Yes | — | Your MCP token (must start with `fd_mcp_`) |
333
+ | `FLOWDOT_HUB_URL` | No | `https://flowdot.ai` | FlowDot Hub URL (override for self-hosted) |
334
+ | `INTERNAL_API_SECRET` | No | — | Optional shared secret for internal API calls |
335
+
336
+ ## Configuring Other MCP Clients
337
+
338
+ ### Cursor
339
+
340
+ **Settings** > **MCP Servers** > **Add Server**:
341
+
342
+ ```json
343
+ {
344
+ "flowdot": {
345
+ "command": "npx",
346
+ "args": ["@flowdot.ai/mcp-server"],
347
+ "env": {
348
+ "FLOWDOT_API_TOKEN": "fd_mcp_your_token_here"
349
+ }
350
+ }
351
+ }
352
+ ```
353
+
354
+ ### Windsurf
355
+
356
+ Same configuration as Cursor — see the Windsurf documentation for the exact location of the MCP config file.
357
+
358
+ ### Claude Code
359
+
360
+ Add to your Claude Code MCP configuration (typically `~/.config/claude-code/mcp.json`):
361
+
362
+ ```json
363
+ {
364
+ "mcpServers": {
365
+ "flowdot": {
366
+ "command": "npx",
367
+ "args": ["@flowdot.ai/mcp-server"],
368
+ "env": { "FLOWDOT_API_TOKEN": "fd_mcp_your_token_here" }
369
+ }
370
+ }
371
+ }
372
+ ```
373
+
374
+ ## Development
375
+
376
+ ```bash
377
+ # Install dependencies
378
+ npm install
379
+
380
+ # Build
381
+ npm run build
382
+
383
+ # Run locally
384
+ FLOWDOT_API_TOKEN=fd_mcp_xxx npm start
385
+
386
+ # Watch mode
387
+ npm run dev
388
+
389
+ # Run tests
390
+ npm test
391
+
392
+ # Coverage report
393
+ npm run test:coverage
394
+
395
+ # Build the .mcpb Claude Desktop extension bundle
396
+ npm run build:mcpb
397
+ ```
398
+
399
+ ## Architecture
400
+
401
+ The MCP server is a **thin protocol adapter**. All HTTP communication with the FlowDot Hub is delegated to a shared `@flowdot.ai/api` package, which is also used by the FlowDot CLI and daemon. This means the same client logic, authentication, retry semantics, and pagination apply across every FlowDot surface.
402
+
403
+ ### Source Layout
404
+
405
+ ```
406
+ mcp-server/
407
+ ├── bin/
408
+ │ └── flowdot-mcp.js # Executable wrapper
409
+ ├── src/
410
+ │ ├── index.ts # Entry point
411
+ │ ├── server.ts # createServer() / startServer()
412
+ │ ├── api-client.ts # FlowDotApiClient re-export
413
+ │ ├── tools/
414
+ │ │ ├── index.ts # Central registry (one switch case per tool)
415
+ │ │ └── *.ts # 119 individual tool source files
416
+ │ └── utils/
417
+ │ └── script-validator.ts # AST-based custom node script validation
418
+ ├── manifest.json # MCPB Claude Desktop bundle manifest
419
+ ├── scripts/
420
+ │ └── build-mcpb.js # Builds the .mcpb extension archive
421
+ └── package.json
422
+ ```
423
+
424
+ ### Custom Node Script Validation
425
+
426
+ User-submitted custom node JavaScript is validated using **`acorn` AST parsing**, not regex. The validator checks:
427
+
428
+ - Syntax correctness
429
+ - Required `processData(inputs, properties, llm)` function exists
430
+ - Return statement exists and matches declared output keys exactly
431
+ - No top-level return statements
432
+ - Security patterns (no `eval`, `process`, `global`, `require`, etc.)
433
+ - Best practices (unused inputs, unhandled errors)
434
+
435
+ The script validator has its own test suite with **100% coverage thresholds** enforced via `vitest.config.ts`.
436
+
437
+ ## License
438
+
439
+ See `LICENSE`.
@@ -1,15 +1,15 @@
1
- #!/usr/bin/env node
2
- /**
3
- * FlowDot MCP Server CLI
4
- *
5
- * This is the entry point when running via npx @flowdot.ai/mcp-server
6
- */
7
-
8
- import('../dist/index.js').catch((error) => {
9
- console.error('Failed to start FlowDot MCP Server:', error.message);
10
- console.error('');
11
- console.error('If you see module errors, make sure the package is built:');
12
- console.error(' cd packages/mcp-server && npm run build');
13
- console.error('');
14
- process.exit(1);
15
- });
1
+ #!/usr/bin/env node
2
+ /**
3
+ * FlowDot MCP Server CLI
4
+ *
5
+ * This is the entry point when running via npx @flowdot.ai/mcp-server
6
+ */
7
+
8
+ import('../dist/index.js').catch((error) => {
9
+ console.error('Failed to start FlowDot MCP Server:', error.message);
10
+ console.error('');
11
+ console.error('If you see module errors, make sure the package is built:');
12
+ console.error(' cd packages/mcp-server && npm run build');
13
+ console.error('');
14
+ process.exit(1);
15
+ });
@@ -1,7 +1 @@
1
- /**
2
- * FlowDot Hub API Client
3
- *
4
- * Re-exported from @flowdot.ai/api shared package.
5
- */
6
1
  export { FlowDotApiClient } from '@flowdot.ai/api';
7
- //# sourceMappingURL=api-client.d.ts.map
@@ -1,7 +1 @@
1
- /**
2
- * FlowDot Hub API Client
3
- *
4
- * Re-exported from @flowdot.ai/api shared package.
5
- */
6
1
  export { FlowDotApiClient } from '@flowdot.ai/api';
7
- //# sourceMappingURL=api-client.js.map