@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
@@ -1,16 +1,7 @@
1
- /**
2
- * Agent Toolkit MCP Tools
3
- *
4
- * Tools for managing MCP agent toolkits - creating, installing, and using
5
- * custom tool collections for AI agents.
6
- */
7
- // ============================================
8
- // Discovery & Browsing Tools
9
- // ============================================
10
1
  export const listAgentToolkitsTool = {
11
2
  name: 'mcp__flowdot__list_agent_toolkits',
12
- description: `List your own MCP agent toolkits with optional filtering.
13
-
3
+ description: `List your own MCP agent toolkits with optional filtering.
4
+
14
5
  Toolkits are collections of custom tools that can be installed and used by AI agents. Each toolkit can contain multiple related tools with shared credentials and configuration.`,
15
6
  inputSchema: {
16
7
  type: 'object',
@@ -58,15 +49,15 @@ export async function handleListAgentToolkits(api, args) {
58
49
  const tags = toolkit.tags?.length ? `[${toolkit.tags.join(', ')}]` : '';
59
50
  const status = toolkit.visibility === 'public' ? 'Public' : 'Private';
60
51
  const verified = toolkit.is_verified ? '✓ Verified' : '';
61
- return `- **${toolkit.title}** (${toolkit.name})
62
- ID: ${toolkit.id}
63
- ${toolkit.description || 'No description'}
64
- Category: ${toolkit.category} | Status: ${status} ${verified}
65
- Tools: ${toolkit.tools_count} | Installations: ${toolkit.installation_count}
52
+ return `- **${toolkit.title}** (${toolkit.name})
53
+ ID: ${toolkit.id}
54
+ ${toolkit.description || 'No description'}
55
+ Category: ${toolkit.category} | Status: ${status} ${verified}
56
+ Tools: ${toolkit.tools_count} | Installations: ${toolkit.installation_count}
66
57
  ${tags ? `Tags: ${tags}` : ''}`;
67
58
  });
68
- const text = `Found ${result.total || result.data.length} toolkit(s):
69
-
59
+ const text = `Found ${result.total || result.data.length} toolkit(s):
60
+
70
61
  ${toolkitsInfo.join('\n\n')}`;
71
62
  return { content: [{ type: 'text', text }] };
72
63
  }
@@ -80,8 +71,8 @@ ${toolkitsInfo.join('\n\n')}`;
80
71
  }
81
72
  export const searchAgentToolkitsTool = {
82
73
  name: 'mcp__flowdot__search_agent_toolkits',
83
- description: `Search the public MCP toolkit marketplace for toolkits created by other users.
84
-
74
+ description: `Search the public MCP toolkit marketplace for toolkits created by other users.
75
+
85
76
  Discover reusable tool collections for various use cases like API integrations, data processing, automation, and more.`,
86
77
  inputSchema: {
87
78
  type: 'object',
@@ -149,21 +140,21 @@ export async function handleSearchAgentToolkits(api, args) {
149
140
  const toolkitsInfo = result.data.map((toolkit) => {
150
141
  const verified = toolkit.is_verified ? '✓ Verified' : '';
151
142
  const featured = toolkit.is_featured ? '⭐ Featured' : '';
152
- return `### ${toolkit.title} ${verified} ${featured}
153
- - **ID:** ${toolkit.id}
154
- - **Name:** ${toolkit.name}
155
- - **Description:** ${toolkit.description || 'No description'}
156
- - **Category:** ${toolkit.category}
157
- - **Tools:** ${toolkit.tools_count}
158
- - **Installations:** ${toolkit.installation_count} | **Votes:** ${toolkit.vote_count || 0}
159
- - **Author:** ${toolkit.user_name || 'Unknown'}
160
- ${toolkit.tags?.length ? `- **Tags:** ${toolkit.tags.join(', ')}` : ''}
143
+ return `### ${toolkit.title} ${verified} ${featured}
144
+ - **ID:** ${toolkit.id}
145
+ - **Name:** ${toolkit.name}
146
+ - **Description:** ${toolkit.description || 'No description'}
147
+ - **Category:** ${toolkit.category}
148
+ - **Tools:** ${toolkit.tools_count}
149
+ - **Installations:** ${toolkit.installation_count} | **Votes:** ${toolkit.vote_count || 0}
150
+ - **Author:** ${toolkit.user_name || 'Unknown'}
151
+ ${toolkit.tags?.length ? `- **Tags:** ${toolkit.tags.join(', ')}` : ''}
161
152
  `;
162
153
  });
163
- const text = `## Toolkit Search Results
164
-
165
- Found ${result.total || result.data.length} toolkit(s):
166
-
154
+ const text = `## Toolkit Search Results
155
+
156
+ Found ${result.total || result.data.length} toolkit(s):
157
+
167
158
  ${toolkitsInfo.join('\n')}`;
168
159
  return { content: [{ type: 'text', text }] };
169
160
  }
@@ -177,8 +168,8 @@ ${toolkitsInfo.join('\n')}`;
177
168
  }
