@payloadcms/plugin-mcp 3.91.0-internal.c1569dc → 4.0.0-beta.1

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 (423) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +2 -2
  3. package/bin.js +39 -0
  4. package/dist/defaultAccess.d.ts +3 -0
  5. package/dist/defaultAccess.d.ts.map +1 -0
  6. package/dist/defaultAccess.js +3 -0
  7. package/dist/defaultAccess.js.map +1 -0
  8. package/dist/defineTool.d.ts +26 -0
  9. package/dist/defineTool.d.ts.map +1 -0
  10. package/dist/defineTool.js +37 -0
  11. package/dist/defineTool.js.map +1 -0
  12. package/dist/endpoint/access.d.ts +17 -0
  13. package/dist/endpoint/access.d.ts.map +1 -0
  14. package/dist/endpoint/access.js +93 -0
  15. package/dist/endpoint/access.js.map +1 -0
  16. package/dist/endpoint/index.d.ts +3 -0
  17. package/dist/endpoint/index.d.ts.map +1 -0
  18. package/dist/endpoint/index.js +116 -0
  19. package/dist/endpoint/index.js.map +1 -0
  20. package/dist/exports/client.d.ts +2 -0
  21. package/dist/exports/client.d.ts.map +1 -0
  22. package/dist/exports/client.js +4 -0
  23. package/dist/exports/client.js.map +1 -0
  24. package/dist/exports/internal.d.ts +2 -0
  25. package/dist/exports/internal.d.ts.map +1 -0
  26. package/dist/exports/internal.js +3 -0
  27. package/dist/exports/internal.js.map +1 -0
  28. package/dist/index.d.ts +6 -9
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +39 -67
  31. package/dist/index.js.map +1 -1
  32. package/dist/mcp/buildMcpServer.d.ts +19 -0
  33. package/dist/mcp/buildMcpServer.d.ts.map +1 -0
  34. package/dist/mcp/buildMcpServer.js +235 -0
  35. package/dist/mcp/buildMcpServer.js.map +1 -0
  36. package/dist/mcp/builtin/collections/authTools.d.ts +7 -0
  37. package/dist/mcp/builtin/collections/authTools.d.ts.map +1 -0
  38. package/dist/mcp/builtin/collections/authTools.js +312 -0
  39. package/dist/mcp/builtin/collections/authTools.js.map +1 -0
  40. package/dist/mcp/builtin/collections/countTool.d.ts +2 -0
  41. package/dist/mcp/builtin/collections/countTool.d.ts.map +1 -0
  42. package/dist/mcp/builtin/collections/countTool.js +63 -0
  43. package/dist/mcp/builtin/collections/countTool.js.map +1 -0
  44. package/dist/mcp/builtin/collections/countVersionsTool.d.ts +2 -0
  45. package/dist/mcp/builtin/collections/countVersionsTool.d.ts.map +1 -0
  46. package/dist/mcp/builtin/collections/countVersionsTool.js +60 -0
  47. package/dist/mcp/builtin/collections/countVersionsTool.js.map +1 -0
  48. package/dist/mcp/builtin/collections/createTool.d.ts +2 -0
  49. package/dist/mcp/builtin/collections/createTool.d.ts.map +1 -0
  50. package/dist/mcp/builtin/collections/createTool.js +137 -0
  51. package/dist/mcp/builtin/collections/createTool.js.map +1 -0
  52. package/dist/mcp/builtin/collections/deleteTool.d.ts +2 -0
  53. package/dist/mcp/builtin/collections/deleteTool.d.ts.map +1 -0
  54. package/dist/mcp/builtin/collections/deleteTool.js +111 -0
  55. package/dist/mcp/builtin/collections/deleteTool.js.map +1 -0
  56. package/dist/mcp/builtin/collections/duplicateTool.d.ts +2 -0
  57. package/dist/mcp/builtin/collections/duplicateTool.d.ts.map +1 -0
  58. package/dist/mcp/builtin/collections/duplicateTool.js +90 -0
  59. package/dist/mcp/builtin/collections/duplicateTool.js.map +1 -0
  60. package/dist/mcp/builtin/collections/fileInput.d.ts +28 -0
  61. package/dist/mcp/builtin/collections/fileInput.d.ts.map +1 -0
  62. package/dist/mcp/builtin/collections/fileInput.js +88 -0
  63. package/dist/mcp/builtin/collections/fileInput.js.map +1 -0
  64. package/dist/mcp/builtin/collections/findDistinctTool.d.ts +2 -0
  65. package/dist/mcp/builtin/collections/findDistinctTool.d.ts.map +1 -0
  66. package/dist/mcp/builtin/collections/findDistinctTool.js +77 -0
  67. package/dist/mcp/builtin/collections/findDistinctTool.js.map +1 -0
  68. package/dist/mcp/builtin/collections/findTool.d.ts +2 -0
  69. package/dist/mcp/builtin/collections/findTool.d.ts.map +1 -0
  70. package/dist/mcp/builtin/collections/findTool.js +146 -0
  71. package/dist/mcp/builtin/collections/findTool.js.map +1 -0
  72. package/dist/mcp/builtin/collections/findVersionByIDTool.d.ts +2 -0
  73. package/dist/mcp/builtin/collections/findVersionByIDTool.d.ts.map +1 -0
  74. package/dist/mcp/builtin/collections/findVersionByIDTool.js +74 -0
  75. package/dist/mcp/builtin/collections/findVersionByIDTool.js.map +1 -0
  76. package/dist/mcp/builtin/collections/findVersionsTool.d.ts +2 -0
  77. package/dist/mcp/builtin/collections/findVersionsTool.d.ts.map +1 -0
  78. package/dist/mcp/builtin/collections/findVersionsTool.js +84 -0
  79. package/dist/mcp/builtin/collections/findVersionsTool.js.map +1 -0
  80. package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts +2 -0
  81. package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts.map +1 -0
  82. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js +103 -0
  83. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js.map +1 -0
  84. package/dist/mcp/builtin/collections/restoreVersionTool.d.ts +2 -0
  85. package/dist/mcp/builtin/collections/restoreVersionTool.d.ts.map +1 -0
  86. package/dist/mcp/builtin/collections/restoreVersionTool.js +69 -0
  87. package/dist/mcp/builtin/collections/restoreVersionTool.js.map +1 -0
  88. package/dist/mcp/builtin/collections/updateTool.d.ts +2 -0
  89. package/dist/mcp/builtin/collections/updateTool.d.ts.map +1 -0
  90. package/dist/mcp/builtin/collections/updateTool.js +172 -0
  91. package/dist/mcp/builtin/collections/updateTool.js.map +1 -0
  92. package/dist/mcp/builtin/collections/uploadInstructionsTool.d.ts +2 -0
  93. package/dist/mcp/builtin/collections/uploadInstructionsTool.d.ts.map +1 -0
  94. package/dist/mcp/builtin/collections/uploadInstructionsTool.js +55 -0
  95. package/dist/mcp/builtin/collections/uploadInstructionsTool.js.map +1 -0
  96. package/dist/mcp/builtin/formatEntityError.d.ts +16 -0
  97. package/dist/mcp/builtin/formatEntityError.d.ts.map +1 -0
  98. package/dist/mcp/builtin/formatEntityError.js +55 -0
  99. package/dist/mcp/builtin/formatEntityError.js.map +1 -0
  100. package/dist/mcp/builtin/getConfigInfoTool.d.ts +2 -0
  101. package/dist/mcp/builtin/getConfigInfoTool.d.ts.map +1 -0
  102. package/dist/mcp/builtin/getConfigInfoTool.js +69 -0
  103. package/dist/mcp/builtin/getConfigInfoTool.js.map +1 -0
  104. package/dist/mcp/builtin/globals/countVersionsTool.d.ts +2 -0
  105. package/dist/mcp/builtin/globals/countVersionsTool.d.ts.map +1 -0
  106. package/dist/mcp/builtin/globals/countVersionsTool.js +60 -0
  107. package/dist/mcp/builtin/globals/countVersionsTool.js.map +1 -0
  108. package/dist/mcp/builtin/globals/findTool.d.ts +2 -0
  109. package/dist/mcp/builtin/globals/findTool.d.ts.map +1 -0
  110. package/dist/mcp/builtin/globals/findTool.js +67 -0
  111. package/dist/mcp/builtin/globals/findTool.js.map +1 -0
  112. package/dist/mcp/builtin/globals/findVersionByIDTool.d.ts +2 -0
  113. package/dist/mcp/builtin/globals/findVersionByIDTool.d.ts.map +1 -0
  114. package/dist/mcp/builtin/globals/findVersionByIDTool.js +68 -0
  115. package/dist/mcp/builtin/globals/findVersionByIDTool.js.map +1 -0
  116. package/dist/mcp/builtin/globals/findVersionsTool.d.ts +2 -0
  117. package/dist/mcp/builtin/globals/findVersionsTool.d.ts.map +1 -0
  118. package/dist/mcp/builtin/globals/findVersionsTool.js +78 -0
  119. package/dist/mcp/builtin/globals/findVersionsTool.js.map +1 -0
  120. package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts +2 -0
  121. package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts.map +1 -0
  122. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js +81 -0
  123. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js.map +1 -0
  124. package/dist/mcp/builtin/globals/restoreVersionTool.d.ts +2 -0
  125. package/dist/mcp/builtin/globals/restoreVersionTool.d.ts.map +1 -0
  126. package/dist/mcp/builtin/globals/restoreVersionTool.js +70 -0
  127. package/dist/mcp/builtin/globals/restoreVersionTool.js.map +1 -0
  128. package/dist/mcp/builtin/globals/updateTool.d.ts +2 -0
  129. package/dist/mcp/builtin/globals/updateTool.d.ts.map +1 -0
  130. package/dist/mcp/builtin/globals/updateTool.js +78 -0
  131. package/dist/mcp/builtin/globals/updateTool.js.map +1 -0
  132. package/dist/mcp/builtinTools.d.ts +168 -0
  133. package/dist/mcp/builtinTools.d.ts.map +1 -0
  134. package/dist/mcp/builtinTools.js +169 -0
  135. package/dist/mcp/builtinTools.js.map +1 -0
  136. package/dist/mcp/sanitizeMCPConfig.d.ts +16 -0
  137. package/dist/mcp/sanitizeMCPConfig.d.ts.map +1 -0
  138. package/dist/mcp/sanitizeMCPConfig.js +233 -0
  139. package/dist/mcp/sanitizeMCPConfig.js.map +1 -0
  140. package/dist/stdio.d.ts +8 -0
  141. package/dist/stdio.d.ts.map +1 -0
  142. package/dist/stdio.js +128 -0
  143. package/dist/stdio.js.map +1 -0
  144. package/dist/types.d.ts +263 -447
  145. package/dist/types.d.ts.map +1 -1
  146. package/dist/types.js +4 -1
  147. package/dist/types.js.map +1 -1
  148. package/dist/utils/getLogger.d.ts +10 -0
  149. package/dist/utils/getLogger.d.ts.map +1 -0
  150. package/dist/utils/getLogger.js +22 -0
  151. package/dist/utils/getLogger.js.map +1 -0
  152. package/dist/utils/getPluginConfig.d.ts +12 -0
  153. package/dist/utils/getPluginConfig.d.ts.map +1 -0
  154. package/dist/utils/getPluginConfig.js +15 -0
  155. package/dist/utils/getPluginConfig.js.map +1 -0
  156. package/dist/utils/resolveProjectRoot.d.ts +7 -0
  157. package/dist/utils/resolveProjectRoot.d.ts.map +1 -0
  158. package/dist/utils/resolveProjectRoot.js +15 -0
  159. package/dist/utils/resolveProjectRoot.js.map +1 -0
  160. package/dist/utils/toStandardSchema.d.ts +5 -0
  161. package/dist/utils/toStandardSchema.d.ts.map +1 -0
  162. package/dist/utils/toStandardSchema.js +4 -0
  163. package/dist/utils/toStandardSchema.js.map +1 -0
  164. package/package.json +29 -11
  165. package/src/defaultAccess.ts +3 -0
  166. package/src/defineTool.ts +44 -0
  167. package/src/endpoint/access.ts +111 -0
  168. package/src/endpoint/index.ts +107 -0
  169. package/src/exports/client.ts +3 -0
  170. package/src/exports/internal.ts +1 -0
  171. package/src/index.ts +31 -89
  172. package/src/mcp/buildMcpServer.ts +294 -0
  173. package/src/mcp/builtin/collections/authTools.ts +280 -0
  174. package/src/mcp/builtin/collections/countTool.ts +61 -0
  175. package/src/mcp/builtin/collections/countVersionsTool.ts +60 -0
  176. package/src/mcp/builtin/collections/createTool.ts +145 -0
  177. package/src/mcp/builtin/collections/deleteTool.ts +97 -0
  178. package/src/mcp/builtin/collections/duplicateTool.ts +84 -0
  179. package/src/mcp/builtin/collections/fileInput.spec.ts +93 -0
  180. package/src/mcp/builtin/collections/fileInput.ts +127 -0
  181. package/src/mcp/builtin/collections/findDistinctTool.ts +67 -0
  182. package/src/mcp/builtin/collections/findTool.ts +134 -0
  183. package/src/mcp/builtin/collections/findVersionByIDTool.ts +66 -0
  184. package/src/mcp/builtin/collections/findVersionsTool.ts +83 -0
  185. package/src/mcp/builtin/collections/getCollectionSchemaTool.ts +91 -0
  186. package/src/mcp/builtin/collections/restoreVersionTool.ts +65 -0
  187. package/src/mcp/builtin/collections/updateTool.ts +173 -0
  188. package/src/mcp/builtin/collections/uploadInstructionsTool.ts +64 -0
  189. package/src/mcp/builtin/formatEntityError.ts +77 -0
  190. package/src/mcp/builtin/getConfigInfoTool.ts +68 -0
  191. package/src/mcp/builtin/globals/countVersionsTool.ts +60 -0
  192. package/src/mcp/builtin/globals/findTool.ts +66 -0
  193. package/src/mcp/builtin/globals/findVersionByIDTool.ts +64 -0
  194. package/src/mcp/builtin/globals/findVersionsTool.ts +69 -0
  195. package/src/mcp/builtin/globals/getGlobalSchemaTool.ts +73 -0
  196. package/src/mcp/builtin/globals/restoreVersionTool.ts +68 -0
  197. package/src/mcp/builtin/globals/updateTool.ts +92 -0
  198. package/src/mcp/builtinTools.ts +161 -0
  199. package/src/mcp/sanitizeMCPConfig.ts +281 -0
  200. package/src/stdio.ts +131 -0
  201. package/src/types.ts +312 -486
  202. package/src/utils/getLogger.ts +22 -0
  203. package/src/utils/getPluginConfig.ts +24 -0
  204. package/src/utils/resolveProjectRoot.ts +17 -0
  205. package/src/utils/toStandardSchema.ts +9 -0
  206. package/dist/collections/createApiKeysCollection.d.ts +0 -7
  207. package/dist/collections/createApiKeysCollection.d.ts.map +0 -1
  208. package/dist/collections/createApiKeysCollection.js +0 -342
  209. package/dist/collections/createApiKeysCollection.js.map +0 -1
  210. package/dist/defaults.d.ts +0 -4
  211. package/dist/defaults.d.ts.map +0 -1
  212. package/dist/defaults.js +0 -5
  213. package/dist/defaults.js.map +0 -1
  214. package/dist/endpoints/mcp.d.ts +0 -4
  215. package/dist/endpoints/mcp.d.ts.map +0 -1
  216. package/dist/endpoints/mcp.js +0 -24
  217. package/dist/endpoints/mcp.js.map +0 -1
  218. package/dist/endpoints/resolveAccessSettings.d.ts +0 -10
  219. package/dist/endpoints/resolveAccessSettings.d.ts.map +0 -1
  220. package/dist/endpoints/resolveAccessSettings.js +0 -44
  221. package/dist/endpoints/resolveAccessSettings.js.map +0 -1
  222. package/dist/endpoints/withRestoredWebGlobals.d.ts +0 -5
  223. package/dist/endpoints/withRestoredWebGlobals.d.ts.map +0 -1
  224. package/dist/endpoints/withRestoredWebGlobals.js +0 -23
  225. package/dist/endpoints/withRestoredWebGlobals.js.map +0 -1
  226. package/dist/mcp/createRequest.d.ts +0 -3
  227. package/dist/mcp/createRequest.d.ts.map +0 -1
  228. package/dist/mcp/createRequest.js +0 -14
  229. package/dist/mcp/createRequest.js.map +0 -1
  230. package/dist/mcp/getMcpHandler.d.ts +0 -4
  231. package/dist/mcp/getMcpHandler.d.ts.map +0 -1
  232. package/dist/mcp/getMcpHandler.js +0 -231
  233. package/dist/mcp/getMcpHandler.js.map +0 -1
  234. package/dist/mcp/helpers/config.d.ts +0 -22
  235. package/dist/mcp/helpers/config.d.ts.map +0 -1
  236. package/dist/mcp/helpers/config.js +0 -153
  237. package/dist/mcp/helpers/config.js.map +0 -1
  238. package/dist/mcp/helpers/fields.d.ts +0 -19
  239. package/dist/mcp/helpers/fields.d.ts.map +0 -1
  240. package/dist/mcp/helpers/fields.js +0 -102
  241. package/dist/mcp/helpers/fields.js.map +0 -1
  242. package/dist/mcp/helpers/fileValidation.d.ts +0 -67
  243. package/dist/mcp/helpers/fileValidation.d.ts.map +0 -1
  244. package/dist/mcp/helpers/fileValidation.js +0 -267
  245. package/dist/mcp/helpers/fileValidation.js.map +0 -1
  246. package/dist/mcp/registerTool.d.ts +0 -6
  247. package/dist/mcp/registerTool.d.ts.map +0 -1
  248. package/dist/mcp/registerTool.js +0 -18
  249. package/dist/mcp/registerTool.js.map +0 -1
  250. package/dist/mcp/tools/auth/auth.d.ts +0 -4
  251. package/dist/mcp/tools/auth/auth.d.ts.map +0 -1
  252. package/dist/mcp/tools/auth/auth.js +0 -79
  253. package/dist/mcp/tools/auth/auth.js.map +0 -1
  254. package/dist/mcp/tools/auth/auth.spec.js +0 -83
  255. package/dist/mcp/tools/auth/auth.spec.js.map +0 -1
  256. package/dist/mcp/tools/auth/forgotPassword.d.ts +0 -4
  257. package/dist/mcp/tools/auth/forgotPassword.d.ts.map +0 -1
  258. package/dist/mcp/tools/auth/forgotPassword.js +0 -50
  259. package/dist/mcp/tools/auth/forgotPassword.js.map +0 -1
  260. package/dist/mcp/tools/auth/login.d.ts +0 -4
  261. package/dist/mcp/tools/auth/login.d.ts.map +0 -1
  262. package/dist/mcp/tools/auth/login.js +0 -50
  263. package/dist/mcp/tools/auth/login.js.map +0 -1
  264. package/dist/mcp/tools/auth/resetPassword.d.ts +0 -4
  265. package/dist/mcp/tools/auth/resetPassword.d.ts.map +0 -1
  266. package/dist/mcp/tools/auth/resetPassword.js +0 -49
  267. package/dist/mcp/tools/auth/resetPassword.js.map +0 -1
  268. package/dist/mcp/tools/auth/unlock.d.ts +0 -4
  269. package/dist/mcp/tools/auth/unlock.d.ts.map +0 -1
  270. package/dist/mcp/tools/auth/unlock.js +0 -49
  271. package/dist/mcp/tools/auth/unlock.js.map +0 -1
  272. package/dist/mcp/tools/auth/verify.d.ts +0 -4
  273. package/dist/mcp/tools/auth/verify.d.ts.map +0 -1
  274. package/dist/mcp/tools/auth/verify.js +0 -45
  275. package/dist/mcp/tools/auth/verify.js.map +0 -1
  276. package/dist/mcp/tools/collection/create.d.ts +0 -10
  277. package/dist/mcp/tools/collection/create.d.ts.map +0 -1
  278. package/dist/mcp/tools/collection/create.js +0 -139
  279. package/dist/mcp/tools/collection/create.js.map +0 -1
  280. package/dist/mcp/tools/collection/delete.d.ts +0 -10
  281. package/dist/mcp/tools/collection/delete.d.ts.map +0 -1
  282. package/dist/mcp/tools/collection/delete.js +0 -154
  283. package/dist/mcp/tools/collection/delete.js.map +0 -1
  284. package/dist/mcp/tools/collection/find.d.ts +0 -10
  285. package/dist/mcp/tools/collection/find.d.ts.map +0 -1
  286. package/dist/mcp/tools/collection/find.js +0 -165
  287. package/dist/mcp/tools/collection/find.js.map +0 -1
  288. package/dist/mcp/tools/collection/update.d.ts +0 -10
  289. package/dist/mcp/tools/collection/update.d.ts.map +0 -1
  290. package/dist/mcp/tools/collection/update.js +0 -209
  291. package/dist/mcp/tools/collection/update.js.map +0 -1
  292. package/dist/mcp/tools/config/find.d.ts +0 -10
  293. package/dist/mcp/tools/config/find.d.ts.map +0 -1
  294. package/dist/mcp/tools/config/find.js +0 -97
  295. package/dist/mcp/tools/config/find.js.map +0 -1
  296. package/dist/mcp/tools/config/update.d.ts +0 -10
  297. package/dist/mcp/tools/config/update.d.ts.map +0 -1
  298. package/dist/mcp/tools/config/update.js +0 -215
  299. package/dist/mcp/tools/config/update.js.map +0 -1
  300. package/dist/mcp/tools/global/find.d.ts +0 -5
  301. package/dist/mcp/tools/global/find.d.ts.map +0 -1
  302. package/dist/mcp/tools/global/find.js +0 -84
  303. package/dist/mcp/tools/global/find.js.map +0 -1
  304. package/dist/mcp/tools/global/update.d.ts +0 -6
  305. package/dist/mcp/tools/global/update.d.ts.map +0 -1
  306. package/dist/mcp/tools/global/update.js +0 -126
  307. package/dist/mcp/tools/global/update.js.map +0 -1
  308. package/dist/mcp/tools/job/create.d.ts +0 -10
  309. package/dist/mcp/tools/job/create.d.ts.map +0 -1
  310. package/dist/mcp/tools/job/create.js +0 -293
  311. package/dist/mcp/tools/job/create.js.map +0 -1
  312. package/dist/mcp/tools/job/run.d.ts +0 -10
  313. package/dist/mcp/tools/job/run.d.ts.map +0 -1
  314. package/dist/mcp/tools/job/run.js +0 -131
  315. package/dist/mcp/tools/job/run.js.map +0 -1
  316. package/dist/mcp/tools/job/update.d.ts +0 -11
  317. package/dist/mcp/tools/job/update.d.ts.map +0 -1
  318. package/dist/mcp/tools/job/update.js +0 -186
  319. package/dist/mcp/tools/job/update.js.map +0 -1
  320. package/dist/mcp/tools/resource/create.d.ts +0 -6
  321. package/dist/mcp/tools/resource/create.d.ts.map +0 -1
  322. package/dist/mcp/tools/resource/create.js +0 -124
  323. package/dist/mcp/tools/resource/create.js.map +0 -1
  324. package/dist/mcp/tools/resource/delete.d.ts +0 -5
  325. package/dist/mcp/tools/resource/delete.d.ts.map +0 -1
  326. package/dist/mcp/tools/resource/delete.js +0 -151
  327. package/dist/mcp/tools/resource/delete.js.map +0 -1
  328. package/dist/mcp/tools/resource/find.d.ts +0 -5
  329. package/dist/mcp/tools/resource/find.d.ts.map +0 -1
  330. package/dist/mcp/tools/resource/find.js +0 -170
  331. package/dist/mcp/tools/resource/find.js.map +0 -1
  332. package/dist/mcp/tools/resource/update.d.ts +0 -6
  333. package/dist/mcp/tools/resource/update.d.ts.map +0 -1
  334. package/dist/mcp/tools/resource/update.js +0 -242
  335. package/dist/mcp/tools/resource/update.js.map +0 -1
  336. package/dist/mcp/tools/schemas.d.ts +0 -442
  337. package/dist/mcp/tools/schemas.d.ts.map +0 -1
  338. package/dist/mcp/tools/schemas.js +0 -238
  339. package/dist/mcp/tools/schemas.js.map +0 -1
  340. package/dist/utils/adminEntitySettings.d.ts +0 -17
  341. package/dist/utils/adminEntitySettings.d.ts.map +0 -1
  342. package/dist/utils/adminEntitySettings.js +0 -41
  343. package/dist/utils/adminEntitySettings.js.map +0 -1
  344. package/dist/utils/createApiKeyFields.d.ts +0 -15
  345. package/dist/utils/createApiKeyFields.d.ts.map +0 -1
  346. package/dist/utils/createApiKeyFields.js +0 -57
  347. package/dist/utils/createApiKeyFields.js.map +0 -1
  348. package/dist/utils/getEnabledSlugs.d.ts +0 -13
  349. package/dist/utils/getEnabledSlugs.d.ts.map +0 -1
  350. package/dist/utils/getEnabledSlugs.js +0 -32
  351. package/dist/utils/getEnabledSlugs.js.map +0 -1
  352. package/dist/utils/getVirtualFieldNames.d.ts +0 -14
  353. package/dist/utils/getVirtualFieldNames.d.ts.map +0 -1
  354. package/dist/utils/getVirtualFieldNames.js +0 -35
  355. package/dist/utils/getVirtualFieldNames.js.map +0 -1
  356. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.d.ts +0 -4
  357. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.d.ts.map +0 -1
  358. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.js +0 -61
  359. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.js.map +0 -1
  360. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.d.ts +0 -7
  361. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.d.ts.map +0 -1
  362. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.js +0 -20
  363. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.js.map +0 -1
  364. package/dist/utils/schemaConversion/sanitizeJsonSchema.d.ts +0 -13
  365. package/dist/utils/schemaConversion/sanitizeJsonSchema.d.ts.map +0 -1
  366. package/dist/utils/schemaConversion/sanitizeJsonSchema.js +0 -56
  367. package/dist/utils/schemaConversion/sanitizeJsonSchema.js.map +0 -1
  368. package/dist/utils/schemaConversion/simplifyRelationshipFields.d.ts +0 -20
  369. package/dist/utils/schemaConversion/simplifyRelationshipFields.d.ts.map +0 -1
  370. package/dist/utils/schemaConversion/simplifyRelationshipFields.js +0 -53
  371. package/dist/utils/schemaConversion/simplifyRelationshipFields.js.map +0 -1
  372. package/dist/utils/schemaConversion/transformPointFields.d.ts +0 -3
  373. package/dist/utils/schemaConversion/transformPointFields.d.ts.map +0 -1
  374. package/dist/utils/schemaConversion/transformPointFields.js +0 -51
  375. package/dist/utils/schemaConversion/transformPointFields.js.map +0 -1
  376. package/dist/utils/transformPointDataToPayload.d.ts +0 -7
  377. package/dist/utils/transformPointDataToPayload.d.ts.map +0 -1
  378. package/dist/utils/transformPointDataToPayload.js +0 -28
  379. package/dist/utils/transformPointDataToPayload.js.map +0 -1
  380. package/src/collections/createApiKeysCollection.ts +0 -399
  381. package/src/defaults.ts +0 -3
  382. package/src/endpoints/mcp.ts +0 -26
  383. package/src/endpoints/resolveAccessSettings.ts +0 -74
  384. package/src/endpoints/withRestoredWebGlobals.ts +0 -19
  385. package/src/mcp/createRequest.ts +0 -13
  386. package/src/mcp/getMcpHandler.ts +0 -546
  387. package/src/mcp/helpers/config.ts +0 -213
  388. package/src/mcp/helpers/fields.ts +0 -154
  389. package/src/mcp/helpers/fileValidation.ts +0 -362
  390. package/src/mcp/registerTool.ts +0 -22
  391. package/src/mcp/tools/auth/auth.spec.ts +0 -98
  392. package/src/mcp/tools/auth/auth.ts +0 -89
  393. package/src/mcp/tools/auth/forgotPassword.ts +0 -72
  394. package/src/mcp/tools/auth/login.ts +0 -64
  395. package/src/mcp/tools/auth/resetPassword.ts +0 -61
  396. package/src/mcp/tools/auth/unlock.ts +0 -65
  397. package/src/mcp/tools/auth/verify.ts +0 -57
  398. package/src/mcp/tools/collection/create.ts +0 -210
  399. package/src/mcp/tools/collection/delete.ts +0 -211
  400. package/src/mcp/tools/collection/find.ts +0 -224
  401. package/src/mcp/tools/collection/update.ts +0 -290
  402. package/src/mcp/tools/config/find.ts +0 -128
  403. package/src/mcp/tools/config/update.ts +0 -280
  404. package/src/mcp/tools/global/find.ts +0 -130
  405. package/src/mcp/tools/global/update.ts +0 -209
  406. package/src/mcp/tools/job/create.ts +0 -416
  407. package/src/mcp/tools/job/run.ts +0 -169
  408. package/src/mcp/tools/job/update.ts +0 -274
  409. package/src/mcp/tools/resource/create.ts +0 -211
  410. package/src/mcp/tools/resource/delete.ts +0 -218
  411. package/src/mcp/tools/resource/find.ts +0 -246
  412. package/src/mcp/tools/resource/update.ts +0 -367
  413. package/src/mcp/tools/schemas.ts +0 -499
  414. package/src/utils/adminEntitySettings.ts +0 -40
  415. package/src/utils/createApiKeyFields.ts +0 -72
  416. package/src/utils/getEnabledSlugs.ts +0 -42
  417. package/src/utils/getVirtualFieldNames.ts +0 -53
  418. package/src/utils/schemaConversion/convertCollectionSchemaToZod.ts +0 -72
  419. package/src/utils/schemaConversion/removeVirtualFieldsFromSchema.ts +0 -27
  420. package/src/utils/schemaConversion/sanitizeJsonSchema.ts +0 -62
  421. package/src/utils/schemaConversion/simplifyRelationshipFields.ts +0 -65
  422. package/src/utils/schemaConversion/transformPointFields.ts +0 -55
  423. package/src/utils/transformPointDataToPayload.ts +0 -40