178
169
  export const getAgentToolkitTool = {
179
170
  name: 'mcp__flowdot__get_agent_toolkit',
180
- description: `Get detailed information about a specific agent toolkit.
181
-
171
+ description: `Get detailed information about a specific agent toolkit.
172
+
182
173
  Returns comprehensive toolkit details including tools, credentials, and metadata.`,
183
174
  inputSchema: {
184
175
  type: 'object',
@@ -196,32 +187,32 @@ export async function handleGetAgentToolkit(api, args) {
196
187
  const toolkitId = String(args.toolkit_id);
197
188
  const toolkit = await api.getAgentToolkit(toolkitId);
198
189
  const verified = toolkit.is_verified ? '✓ Verified' : '';
199
- const text = `# ${toolkit.title} ${verified}
200
-
201
- **ID:** ${toolkit.id}
202
- **Name:** ${toolkit.name}
203
- **Category:** ${toolkit.category}
204
- **Version:** ${toolkit.version}
205
- **Visibility:** ${toolkit.visibility}
206
- **Author:** ${toolkit.user_name || 'Unknown'}
207
-
208
- **Description:**
209
- ${toolkit.description || 'No description'}
210
-
211
- **Stats:**
212
- - Tools: ${toolkit.tools_count}
213
- - Installations: ${toolkit.installation_count}
214
- - Votes: ${toolkit.vote_count || 0}
215
- - Copies: ${toolkit.copy_count}
216
-
217
- ${toolkit.tags?.length ? `**Tags:** ${toolkit.tags.join(', ')}` : ''}
218
-
219
- ${toolkit.tools && toolkit.tools.length > 0 ? `
220
- **Tools:**
221
- ${toolkit.tools.map(tool => `- ${tool.name}: ${tool.description}`).join('\n')}
222
- ` : ''}
223
-
224
- Created: ${toolkit.created_at}
190
+ const text = `# ${toolkit.title} ${verified}
191
+
192
+ **ID:** ${toolkit.id}
193
+ **Name:** ${toolkit.name}
194
+ **Category:** ${toolkit.category}
195
+ **Version:** ${toolkit.version}
196
+ **Visibility:** ${toolkit.visibility}
197
+ **Author:** ${toolkit.user_name || 'Unknown'}
198
+
199
+ **Description:**
200
+ ${toolkit.description || 'No description'}
201
+
202
+ **Stats:**
203
+ - Tools: ${toolkit.tools_count}
204
+ - Installations: ${toolkit.installation_count}
205
+ - Votes: ${toolkit.vote_count || 0}
206
+ - Copies: ${toolkit.copy_count}
207
+
208
+ ${toolkit.tags?.length ? `**Tags:** ${toolkit.tags.join(', ')}` : ''}
209
+
210
+ ${toolkit.tools && toolkit.tools.length > 0 ? `
211
+ **Tools:**
212
+ ${toolkit.tools.map(tool => `- ${tool.name}: ${tool.description}`).join('\n')}
213
+ ` : ''}
214
+
215
+ Created: ${toolkit.created_at}
225
216
  Updated: ${toolkit.updated_at}`;
226
217
  return { content: [{ type: 'text', text }] };
227
218
  }
@@ -235,8 +226,8 @@ Updated: ${toolkit.updated_at}`;
235
226
  }
236
227
  export const getToolkitCommentsTool = {
237
228
  name: 'mcp__flowdot__get_toolkit_comments',
238
- description: `Get comments on a toolkit.
239
-
229
+ description: `Get comments on a toolkit.
230
+
240
231
  View community feedback and discussions about a toolkit.`,
241
232
  inputSchema: {
242
233
  type: 'object',
@@ -270,8 +261,8 @@ export async function handleGetToolkitComments(api, args) {
270
261
  return text;
271
262
  };
272
263
  const commentsText = comments.map((c) => formatComment(c)).join('\n\n');
273
- const text = `## Toolkit Comments
274
-
264
+ const text = `## Toolkit Comments
265
+
275
266
  ${commentsText}`;
276
267
  return { content: [{ type: 'text', text }] };
277
268
  }
@@ -283,75 +274,72 @@ ${commentsText}`;
283
274
  };
284
275
  }
285
276
  }
286
- // ============================================
287
- // Toolkit Management Tools
288
- // ============================================
289
277
  export const createAgentToolkitTool = {
290
278
  name: 'mcp__flowdot__create_agent_toolkit',
291
- description: `Create a new MCP agent toolkit.
292
-
293
- Toolkits organize related tools and credentials for specific integrations or use cases.
294
-
295
- ## Credential Requirements
296
-
297
- Use credential_requirements to define what credentials users need to provide. Each credential can be:
298
- - **api_key**: Standard API key (most common)
299
- - **oauth**: OAuth 2.0 token that can be refreshed via OAuth flow
300
- - **bearer**: Bearer token
301
- - **basic**: Basic auth credentials
302
- - **custom**: Custom credential type
303
-
304
- ## OAuth Configuration
305
-
306
- For OAuth credentials, set credential_type: "oauth" and provide oauth_config with:
307
-
308
- Required OAuth fields:
309
- - **authorization_url**: OAuth authorization endpoint (e.g., "https://api.schwabapi.com/v1/oauth/authorize")
310
- - **token_endpoint**: Token exchange endpoint (e.g., "https://api.schwabapi.com/v1/oauth/token")
311
- - **scopes**: Array of OAuth scopes (e.g., ["api"])
312
-
313
- Client credential references (reference OTHER credentials in the same toolkit):
314
- - **client_id_credential_key**: Key name of the credential that stores the client ID (e.g., "SCHWAB_APP_KEY")
315
- - **client_secret_credential_key**: Key name of the credential that stores the client secret (e.g., "SCHWAB_APP_SECRET")
316
-
317
- Optional OAuth fields:
318
- - **pkce_enabled**: Enable PKCE (default: true, recommended for security)
319
- - **auth_error_codes**: HTTP codes indicating auth failure (default: [401, 403])
320
- - **auth_error_patterns**: Error message patterns indicating auth failure
321
- - **extra_auth_params**: Additional URL params for authorization request
322
-
323
- ## Example: OAuth Toolkit Setup (e.g., Schwab API)
324
-
325
- credential_requirements: [
326
- {
327
- key_name: "SCHWAB_APP_KEY",
328
- label: "Schwab App Key (Client ID)",
329
- credential_type: "api_key",
330
- is_required: true,
331
- description: "Your Schwab Developer App Key"
332
- },
333
- {
334
- key_name: "SCHWAB_APP_SECRET",
335
- label: "Schwab App Secret (Client Secret)",
336
- credential_type: "api_key",
337
- is_required: true,
338
- description: "Your Schwab Developer App Secret"
339
- },
340
- {
341
- key_name: "SCHWAB_ACCESS_TOKEN",
342
- label: "Schwab Access Token",
343
- credential_type: "oauth",
344
- is_required: true,
345
- description: "OAuth access token (auto-refreshed via Reconnect)",
346
- oauth_config: {
347
- authorization_url: "https://api.schwabapi.com/v1/oauth/authorize",
348
- token_endpoint: "https://api.schwabapi.com/v1/oauth/token",
349
- scopes: ["api"],
350
- client_id_credential_key: "SCHWAB_APP_KEY",
351
- client_secret_credential_key: "SCHWAB_APP_SECRET",
352
- pkce_enabled: true
353
- }
354
- }
279
+ description: `Create a new MCP agent toolkit.
280
+
281
+ Toolkits organize related tools and credentials for specific integrations or use cases.
282
+
283
+ ## Credential Requirements
284
+
285
+ Use credential_requirements to define what credentials users need to provide. Each credential can be:
286
+ - **api_key**: Standard API key (most common)
287
+ - **oauth**: OAuth 2.0 token that can be refreshed via OAuth flow
288
+ - **bearer**: Bearer token
289
+ - **basic**: Basic auth credentials
290
+ - **custom**: Custom credential type
291
+
292
+ ## OAuth Configuration
293
+
294
+ For OAuth credentials, set credential_type: "oauth" and provide oauth_config with:
295
+
296
+ Required OAuth fields:
297
+ - **authorization_url**: OAuth authorization endpoint (e.g., "https://api.schwabapi.com/v1/oauth/authorize")
298
+ - **token_endpoint**: Token exchange endpoint (e.g., "https://api.schwabapi.com/v1/oauth/token")
299
+ - **scopes**: Array of OAuth scopes (e.g., ["api"])
300
+
301
+ Client credential references (reference OTHER credentials in the same toolkit):
302
+ - **client_id_credential_key**: Key name of the credential that stores the client ID (e.g., "SCHWAB_APP_KEY")
303
+ - **client_secret_credential_key**: Key name of the credential that stores the client secret (e.g., "SCHWAB_APP_SECRET")
304
+
305
+ Optional OAuth fields:
306
+ - **pkce_enabled**: Enable PKCE (default: true, recommended for security)
307
+ - **auth_error_codes**: HTTP codes indicating auth failure (default: [401, 403])
308
+ - **auth_error_patterns**: Error message patterns indicating auth failure
309
+ - **extra_auth_params**: Additional URL params for authorization request
310
+
311
+ ## Example: OAuth Toolkit Setup (e.g., Schwab API)
312
+
313
+ credential_requirements: [
314
+ {
315
+ key_name: "SCHWAB_APP_KEY",
316
+ label: "Schwab App Key (Client ID)",
317
+ credential_type: "api_key",
318
+ is_required: true,
319
+ description: "Your Schwab Developer App Key"
320
+ },
321
+ {
322
+ key_name: "SCHWAB_APP_SECRET",
323
+ label: "Schwab App Secret (Client Secret)",
324
+ credential_type: "api_key",
325
+ is_required: true,
326
+ description: "Your Schwab Developer App Secret"
327
+ },
328
+ {
329
+ key_name: "SCHWAB_ACCESS_TOKEN",
330
+ label: "Schwab Access Token",
331
+ credential_type: "oauth",
332
+ is_required: true,
333
+ description: "OAuth access token (auto-refreshed via Reconnect)",
334
+ oauth_config: {
335
+ authorization_url: "https://api.schwabapi.com/v1/oauth/authorize",
336
+ token_endpoint: "https://api.schwabapi.com/v1/oauth/token",
337
+ scopes: ["api"],
338
+ client_id_credential_key: "SCHWAB_APP_KEY",
339
+ client_secret_credential_key: "SCHWAB_APP_SECRET",
340
+ pkce_enabled: true
341
+ }
342
+ }
355
343
  ]`,
356
344
  inputSchema: {
357
345
  type: 'object',
@@ -518,18 +506,18 @@ export async function handleCreateAgentToolkit(api, args) {
518
506
  const toolkit = result;
519
507
  const credsCount = input.credential_requirements?.length || 0;
520
508
  const oauthCreds = input.credential_requirements?.filter(c => c.credential_type === 'oauth').length || 0;
521
- const text = `✓ Toolkit created successfully!
522
-
523
- **ID:** ${toolkit.id}
524
- **Name:** ${toolkit.name}
525
- **Title:** ${toolkit.title}
526
- **Visibility:** ${toolkit.visibility}
527
- ${credsCount > 0 ? `**Credentials Defined:** ${credsCount} (${oauthCreds} OAuth)` : ''}
528
-
529
- Next steps:
530
- 1. Add tools to your toolkit using mcp__flowdot__create_toolkit_tool
531
- 2. Install the toolkit using mcp__flowdot__install_toolkit
532
- 3. Configure credential mappings in the installation
509
+ const text = `✓ Toolkit created successfully!
510
+
511
+ **ID:** ${toolkit.id}
512
+ **Name:** ${toolkit.name}
513
+ **Title:** ${toolkit.title}
514
+ **Visibility:** ${toolkit.visibility}
515
+ ${credsCount > 0 ? `**Credentials Defined:** ${credsCount} (${oauthCreds} OAuth)` : ''}
516
+
517
+ Next steps:
518
+ 1. Add tools to your toolkit using mcp__flowdot__create_toolkit_tool
519
+ 2. Install the toolkit using mcp__flowdot__install_toolkit
520
+ 3. Configure credential mappings in the installation
533
521
  ${oauthCreds > 0 ? '4. Use the "Reconnect" button in the UI to authorize OAuth credentials' : ''}`;
534
522
  return { content: [{ type: 'text', text }] };
535
523
  }
@@ -543,22 +531,22 @@ ${oauthCreds > 0 ? '4. Use the "Reconnect" button in the UI to authorize OAuth c
543
531
  }