@@ -1,246 +0,0 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
2
- import type { PayloadRequest, SelectType, TypedUser } from 'payload'
3
-
4
- import type { MCPPluginConfig } from '../../../types.js'
5
-
6
- import { toCamelCase } from '../../../utils/camelCase.js'
7
- import { toolSchemas } from '../schemas.js'
8
-
9
- export const findResourceTool = (
10
- server: McpServer,
11
- req: PayloadRequest,
12
- user: TypedUser,
13
- verboseLogs: boolean,
14
- collectionSlug: string,
15
- collections: MCPPluginConfig['collections'],
16
- ) => {
17
- const tool = async (
18
- id?: number | string,
19
- limit: number = 10,
20
- page: number = 1,
21
- sort?: string,
22
- where?: string,
23
- select?: string,
24
- depth: number = 0,
25
- locale?: string,
26
- fallbackLocale?: string,
27
- draft?: boolean,
28
- ): Promise<{
29
- content: Array<{
30
- text: string
31
- type: 'text'
32
- }>
33
- }> => {
34
- const payload = req.payload
35
-
36
- if (verboseLogs) {
37
- payload.logger.info(
38
- `[payload-mcp] Reading resource from collection: ${collectionSlug}${id ? ` with ID: ${id}` : ''}, limit: ${limit}, page: ${page}${locale ? `, locale: ${locale}` : ''}`,
39
- )
40
- }
41
-
42
- try {
43
- // Parse where clause if provided
44
- let whereClause = {}
45
- if (where) {
46
- try {
47
- whereClause = JSON.parse(where)
48
- if (verboseLogs) {
49
- payload.logger.info(`[payload-mcp] Using where clause: ${where}`)
50
- }
51
- } catch (_parseError) {
52
- payload.logger.warn(`[payload-mcp] Invalid where clause JSON: ${where}`)
53
- const response = {
54
- content: [{ type: 'text' as const, text: 'Error: Invalid JSON in where clause' }],
55
- }
56
- return (collections?.[collectionSlug]?.overrideResponse?.(response, {}, req) ||
57
- response) as {
58
- content: Array<{
59
- text: string
60
- type: 'text'
61
- }>
62
- }
63
- }
64
- }
65
-
66
- // Parse select clause if provided
67
- let selectClause: SelectType | undefined
68
- if (select) {
69
- try {
70
- selectClause = JSON.parse(select) as SelectType
71
- } catch (_parseError) {
72
- payload.logger.warn(`[payload-mcp] Invalid select clause JSON: ${select}`)
73
- const response = {
74
- content: [{ type: 'text' as const, text: 'Error: Invalid JSON in select clause' }],
75
- }
76
- return (collections?.[collectionSlug]?.overrideResponse?.(response, {}, req) ||
77
- response) as {
78
- content: Array<{
79
- text: string
80
- type: 'text'
81
- }>
82
- }
83
- }
84
- }
85
-
86
- // If ID is provided, use findByID
87
- if (id) {
88
- try {
89
- const doc = await payload.findByID({
90
- id,
91
- collection: collectionSlug,
92
- depth,
93
- ...(selectClause && { select: selectClause }),
94
- overrideAccess: false,
95
- req,
96
- user,
97
- ...(locale && { locale }),
98
- ...(fallbackLocale && { fallbackLocale }),
99
- ...(draft !== undefined && { draft }),
100
- })
101
-
102
- if (verboseLogs) {
103
- payload.logger.info(`[payload-mcp] Found document with ID: ${id}`)
104
- }
105
-
106
- const response = {
107
- content: [
108
- {
109
- type: 'text' as const,
110
- text: `Resource from collection "${collectionSlug}":
111
- ${JSON.stringify(doc)}`,
112
- },
113
- ],
114
- }
115
-
116
- return (collections?.[collectionSlug]?.overrideResponse?.(response, doc, req) ||
117
- response) as {
118
- content: Array<{
119
- text: string
120
- type: 'text'
121
- }>
122
- }
123
- } catch (_findError) {
124
- payload.logger.warn(
125
- `[payload-mcp] Document not found with ID: ${id} in collection: ${collectionSlug}`,
126
- )
127
- const response = {
128
- content: [
129
- {
130
- type: 'text' as const,
131
- text: `Error: Document with ID "${id}" not found in collection "${collectionSlug}"`,
132
- },
133
- ],
134
- }
135
- return (collections?.[collectionSlug]?.overrideResponse?.(response, {}, req) ||
136
- response) as {
137
- content: Array<{
138
- text: string
139
- type: 'text'
140
- }>
141
- }
142
- }
143
- }
144
-
145
- // Otherwise, use find to get multiple documents
146
- const findOptions: Parameters<typeof payload.find>[0] = {
147
- collection: collectionSlug,
148
- depth,
149
- limit,
150
- overrideAccess: false,
151
- page,
152
- req,
153
- user,
154
- ...(selectClause && { select: selectClause }),
155
- ...(locale && { locale }),
156
- ...(fallbackLocale && { fallbackLocale }),
157
- ...(draft !== undefined && { draft }),
158
- }
159
-
160
- if (sort) {
161
- findOptions.sort = sort
162
- }
163
-
164
- if (Object.keys(whereClause).length > 0) {
165
- findOptions.where = whereClause
166
- }
167
-
168
- const result = await payload.find(findOptions)
169
-
170
- if (verboseLogs) {
171
- payload.logger.info(
172
- `[payload-mcp] Found ${result.docs.length} documents in collection: ${collectionSlug}`,
173
- )
174
- }
175
-
176
- let responseText = `Collection: "${collectionSlug}"
177
- Total: ${result.totalDocs} documents
178
- Page: ${result.page} of ${result.totalPages}
179
- `
180
-
181
- for (const doc of result.docs) {
182
- responseText += `\n\`\`\`json\n${JSON.stringify(doc)}\n\`\`\``
183
- }
184
-
185
- const response = {
186
- content: [
187
- {
188
- type: 'text' as const,
189
- text: responseText,
190
- },
191
- ],
192
- }
193
-
194
- return (collections?.[collectionSlug]?.overrideResponse?.(response, result, req) ||
195
- response) as {
196
- content: Array<{
197
- text: string
198
- type: 'text'
199
- }>
200
- }
201
- } catch (error) {
202
- const errorMessage = error instanceof Error ? error.message : 'Unknown error'
203
- payload.logger.error(
204
- `[payload-mcp] Error reading resources from collection ${collectionSlug}: ${errorMessage}`,
205
- )
206
- const response = {
207
- content: [
208
- {
209
- type: 'text' as const,
210
- text: `❌ **Error reading resources from collection "${collectionSlug}":** ${errorMessage}`,
211
- },
212
- ],
213
- }
214
- return (collections?.[collectionSlug]?.overrideResponse?.(response, {}, req) || response) as {
215
- content: Array<{
216
- text: string
217
- type: 'text'
218
- }>
219
- }
220
- }
221
- }
222
-
223
- if (collections?.[collectionSlug]?.enabled) {
224
- server.registerTool(
225
- `find${collectionSlug.charAt(0).toUpperCase() + toCamelCase(collectionSlug).slice(1)}`,
226
- {
227
- description: `${collections?.[collectionSlug]?.description || toolSchemas.findResources.description.trim()}`,
228
- inputSchema: toolSchemas.findResources.parameters.shape,
229
- },
230
- async ({ id, depth, draft, fallbackLocale, limit, locale, page, select, sort, where }) => {
231
- return await tool(
232
- id,
233
- limit,
234
- page,
235
- sort,
236
- where,
237
- select,
238
- depth,
239
- locale,
240
- fallbackLocale,
241
- draft,
242
- )
243
- },
244
- )
245
- }
246
- }
@@ -1,367 +0,0 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
2
- import type { JSONSchema4 } from 'json-schema'
3
- import type { PayloadRequest, SelectType, TypedUser } from 'payload'
4
-
5
- import { z } from 'zod'
6
-
7
- import type { MCPPluginConfig } from '../../../types.js'
8
-
9
- import { toCamelCase } from '../../../utils/camelCase.js'
10
- import {
11
- getCollectionVirtualFieldNames,
12
- stripVirtualFields,
13
- } from '../../../utils/getVirtualFieldNames.js'
14
- import { convertCollectionSchemaToZod } from '../../../utils/schemaConversion/convertCollectionSchemaToZod.js'
15
- import { transformPointDataToPayload } from '../../../utils/transformPointDataToPayload.js'
16
- import { toolSchemas } from '../schemas.js'
17
- export const updateResourceTool = (
18
- server: McpServer,
19
- req: PayloadRequest,
20
- user: TypedUser,
21
- verboseLogs: boolean,
22
- collectionSlug: string,
23
- collections: MCPPluginConfig['collections'],
24
- schema: JSONSchema4,
25
- ) => {
26
- const tool = async (
27
- data: string,
28
- id?: number | string,
29
- where?: string,
30
- draft: boolean = false,
31
- depth: number = 0,
32
- overrideLock: boolean = true,
33
- locale?: string,
34
- fallbackLocale?: string,
35
- select?: string,
36
- ): Promise<{
37
- content: Array<{
38
- text: string
39
- type: 'text'
40
- }>
41
- }> => {
42
- const payload = req.payload
43
-
44
- if (verboseLogs) {
45
- payload.logger.info(
46
- `[payload-mcp] Updating resource in collection: ${collectionSlug}${id ? ` with ID: ${id}` : ' with where clause'}, draft: ${draft}${locale ? `, locale: ${locale}` : ''}`,
47
- )
48
- }
49
-
50
- try {
51
- // Parse the data JSON
52
- let parsedData: Record<string, unknown>
53
- try {
54
- parsedData = JSON.parse(data)
55
-
56
- // Transform point fields from object format to tuple array
57
- parsedData = transformPointDataToPayload(parsedData)
58
-
59
- const virtualFieldNames = getCollectionVirtualFieldNames(payload.config, collectionSlug)
60
- parsedData = stripVirtualFields(parsedData, virtualFieldNames)
61
-
62
- if (verboseLogs) {
63
- payload.logger.info(
64
- `[payload-mcp] Parsed data for ${collectionSlug}: ${JSON.stringify(parsedData)}`,
65
- )
66
- }
67
- } catch (_parseError) {
68
- payload.logger.error(`[payload-mcp] Invalid JSON data provided: ${data}`)
69
- const response = {
70
- content: [{ type: 'text' as const, text: 'Error: Invalid JSON data provided' }],
71
- }
72
- return (collections?.[collectionSlug]?.overrideResponse?.(response, {}, req) ||
73
- response) as {
74
- content: Array<{
75
- text: string
76
- type: 'text'
77
- }>
78
- }
79
- }
80
-
81
- // Validate that either id or where is provided
82
- if (!id && !where) {
83
- payload.logger.error('[payload-mcp] Either id or where clause must be provided')
84
- const response = {
85
- content: [
86
- { type: 'text' as const, text: 'Error: Either id or where clause must be provided' },
87
- ],
88
- }
89
- return (collections?.[collectionSlug]?.overrideResponse?.(response, {}, req) ||
90
- response) as {
91
- content: Array<{
92
- text: string
93
- type: 'text'
94
- }>
95
- }
96
- }
97
-
98
- // Parse where clause if provided
99
- let whereClause = {}
100
- if (where) {
101
- try {
102
- whereClause = JSON.parse(where)
103
- if (verboseLogs) {
104
- payload.logger.info(`[payload-mcp] Using where clause: ${where}`)
105
- }
106
- } catch (_parseError) {
107
- payload.logger.error(`[payload-mcp] Invalid where clause JSON: ${where}`)
108
- const response = {
109
- content: [{ type: 'text' as const, text: 'Error: Invalid JSON in where clause' }],
110
- }
111
- return (collections?.[collectionSlug]?.overrideResponse?.(response, {}, req) ||
112
- response) as {
113
- content: Array<{
114
- text: string
115
- type: 'text'
116
- }>
117
- }
118
- }
119
- }
120
-
121
- let selectClause: SelectType | undefined
122
- if (select) {
123
- try {
124
- selectClause = JSON.parse(select) as SelectType
125
- } catch (_parseError) {
126
- payload.logger.warn(`[payload-mcp] Invalid select clause JSON: ${select}`)
127
- const response = {
128
- content: [{ type: 'text' as const, text: 'Error: Invalid JSON in select clause' }],
129
- }
130
- return (collections?.[collectionSlug]?.overrideResponse?.(response, {}, req) ||
131
- response) as {
132
- content: Array<{
133
- text: string
134
- type: 'text'
135
- }>
136
- }
137
- }
138
- }
139
-
140
- // Update by ID or where clause
141
- if (id) {
142
- // Single document update
143
- const updateOptions = {
144
- id,
145
- collection: collectionSlug,
146
- data: parsedData,
147
- depth,
148
- draft,
149
- overrideAccess: false,
150
- overrideLock,
151
- req,
152
- user,
153
- ...(locale && { locale }),
154
- ...(fallbackLocale && { fallbackLocale }),
155
- ...(selectClause && { select: selectClause }),
156
- }
157
-
158
- if (verboseLogs) {
159
- payload.logger.info(`[payload-mcp] Updating single document with ID: ${id}`)
160
- }
161
- const result = await payload.update({
162
- ...updateOptions,
163
- data: parsedData,
164
- } as any)
165
-
166
- if (verboseLogs) {
167
- payload.logger.info(`[payload-mcp] Successfully updated document with ID: ${id}`)
168
- }
169
-
170
- const response = {
171
- content: [
172
- {
173
- type: 'text' as const,
174
- text: `Document updated successfully in collection "${collectionSlug}"!
175
- Updated document:
176
- \`\`\`json
177
- ${JSON.stringify(result)}
178
- \`\`\``,
179
- },
180
- ],
181
- }
182
-
183
- return (collections?.[collectionSlug]?.overrideResponse?.(response, result, req) ||
184
- response) as {
185
- content: Array<{
186
- text: string
187
- type: 'text'
188
- }>
189
- }
190
- } else {
191
- // Multiple documents update
192
- const updateOptions = {
193
- collection: collectionSlug,
194
- data: parsedData,
195
- depth,
196
- draft,
197
- overrideAccess: false,
198
- overrideLock,
199
- req,
200
- user,
201
- where: whereClause,
202
- ...(locale && { locale }),
203
- ...(fallbackLocale && { fallbackLocale }),
204
- ...(selectClause && { select: selectClause }),
205
- }
206
-
207
- if (verboseLogs) {
208
- payload.logger.info(`[payload-mcp] Updating multiple documents with where clause`)
209
- }
210
- const result = await payload.update({
211
- ...updateOptions,
212
- data: parsedData,
213
- } as any)
214
-
215
- const bulkResult = result as { docs?: unknown[]; errors?: unknown[] }
216
- const docs = bulkResult.docs || []
217
- const errors = bulkResult.errors || []
218
-
219
- if (verboseLogs) {
220
- payload.logger.info(
221
- `[payload-mcp] Successfully updated ${docs.length} documents, ${errors.length} errors`,
222
- )
223
- }
224
-
225
- let responseText = `Multiple documents updated in collection "${collectionSlug}"!
226
- Updated: ${docs.length} documents
227
- Errors: ${errors.length}
228
- ---`
229
-
230
- if (docs.length > 0) {
231
- responseText += `\n\nUpdated documents:
232
- \`\`\`json
233
- ${JSON.stringify(docs)}
234
- \`\`\``
235
- }
236
-
237
- if (errors.length > 0) {
238
- responseText += `\n\nErrors:
239
- \`\`\`json
240
- ${JSON.stringify(errors)}
241
- \`\`\``
242
- }
243
-
244
- const response = {
245
- content: [
246
- {
247
- type: 'text' as const,
248
- text: responseText,
249
- },
250
- ],
251
- }
252
-
253
- return (collections?.[collectionSlug]?.overrideResponse?.(
254
- response,
255
- { docs, errors },
256
- req,
257
- ) || response) as {
258
- content: Array<{
259
- text: string
260
- type: 'text'
261
- }>
262
- }
263
- }
264
- } catch (error) {
265
- const errorMessage = error instanceof Error ? error.message : 'Unknown error'
266
- payload.logger.error(
267
- `[payload-mcp] Error updating resource in ${collectionSlug}: ${errorMessage}`,
268
- )
269
-
270
- const response = {
271
- content: [
272
- {
273
- type: 'text' as const,
274
- text: `Error updating resource in collection "${collectionSlug}": ${errorMessage}`,
275
- },
276
- ],
277
- }
278
-
279
- return (collections?.[collectionSlug]?.overrideResponse?.(response, {}, req) || response) as {
280
- content: Array<{
281
- text: string
282
- type: 'text'
283
- }>
284
- }
285
- }
286
- }
287
-
288
- if (collections?.[collectionSlug]?.enabled) {
289
- const convertedFields = convertCollectionSchemaToZod(schema)
290
-
291
- // Create a new schema that combines the converted fields with update-specific parameters
292
- // Use .partial() to make all fields optional for partial updates
293
- const updateResourceSchema = z.object({
294
- ...convertedFields.partial().shape,
295
- id: z.union([z.string(), z.number()]).optional().describe('The ID of the document to update'),
296
- depth: z
297
- .number()
298
- .optional()
299
- .default(0)
300
- .describe('How many levels deep to populate relationships'),
301
- draft: z
302
- .boolean()
303
- .optional()
304
- .default(false)
305
- .describe('Whether to update the document as a draft'),
306
- fallbackLocale: z
307
- .string()
308
- .optional()
309
- .describe('Optional: fallback locale code to use when requested locale is not available'),
310
- locale: z
311
- .string()
312
- .optional()
313
- .describe(
314
- 'Optional: locale code to update the document in (e.g., "en", "es"). Defaults to the default locale',
315
- ),
316
- overrideLock: z
317
- .boolean()
318
- .optional()
319
- .default(true)
320
- .describe('Whether to override document locks'),
321
- select: z
322
- .string()
323
- .optional()
324
- .describe(
325
- 'Optional: define exactly which fields you\'d like to return in the response (JSON), e.g., \'{"title": "My Post"}\'',
326
- ),
327
- where: z
328
- .string()
329
- .optional()
330
- .describe('JSON string for where clause to update multiple documents'),
331
- })
332
-
333
- server.registerTool(
334
- `update${collectionSlug.charAt(0).toUpperCase() + toCamelCase(collectionSlug).slice(1)}`,
335
- {
336
- description: `${collections?.[collectionSlug]?.description || toolSchemas.updateResource.description.trim()}`,
337
- inputSchema: updateResourceSchema.shape,
338
- },
339
- async (params: Record<string, unknown>) => {
340
- const {
341
- id,
342
- depth,
343
- draft,
344
- fallbackLocale,
345
- locale,
346
- overrideLock,
347
- select,
348
- where,
349
- ...fieldData
350
- } = params
351
- // Convert field data back to JSON string format expected by the tool
352
- const data = JSON.stringify(fieldData)
353
- return await tool(
354
- data,
355
- id as number | string | undefined,
356
- where as string | undefined,
357
- draft as boolean,
358
- depth as number,
359
- overrideLock as boolean,
360
- locale as string | undefined,
361
- fallbackLocale as string | undefined,
362
- select as string | undefined,
363
- )
364
- },
365
- )
366
- }
367
- }