544
532
  export const updateAgentToolkitTool = {
545
533
  name: 'mcp__flowdot__update_agent_toolkit',
546
- description: `Update an existing agent toolkit's metadata.
547
-
548
- Modify title, description, category, tags, and other toolkit properties.
549
-
550
- ## Updating Credential Requirements
551
-
552
- Use credential_requirements to update the toolkit's credential definitions. This REPLACES all existing credentials.
553
-
554
- For OAuth credentials, include oauth_config with:
555
- - **authorization_url**: OAuth authorization endpoint
556
- - **token_endpoint**: Token exchange endpoint
557
- - **scopes**: Array of OAuth scopes
558
- - **client_id_credential_key**: Key name of credential containing client ID
559
- - **client_secret_credential_key**: Key name of credential containing client secret
560
- - **pkce_enabled**: Enable PKCE (default: true)
561
-
534
+ description: `Update an existing agent toolkit's metadata.
535
+
536
+ Modify title, description, category, tags, and other toolkit properties.
537
+
538
+ ## Updating Credential Requirements
539
+
540
+ Use credential_requirements to update the toolkit's credential definitions. This REPLACES all existing credentials.
541
+
542
+ For OAuth credentials, include oauth_config with:
543
+ - **authorization_url**: OAuth authorization endpoint
544
+ - **token_endpoint**: Token exchange endpoint
545
+ - **scopes**: Array of OAuth scopes
546
+ - **client_id_credential_key**: Key name of credential containing client ID
547
+ - **client_secret_credential_key**: Key name of credential containing client secret
548
+ - **pkce_enabled**: Enable PKCE (default: true)
549
+
562
550
  See mcp__flowdot__create_agent_toolkit documentation for full OAuth configuration details and examples.`,
563
551
  inputSchema: {
564
552
  type: 'object',
@@ -698,9 +686,9 @@ export async function handleUpdateAgentToolkit(api, args) {
698
686
  };
699
687
  }
700
688
  const credsUpdated = input.credential_requirements ? ` (${input.credential_requirements.length} credentials)` : '';
701
- const text = `✓ Toolkit updated successfully!${credsUpdated}
702
-
703
- **ID:** ${result.id}
689
+ const text = `✓ Toolkit updated successfully!${credsUpdated}
690
+
691
+ **ID:** ${result.id}
704
692
  **Title:** ${result.title}`;
705
693
  return { content: [{ type: 'text', text }] };
706
694
  }
@@ -714,8 +702,8 @@ export async function handleUpdateAgentToolkit(api, args) {
714
702
  }
715
703
  export const deleteAgentToolkitTool = {
716
704
  name: 'mcp__flowdot__delete_agent_toolkit',
717
- description: `Delete a toolkit permanently.
718
-
705
+ description: `Delete a toolkit permanently.
706
+
719
707
  WARNING: This cannot be undone. All tools, installations, and related data will be deleted.`,
720
708
  inputSchema: {
721
709
  type: 'object',
@@ -731,13 +719,9 @@ WARNING: This cannot be undone. All tools, installations, and related data will
731
719
  export async function handleDeleteAgentToolkit(api, args) {
732
720
  try {
733
721
  const toolkitId = String(args.toolkit_id);
734
- const result = await api.deleteAgentToolkit(toolkitId);
735
- const text = result.success
736
- ? `✓ Toolkit deleted successfully.`
737
- : `Error: ${'Failed to delete toolkit'}`;
722
+ await api.deleteAgentToolkit(toolkitId);
738
723
  return {
739
- content: [{ type: 'text', text }],
740
- isError: !result.success,
724
+ content: [{ type: 'text', text: `✓ Toolkit deleted successfully.` }],
741
725
  };
742
726
  }
743
727
  catch (error) {
@@ -750,8 +734,8 @@ export async function handleDeleteAgentToolkit(api, args) {
750
734
  }
751
735
  export const copyAgentToolkitTool = {
752
736
  name: 'mcp__flowdot__copy_agent_toolkit',
753
- description: `Copy/duplicate a toolkit.
754
-
737
+ description: `Copy/duplicate a toolkit.
738
+
755
739
  Creates a private copy of a toolkit that you can customize.`,
756
740
  inputSchema: {
757
741
  type: 'object',
@@ -779,12 +763,12 @@ export async function handleCopyAgentToolkit(api, args) {
779
763
  isError: true,
780
764
  };
781
765
  }
782
- const text = `✓ Toolkit copied successfully!
783
-
784
- **New ID:** ${result.id}
785
- **Name:** ${result.name}
786
- **Title:** ${result.title}
787
-
766
+ const text = `✓ Toolkit copied successfully!
767
+
768
+ **New ID:** ${result.id}
769
+ **Name:** ${result.name}
770
+ **Title:** ${result.title}
771
+
788
772
  The copy is private. You can now customize it as needed.`;
789
773
  return { content: [{ type: 'text', text }] };
790
774
  }
@@ -798,8 +782,8 @@ The copy is private. You can now customize it as needed.`;
798
782
  }
799
783
  export const toggleToolkitVisibilityTool = {
800
784
  name: 'mcp__flowdot__toggle_toolkit_visibility',
801
- description: `Change toolkit visibility (private, public, or unlisted).
802
-
785
+ description: `Change toolkit visibility (private, public, or unlisted).
786
+
803
787
  Public toolkits are searchable by others. Unlisted are accessible via direct link only.`,
804
788
  inputSchema: {
805
789
  type: 'object',
@@ -821,13 +805,9 @@ export async function handleToggleToolkitVisibility(api, args) {
821
805
  try {
822
806
  const toolkitId = String(args.toolkit_id);
823
807
  const visibility = args.visibility;
824
- const result = await api.toggleToolkitVisibility(toolkitId, visibility);
825
- const text = result.success
826
- ? `✓ Toolkit visibility changed to: ${visibility}`
827
- : `Error: ${'Failed to change visibility'}`;
808
+ await api.toggleToolkitVisibility(toolkitId, visibility);
828
809
  return {
829
- content: [{ type: 'text', text }],
830
- isError: !result.success,
810
+ content: [{ type: 'text', text: `✓ Toolkit visibility changed to: ${visibility}` }],
831
811
  };
832
812
  }
833
813
  catch (error) {
@@ -923,8 +903,8 @@ export async function handleFavoriteToolkit(api, args) {
923
903
  }
924
904
  export const addToolkitCommentTool = {
925
905
  name: 'mcp__flowdot__add_toolkit_comment',
926
- description: `Add a comment to a toolkit.
927
-
906
+ description: `Add a comment to a toolkit.
907
+
928
908
  Share feedback, ask questions, or discuss the toolkit with the community.`,
929
909
  inputSchema: {
930
910
  type: 'object',
@@ -968,13 +948,10 @@ export async function handleAddToolkitComment(api, args) {
968
948
  };
969
949
  }
970
950
  }
971
- // ============================================
972
- // Installation Management Tools
973
- // ============================================
974
951
  export const installToolkitTool = {
975
952
  name: 'mcp__flowdot__install_toolkit',
976
- description: `Install a toolkit to your account.
977
-
953
+ description: `Install a toolkit to your account.
954
+
978
955
  After installation, you can configure credentials and use the toolkit's tools.`,
979
956
  inputSchema: {
980
957
  type: 'object',
@@ -998,20 +975,20 @@ export async function handleInstallToolkit(api, args) {
998
975
  };
999
976
  }
1000
977
  const installation = result;
1001
- const text = `✓ Toolkit installed successfully!
1002
-
1003
- **Installation ID:** ${installation.id}
1004
- **Toolkit:** ${installation.toolkit_name}
1005
- **Status:** ${installation.is_active ? 'Active' : 'Inactive'}
1006
- **Credentials:** ${installation.credentials_configured ? 'Configured' : 'Not configured'}
1007
-
1008
- ${!installation.credentials_configured ? `
1009
- ⚠️ Missing credentials: ${installation.missing_credentials.join(', ')}
1010
-
1011
- Next steps:
1012
- 1. Use mcp__flowdot__check_toolkit_credentials to see required credentials
1013
- 2. Use mcp__flowdot__update_toolkit_installation to map credentials
1014
- 3. Use mcp__flowdot__toggle_toolkit_active to activate
978
+ const text = `✓ Toolkit installed successfully!
979
+
980
+ **Installation ID:** ${installation.id}
981
+ **Toolkit:** ${installation.toolkit_name}
982
+ **Status:** ${installation.is_active ? 'Active' : 'Inactive'}
983
+ **Credentials:** ${installation.credentials_configured ? 'Configured' : 'Not configured'}
984
+
985
+ ${!installation.credentials_configured ? `
986
+ ⚠️ Missing credentials: ${installation.missing_credentials.join(', ')}
987
+
988
+ Next steps:
989
+ 1. Use mcp__flowdot__check_toolkit_credentials to see required credentials
990
+ 2. Use mcp__flowdot__update_toolkit_installation to map credentials
991
+ 3. Use mcp__flowdot__toggle_toolkit_active to activate
1015
992
  ` : 'You can now use this toolkit!'}`;
1016
993
  return { content: [{ type: 'text', text }] };
1017
994
  }
@@ -1025,8 +1002,8 @@ Next steps:
1025
1002
  }
1026
1003
  export const uninstallToolkitTool = {
1027
1004
  name: 'mcp__flowdot__uninstall_toolkit',
1028
- description: `Uninstall a toolkit from your account.
1029
-
1005
+ description: `Uninstall a toolkit from your account.
1006
+
1030
1007
  Removes the installation and credential mapping (toolkit itself remains available).`,
1031
1008
  inputSchema: {
1032
1009
  type: 'object',
@@ -1042,13 +1019,9 @@ Removes the installation and credential mapping (toolkit itself remains availabl
1042
1019
  export async function handleUninstallToolkit(api, args) {
1043
1020
  try {
1044
1021
  const installationId = String(args.installation_id);
1045
- const result = await api.uninstallToolkit(installationId);
1046
- const text = result.success
1047
- ? `✓ Toolkit uninstalled successfully.`
1048
- : `Error: ${'Failed to uninstall toolkit'}`;
1022
+ await api.uninstallToolkit(installationId);
1049
1023
  return {
1050
- content: [{ type: 'text', text }],
1051
- isError: !result.success,
1024
+ content: [{ type: 'text', text: `✓ Toolkit uninstalled successfully.` }],
1052
1025
  };
1053
1026
  }
1054
1027
  catch (error) {
@@ -1061,15 +1034,15 @@ export async function handleUninstallToolkit(api, args) {
1061
1034
  }
1062
1035
  export const listInstalledToolkitsTool = {
1063
1036
  name: 'mcp__flowdot__list_installed_toolkits',
1064
- description: `List all toolkits you have installed.
1065
-
1037
+ description: `List all toolkits you have installed.
1038
+
1066
1039
  Shows installation status and credential configuration for each toolkit.`,
1067
1040
  inputSchema: {
1068
1041
  type: 'object',
1069
1042
  properties: {},
1070
1043
  },
1071
1044
  };
1072
- export async function handleListInstalledToolkits(api, args) {
1045
+ export async function handleListInstalledToolkits(api, _args) {
1073
1046
  try {
1074
1047
  const installations = await api.listInstalledToolkits();
1075
1048
  if (!installations || installations.length === 0) {
@@ -1083,16 +1056,16 @@ export async function handleListInstalledToolkits(api, args) {
1083
1056
  const installationsInfo = installations.map((install) => {
1084
1057
  const status = install.is_active ? '✓ Active' : '○ Inactive';
1085
1058
  const creds = install.credentials_configured ? '✓ Configured' : '⚠️ Missing credentials';
1086
- return `- **${install.toolkit_title}** ${status}
1087
- Installation ID: ${install.id}
1088
- Toolkit ID: ${install.toolkit_id}
1089
- Credentials: ${creds}
1090
- Version: ${install.toolkit_version}
1091
- Last used: ${install.last_used_at || 'Never'}
1059
+ return `- **${install.toolkit_title}** ${status}
1060
+ Installation ID: ${install.id}
1061
+ Toolkit ID: ${install.toolkit_id}
1062
+ Credentials: ${creds}
1063
+ Version: ${install.toolkit_version}
1064
+ Last used: ${install.last_used_at || 'Never'}
1092
1065
  Usage count: ${install.usage_count}`;
1093
1066
  });
1094
- const text = `## Installed Toolkits (${installations.length})
1095
-
1067
+ const text = `## Installed Toolkits (${installations.length})
1068
+
1096
1069
  ${installationsInfo.join('\n\n')}`;
1097
1070
  return { content: [{ type: 'text', text }] };
1098
1071
  }
@@ -1106,8 +1079,8 @@ ${installationsInfo.join('\n\n')}`;
1106
1079
  }
1107
1080
  export const toggleToolkitActiveTool = {
1108
1081
  name: 'mcp__flowdot__toggle_toolkit_active',
1109
- description: `Enable or disable a toolkit installation.
1110
-
1082
+ description: `Enable or disable a toolkit installation.
1083
+
1111
1084
  Inactive toolkits won't be available for use but remain installed.`,
1112
1085
  inputSchema: {
1113
1086
  type: 'object',
@@ -1128,13 +1101,9 @@ export async function handleToggleToolkitActive(api, args) {
1128
1101
  try {
1129
1102
  const installationId = String(args.installation_id);
1130
1103
  const isActive = Boolean(args.is_active);
1131
- const result = await api.toggleToolkitActive(installationId, isActive);
1132
- const text = result.success
1133
- ? `✓ Toolkit ${isActive ? 'activated' : 'deactivated'} successfully.`
1134
- : `Error: ${'Failed to toggle toolkit'}`;
1104
+ await api.toggleToolkitActive(installationId, isActive);
1135
1105
  return {
1136
- content: [{ type: 'text', text }],
1137
- isError: !result.success,
1106
+ content: [{ type: 'text', text: `✓ Toolkit ${isActive ? 'activated' : 'deactivated'} successfully.` }],
1138
1107
  };
1139
1108
  }
1140
1109
  catch (error) {
@@ -1147,8 +1116,8 @@ export async function handleToggleToolkitActive(api, args) {
1147
1116
  }
1148
1117
  export const checkToolkitCredentialsTool = {
1149
1118
  name: 'mcp__flowdot__check_toolkit_credentials',
1150
- description: `Check credential status for a toolkit installation.
1151
-
1119
+ description: `Check credential status for a toolkit installation.
1120
+
1152
1121
  Shows which credentials are required and which are missing.`,
1153
1122
  inputSchema: {
1154
1123
  type: 'object',
@@ -1175,23 +1144,23 @@ export async function handleCheckToolkitCredentials(api, args) {
1175
1144
  const requirements = status.required_credentials.map(req => {
1176
1145
  const required = req.is_required ? '[REQUIRED]' : '[optional]';
1177
1146
  const missing = status.missing_credentials.includes(req.key_name) ? '⚠️ MISSING' : '✓';
1178
- return ` ${missing} ${req.label} ${required}
1179
- Key: ${req.key_name}
1180
- Type: ${req.credential_type}
1147
+ return ` ${missing} ${req.label} ${required}
1148
+ Key: ${req.key_name}
1149
+ Type: ${req.credential_type}
1181
1150
  ${req.description || ''}`;
1182
1151
  });
1183
- const text = `## Credential Status: ${status.toolkit_name}
1184
-
1185
- **Status:** ${status.credentials_configured ? '✓ All credentials configured' : '⚠️ Missing required credentials'}
1186
-
1187
- **Required Credentials:**
1188
-
1189
- ${requirements.join('\n\n')}
1190
-
1191
- ${status.missing_credentials.length > 0 ? `
1192
- **Missing:** ${status.missing_credentials.join(', ')}
1193
-
1194
- Use mcp__flowdot__update_toolkit_installation to map these credentials to your API keys.
1152
+ const text = `## Credential Status: ${status.toolkit_name}
1153
+
1154
+ **Status:** ${status.credentials_configured ? '✓ All credentials configured' : '⚠️ Missing required credentials'}
1155
+
1156
+ **Required Credentials:**
1157
+
1158
+ ${requirements.join('\n\n')}
1159
+
1160
+ ${status.missing_credentials.length > 0 ? `
1161
+ **Missing:** ${status.missing_credentials.join(', ')}
1162
+
1163
+ Use mcp__flowdot__update_toolkit_installation to map these credentials to your API keys.
1195
1164
  ` : ''}`;
1196
1165
  return { content: [{ type: 'text', text }] };
1197
1166
  }
@@ -1205,8 +1174,8 @@ Use mcp__flowdot__update_toolkit_installation to map these credentials to your A
1205
1174
  }
1206
1175
  export const updateToolkitInstallationTool = {
1207
1176
  name: 'mcp__flowdot__update_toolkit_installation',
1208
- description: `Update toolkit installation (configure credential mapping).
1209
-
1177
+ description: `Update toolkit installation (configure credential mapping).
1178
+
1210
1179
  Map toolkit credential requirements to your stored API keys.`,
1211
1180
  inputSchema: {
1212
1181
  type: 'object',
@@ -1234,12 +1203,12 @@ export async function handleUpdateToolkitInstallation(api, args) {
1234
1203
  isError: true,
1235
1204
  };
1236
1205
  }
1237
- const text = `✓ Installation updated successfully!
1238
-
1239
- **Credentials configured:** ${result.credentials_configured ? 'Yes' : 'No'}
1240
-
1241
- ${result.missing_credentials && result.missing_credentials.length > 0 ? `
1242
- ⚠️ Still missing: ${result.missing_credentials.join(', ')}
1206
+ const text = `✓ Installation updated successfully!
1207
+
1208
+ **Credentials configured:** ${result.credentials_configured ? 'Yes' : 'No'}
1209
+
1210
+ ${result.missing_credentials && result.missing_credentials.length > 0 ? `
1211
+ ⚠️ Still missing: ${result.missing_credentials.join(', ')}
1243
1212
  ` : '✓ All credentials configured! You can now use this toolkit.'}`;
1244
1213
  return { content: [{ type: 'text', text }] };
1245
1214
  }
@@ -1251,15 +1220,12 @@ ${result.missing_credentials && result.missing_credentials.length > 0 ? `
1251
1220
  };
1252
1221
  }
1253
1222
  }
1254
- // ============================================
1255
- // Execution Tools
1256
- // ============================================
1257
1223
  export const invokeToolkitToolTool = {
1258
1224
  name: 'mcp__flowdot__invoke_toolkit_tool',
1259
- description: `Execute a tool from an installed toolkit.
1260
-
1261
- Runs the tool with provided inputs using your configured credentials.
1262
-
1225
+ description: `Execute a tool from an installed toolkit.
1226
+
1227
+ Runs the tool with provided inputs using your configured credentials.
1228
+
1263
1229
  You can optionally pass credential_overrides to provide dynamic credentials (like tokens from a previous tool call).`,
1264
1230
  inputSchema: {
1265
1231
  type: 'object',
@@ -1293,17 +1259,17 @@ export async function handleInvokeToolkitTool(api, args) {
1293
1259
  credential_overrides: args.credential_overrides,
1294
1260
  };
1295
1261
  const result = await api.invokeToolkitTool(input);
1296
- if (!result.success) {
1262
+ if (!result || !result.success) {
1297
1263
  return {
1298
- content: [{ type: 'text', text: result.error || 'Tool execution failed' }],
1264
+ content: [{ type: 'text', text: result?.error || 'Tool execution failed' }],
1299
1265
  isError: true,
1300
1266
  };
1301
1267
  }
1302
- const text = `✓ Tool executed successfully!
1303
-
1304
- **Result:**
1305
- ${JSON.stringify(result.data, null, 2)}
1306
-
1268
+ const text = `✓ Tool executed successfully!
1269
+
1270
+ **Result:**
1271
+ ${JSON.stringify(result.data, null, 2)}
1272
+
1307
1273
  ${result.execution_time_ms ? `Execution time: ${result.execution_time_ms}ms` : ''}`;
1308
1274
  return { content: [{ type: 'text', text }] };
1309
1275
  }
@@ -1315,13 +1281,10 @@ ${result.execution_time_ms ? `Execution time: ${result.execution_time_ms}ms` : '
1315
1281
  };
1316
1282
  }
1317
1283
  }
1318
- // ============================================
1319
- // Tool Management Tools (Read-Only)
1320
- // ============================================
1321
1284
  export const listToolkitToolsTool = {
1322
1285
  name: 'mcp__flowdot__list_toolkit_tools',
1323
- description: `List all tools in a toolkit.
1324
-
1286
+ description: `List all tools in a toolkit.
1287
+
1325
1288
  Shows tool names, descriptions, and types (HTTP or Workflow).`,
1326
1289
  inputSchema: {
1327
1290
  type: 'object',
@@ -1351,13 +1314,13 @@ export async function handleListToolkitTools(api, args) {
1351
1314
  const creds = tool.credential_keys && tool.credential_keys.length > 0
1352
1315
  ? `Requires: ${tool.credential_keys.join(', ')}`
1353
1316
  : 'No credentials required';
1354
- return `${enabled} **${tool.title}** (${tool.name})
1355
- Type: ${tool.tool_type}
1356
- Description: ${tool.description}
1317
+ return `${enabled} **${tool.title}** (${tool.name})
1318
+ Type: ${tool.tool_type}
1319
+ Description: ${tool.description}
1357
1320
  ${creds}`;
1358
1321
  });
1359
- const text = `## Toolkit Tools (${tools.length})
1360
-
1322
+ const text = `## Toolkit Tools (${tools.length})
1323
+
1361
1324
  ${toolsInfo.join('\n\n')}`;
1362
1325
  return { content: [{ type: 'text', text }] };
1363
1326
  }
@@ -1371,8 +1334,8 @@ ${toolsInfo.join('\n\n')}`;
1371
1334
  }
1372
1335
  export const getToolkitToolTool = {
1373
1336
  name: 'mcp__flowdot__get_toolkit_tool',
1374
- description: `Get detailed information about a specific tool in a toolkit.
1375
-
1337
+ description: `Get detailed information about a specific tool in a toolkit.
1338
+
1376
1339
  Shows input schema, configuration, and requirements.`,
1377
1340
  inputSchema: {
1378
1341
  type: 'object',
@@ -1401,33 +1364,33 @@ export async function handleGetToolkitTool(api, args) {
1401
1364
  };
1402
1365
  }
1403
1366
  const tool = result;
1404
- const text = `# ${tool.title}
1405
-
1406
- **Name:** ${tool.name}
1407
- **Type:** ${tool.tool_type}
1408
- **Status:** ${tool.is_enabled ? 'Enabled' : 'Disabled'}
1409
-
1410
- **Description:**
1411
- ${tool.description}
1412
-
1413
- **Input Schema:**
1414
- ${JSON.stringify(tool.input_schema, null, 2)}
1415
-
1416
- ${tool.credential_keys && tool.credential_keys.length > 0 ? `
1417
- **Required Credentials:**
1418
- ${tool.credential_keys.join(', ')}
1419
- ` : ''}
1420
-
1421
- ${tool.tool_type === 'http' && tool.endpoint_config ? `
1422
- **HTTP Configuration:**
1423
- - URL: ${tool.endpoint_config.url}
1424
- - Method: ${tool.endpoint_config.method}
1425
- ` : ''}
1426
-
1427
- ${tool.tool_type === 'workflow' && tool.workflow_hash ? `
1428
- **Workflow:** ${tool.workflow_hash}
1429
- ` : ''}
1430
-
1367
+ const text = `# ${tool.title}
1368
+
1369
+ **Name:** ${tool.name}
1370
+ **Type:** ${tool.tool_type}
1371
+ **Status:** ${tool.is_enabled ? 'Enabled' : 'Disabled'}
1372
+
1373
+ **Description:**
1374
+ ${tool.description}
1375
+
1376
+ **Input Schema:**
1377
+ ${JSON.stringify(tool.input_schema, null, 2)}
1378
+
1379
+ ${tool.credential_keys && tool.credential_keys.length > 0 ? `
1380
+ **Required Credentials:**
1381
+ ${tool.credential_keys.join(', ')}
1382
+ ` : ''}
1383
+
1384
+ ${tool.tool_type === 'http' && tool.endpoint_config ? `
1385
+ **HTTP Configuration:**
1386
+ - URL: ${tool.endpoint_config.url}
1387
+ - Method: ${tool.endpoint_config.method}
1388
+ ` : ''}
1389
+
1390
+ ${tool.tool_type === 'workflow' && tool.workflow_hash ? `
1391
+ **Workflow:** ${tool.workflow_hash}
1392
+ ` : ''}
1393
+
1431
1394
  **Timeout:** ${tool.timeout_ms || 30000}ms`;
1432
1395
  return { content: [{ type: 'text', text }] };
1433
1396
  }
@@ -1441,8 +1404,8 @@ ${tool.tool_type === 'workflow' && tool.workflow_hash ? `
1441
1404
  }
1442
1405
  export const createToolkitToolTool = {
1443
1406
  name: 'mcp__flowdot__create_toolkit_tool',
1444
- description: `Create a new tool in a toolkit.
1445
-
1407
+ description: `Create a new tool in a toolkit.
1408
+
1446
1409
  Add HTTP or Workflow-based tools to your agent toolkit with custom input/output schemas and credentials.`,
1447
1410
  inputSchema: {
1448
1411
  type: 'object',
@@ -1535,13 +1498,13 @@ export async function handleCreateToolkitTool(api, args) {
1535
1498
  isError: true,
1536
1499
  };
1537
1500
  }
1538
- const text = `✓ Tool created successfully!
1539
-
1540
- **Name:** ${result.name}
1541
- **Title:** ${result.title}
1542
- **Type:** ${result.tool_type}
1543
- **ID:** ${result.id}
1544
-
1501
+ const text = `✓ Tool created successfully!
1502
+
1503
+ **Name:** ${result.name}
1504
+ **Title:** ${result.title}
1505
+ **Type:** ${result.tool_type}
1506
+ **ID:** ${result.id}
1507
+
1545
1508
  Your tool is now available in the toolkit.`;
1546
1509
  return { content: [{ type: 'text', text }] };
1547
1510
  }
@@ -1555,8 +1518,8 @@ Your tool is now available in the toolkit.`;
1555
1518
  }
1556
1519
  export const updateToolkitToolTool = {
1557
1520
  name: 'mcp__flowdot__update_toolkit_tool',
1558
- description: `Update an existing tool in a toolkit.
1559
-
1521
+ description: `Update an existing tool in a toolkit.
1522
+
1560
1523
  Modify tool configuration, schemas, endpoints, or credentials.`,
1561
1524
  inputSchema: {
1562
1525
  type: 'object',
@@ -1654,9 +1617,9 @@ export async function handleUpdateToolkitTool(api, args) {
1654
1617
  isError: true,
1655
1618
  };
1656
1619
  }
1657
- const text = `✓ Tool updated successfully!
1658
-
1659
- **Name:** ${result.name}
1620
+ const text = `✓ Tool updated successfully!
1621
+
1622
+ **Name:** ${result.name}
1660
1623
  **Title:** ${result.title}`;
1661
1624
  return { content: [{ type: 'text', text }] };
1662
1625
  }
@@ -1670,8 +1633,8 @@ export async function handleUpdateToolkitTool(api, args) {
1670
1633
  }
1671
1634
  export const deleteToolkitToolTool = {
1672
1635
  name: 'mcp__flowdot__delete_toolkit_tool',
1673
- description: `Delete a tool from a toolkit.
1674
-
1636
+ description: `Delete a tool from a toolkit.
1637
+
1675
1638
  WARNING: This cannot be undone. The tool will be permanently removed.`,
1676
1639
  inputSchema: {
1677
1640
  type: 'object',
@@ -1692,13 +1655,9 @@ export async function handleDeleteToolkitTool(api, args) {
1692
1655
  try {
1693
1656
  const toolkitId = String(args.toolkit_id);
1694
1657
  const toolId = String(args.tool_id);
1695
- const result = await api.deleteToolkitTool(toolkitId, toolId);
1696
- const text = result.success
1697
- ? `✓ Tool deleted successfully.`
1698
- : `Error: ${'Failed to delete tool'}`;
1658
+ await api.deleteToolkitTool(toolkitId, toolId);
1699
1659
  return {
1700
- content: [{ type: 'text', text }],
1701
- isError: !result.success,
1660
+ content: [{ type: 'text', text: `✓ Tool '${toolId}' deleted successfully.` }],
1702
1661
  };
1703
1662
  }
1704
1663
  catch (error) {
@@ -1709,4 +1668,3 @@ export async function handleDeleteToolkitTool(api, args) {
1709
1668
  };
1710
1669
  }
1711
1670
  }
1712
- //# sourceMappingURL=agent-toolkits.js.map