@payloadcms/plugin-mcp 4.0.0-internal.38b7f1d → 4.0.0-internal.4804abd

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 (419) hide show
  1. package/bin.js +39 -0
  2. package/dist/@types/assets.d.js +2 -0
  3. package/dist/@types/assets.d.js.map +1 -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 +22 -0
  13. package/dist/endpoint/access.d.ts.map +1 -0
  14. package/dist/endpoint/access.js +100 -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 +47 -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 +4 -7
  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 +201 -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 +288 -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 +69 -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 +65 -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 +87 -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 +97 -0
  59. package/dist/mcp/builtin/collections/duplicateTool.js.map +1 -0
  60. package/dist/mcp/builtin/collections/findDistinctTool.d.ts +2 -0
  61. package/dist/mcp/builtin/collections/findDistinctTool.d.ts.map +1 -0
  62. package/dist/mcp/builtin/collections/findDistinctTool.js +93 -0
  63. package/dist/mcp/builtin/collections/findDistinctTool.js.map +1 -0
  64. package/dist/mcp/builtin/collections/findTool.d.ts +2 -0
  65. package/dist/mcp/builtin/collections/findTool.d.ts.map +1 -0
  66. package/dist/mcp/builtin/collections/findTool.js +165 -0
  67. package/dist/mcp/builtin/collections/findTool.js.map +1 -0
  68. package/dist/mcp/builtin/collections/findVersionByIDTool.d.ts +2 -0
  69. package/dist/mcp/builtin/collections/findVersionByIDTool.d.ts.map +1 -0
  70. package/dist/mcp/builtin/collections/findVersionByIDTool.js +84 -0
  71. package/dist/mcp/builtin/collections/findVersionByIDTool.js.map +1 -0
  72. package/dist/mcp/builtin/collections/findVersionsTool.d.ts +2 -0
  73. package/dist/mcp/builtin/collections/findVersionsTool.d.ts.map +1 -0
  74. package/dist/mcp/builtin/collections/findVersionsTool.js +99 -0
  75. package/dist/mcp/builtin/collections/findVersionsTool.js.map +1 -0
  76. package/dist/mcp/builtin/collections/formatCollectionError.d.ts +9 -0
  77. package/dist/mcp/builtin/collections/formatCollectionError.d.ts.map +1 -0
  78. package/dist/mcp/builtin/collections/formatCollectionError.js +60 -0
  79. package/dist/mcp/builtin/collections/formatCollectionError.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 +47 -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 +82 -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 +192 -0
  91. package/dist/mcp/builtin/collections/updateTool.js.map +1 -0
  92. package/dist/mcp/builtin/getConfigInfoTool.d.ts +2 -0
  93. package/dist/mcp/builtin/getConfigInfoTool.d.ts.map +1 -0
  94. package/dist/mcp/builtin/getConfigInfoTool.js +71 -0
  95. package/dist/mcp/builtin/getConfigInfoTool.js.map +1 -0
  96. package/dist/mcp/builtin/globals/countVersionsTool.d.ts +2 -0
  97. package/dist/mcp/builtin/globals/countVersionsTool.d.ts.map +1 -0
  98. package/dist/mcp/builtin/globals/countVersionsTool.js +65 -0
  99. package/dist/mcp/builtin/globals/countVersionsTool.js.map +1 -0
  100. package/dist/mcp/builtin/globals/findTool.d.ts +2 -0
  101. package/dist/mcp/builtin/globals/findTool.d.ts.map +1 -0
  102. package/dist/mcp/builtin/globals/findTool.js +73 -0
  103. package/dist/mcp/builtin/globals/findTool.js.map +1 -0
  104. package/dist/mcp/builtin/globals/findVersionByIDTool.d.ts +2 -0
  105. package/dist/mcp/builtin/globals/findVersionByIDTool.d.ts.map +1 -0
  106. package/dist/mcp/builtin/globals/findVersionByIDTool.js +80 -0
  107. package/dist/mcp/builtin/globals/findVersionByIDTool.js.map +1 -0
  108. package/dist/mcp/builtin/globals/findVersionsTool.d.ts +2 -0
  109. package/dist/mcp/builtin/globals/findVersionsTool.d.ts.map +1 -0
  110. package/dist/mcp/builtin/globals/findVersionsTool.js +95 -0
  111. package/dist/mcp/builtin/globals/findVersionsTool.js.map +1 -0
  112. package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts +2 -0
  113. package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts.map +1 -0
  114. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js +47 -0
  115. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js.map +1 -0
  116. package/dist/mcp/builtin/globals/restoreVersionTool.d.ts +2 -0
  117. package/dist/mcp/builtin/globals/restoreVersionTool.d.ts.map +1 -0
  118. package/dist/mcp/builtin/globals/restoreVersionTool.js +78 -0
  119. package/dist/mcp/builtin/globals/restoreVersionTool.js.map +1 -0
  120. package/dist/mcp/builtin/globals/updateTool.d.ts +2 -0
  121. package/dist/mcp/builtin/globals/updateTool.d.ts.map +1 -0
  122. package/dist/mcp/builtin/globals/updateTool.js +87 -0
  123. package/dist/mcp/builtin/globals/updateTool.js.map +1 -0
  124. package/dist/mcp/builtin/validateEntityData.d.ts +14 -0
  125. package/dist/mcp/builtin/validateEntityData.d.ts.map +1 -0
  126. package/dist/mcp/builtin/validateEntityData.js +82 -0
  127. package/dist/mcp/builtin/validateEntityData.js.map +1 -0
  128. package/dist/mcp/builtinTools.d.ts +162 -0
  129. package/dist/mcp/builtinTools.d.ts.map +1 -0
  130. package/dist/mcp/builtinTools.js +163 -0
  131. package/dist/mcp/builtinTools.js.map +1 -0
  132. package/dist/mcp/sanitizeMCPConfig.d.ts +16 -0
  133. package/dist/mcp/sanitizeMCPConfig.d.ts.map +1 -0
  134. package/dist/mcp/sanitizeMCPConfig.js +229 -0
  135. package/dist/mcp/sanitizeMCPConfig.js.map +1 -0
  136. package/dist/stdio.d.ts +9 -0
  137. package/dist/stdio.d.ts.map +1 -0
  138. package/dist/stdio.js +108 -0
  139. package/dist/stdio.js.map +1 -0
  140. package/dist/types.d.ts +222 -461
  141. package/dist/types.d.ts.map +1 -1
  142. package/dist/types.js +6 -1
  143. package/dist/types.js.map +1 -1
  144. package/dist/utils/camelCase.d.ts.map +1 -1
  145. package/dist/utils/getLogger.d.ts +10 -0
  146. package/dist/utils/getLogger.d.ts.map +1 -0
  147. package/dist/utils/getLogger.js +22 -0
  148. package/dist/utils/getLogger.js.map +1 -0
  149. package/dist/utils/getPluginConfig.d.ts +12 -0
  150. package/dist/utils/getPluginConfig.d.ts.map +1 -0
  151. package/dist/utils/getPluginConfig.js +15 -0
  152. package/dist/utils/getPluginConfig.js.map +1 -0
  153. package/dist/utils/localAPIDefaults.d.ts +20 -0
  154. package/dist/utils/localAPIDefaults.d.ts.map +1 -0
  155. package/dist/utils/localAPIDefaults.js +19 -0
  156. package/dist/utils/localAPIDefaults.js.map +1 -0
  157. package/dist/utils/resolveProjectRoot.d.ts +7 -0
  158. package/dist/utils/resolveProjectRoot.d.ts.map +1 -0
  159. package/dist/utils/resolveProjectRoot.js +15 -0
  160. package/dist/utils/resolveProjectRoot.js.map +1 -0
  161. package/dist/utils/schemaConversion/getEntityInputSchema.d.ts +11 -0
  162. package/dist/utils/schemaConversion/getEntityInputSchema.d.ts.map +1 -0
  163. package/dist/utils/schemaConversion/getEntityInputSchema.js +32 -0
  164. package/dist/utils/schemaConversion/getEntityInputSchema.js.map +1 -0
  165. package/dist/utils/schemaConversion/sanitizeEntitySchema.d.ts +10 -0
  166. package/dist/utils/schemaConversion/sanitizeEntitySchema.d.ts.map +1 -0
  167. package/dist/utils/schemaConversion/sanitizeEntitySchema.js +384 -0
  168. package/dist/utils/schemaConversion/sanitizeEntitySchema.js.map +1 -0
  169. package/dist/utils/schemaConversion/sanitizeEntitySchema.spec.js +133 -0
  170. package/dist/utils/schemaConversion/sanitizeEntitySchema.spec.js.map +1 -0
  171. package/dist/utils/toStandardSchema.d.ts +5 -0
  172. package/dist/utils/toStandardSchema.d.ts.map +1 -0
  173. package/dist/utils/toStandardSchema.js +4 -0
  174. package/dist/utils/toStandardSchema.js.map +1 -0
  175. package/dist/utils/whereSchema.d.ts +9 -0
  176. package/dist/utils/whereSchema.d.ts.map +1 -0
  177. package/dist/utils/whereSchema.js +13 -0
  178. package/dist/utils/whereSchema.js.map +1 -0
  179. package/package.json +32 -10
  180. package/src/@types/assets.d.ts +3 -0
  181. package/src/defaultAccess.ts +3 -0
  182. package/src/defineTool.ts +44 -0
  183. package/src/endpoint/access.ts +119 -0
  184. package/src/endpoint/index.ts +48 -0
  185. package/src/exports/client.ts +3 -0
  186. package/src/exports/internal.ts +1 -0
  187. package/src/index.ts +29 -87
  188. package/src/mcp/buildMcpServer.ts +264 -0
  189. package/src/mcp/builtin/collections/authTools.ts +269 -0
  190. package/src/mcp/builtin/collections/countTool.ts +74 -0
  191. package/src/mcp/builtin/collections/countVersionsTool.ts +70 -0
  192. package/src/mcp/builtin/collections/createTool.ts +112 -0
  193. package/src/mcp/builtin/collections/deleteTool.ts +126 -0
  194. package/src/mcp/builtin/collections/duplicateTool.ts +135 -0
  195. package/src/mcp/builtin/collections/findDistinctTool.ts +120 -0
  196. package/src/mcp/builtin/collections/findTool.ts +217 -0
  197. package/src/mcp/builtin/collections/findVersionByIDTool.ts +110 -0
  198. package/src/mcp/builtin/collections/findVersionsTool.ts +155 -0
  199. package/src/mcp/builtin/collections/formatCollectionError.ts +84 -0
  200. package/src/mcp/builtin/collections/getCollectionSchemaTool.ts +46 -0
  201. package/src/mcp/builtin/collections/restoreVersionTool.ts +108 -0
  202. package/src/mcp/builtin/collections/updateTool.ts +211 -0
  203. package/src/mcp/builtin/getConfigInfoTool.ts +69 -0
  204. package/src/mcp/builtin/globals/countVersionsTool.ts +69 -0
  205. package/src/mcp/builtin/globals/findTool.ts +105 -0
  206. package/src/mcp/builtin/globals/findVersionByIDTool.ts +104 -0
  207. package/src/mcp/builtin/globals/findVersionsTool.ts +148 -0
  208. package/src/mcp/builtin/globals/getGlobalSchemaTool.ts +41 -0
  209. package/src/mcp/builtin/globals/restoreVersionTool.ts +100 -0
  210. package/src/mcp/builtin/globals/updateTool.ts +115 -0
  211. package/src/mcp/builtin/validateEntityData.ts +132 -0
  212. package/src/mcp/builtinTools.ts +154 -0
  213. package/src/mcp/sanitizeMCPConfig.ts +277 -0
  214. package/src/stdio.ts +113 -0
  215. package/src/types.ts +263 -493
  216. package/src/utils/getLogger.ts +22 -0
  217. package/src/utils/getPluginConfig.ts +24 -0
  218. package/src/utils/localAPIDefaults.ts +22 -0
  219. package/src/utils/resolveProjectRoot.ts +17 -0
  220. package/src/utils/schemaConversion/getEntityInputSchema.ts +62 -0
  221. package/src/utils/schemaConversion/sanitizeEntitySchema.spec.ts +96 -0
  222. package/src/utils/schemaConversion/sanitizeEntitySchema.ts +432 -0
  223. package/src/utils/toStandardSchema.ts +9 -0
  224. package/src/utils/whereSchema.ts +24 -0
  225. package/dist/collections/createApiKeysCollection.d.ts +0 -7
  226. package/dist/collections/createApiKeysCollection.d.ts.map +0 -1
  227. package/dist/collections/createApiKeysCollection.js +0 -317
  228. package/dist/collections/createApiKeysCollection.js.map +0 -1
  229. package/dist/defaults.d.ts +0 -4
  230. package/dist/defaults.d.ts.map +0 -1
  231. package/dist/defaults.js +0 -5
  232. package/dist/defaults.js.map +0 -1
  233. package/dist/endpoints/mcp.d.ts +0 -4
  234. package/dist/endpoints/mcp.d.ts.map +0 -1
  235. package/dist/endpoints/mcp.js +0 -71
  236. package/dist/endpoints/mcp.js.map +0 -1
  237. package/dist/mcp/createRequest.d.ts +0 -3
  238. package/dist/mcp/createRequest.d.ts.map +0 -1
  239. package/dist/mcp/createRequest.js +0 -14
  240. package/dist/mcp/createRequest.js.map +0 -1
  241. package/dist/mcp/getMcpHandler.d.ts +0 -4
  242. package/dist/mcp/getMcpHandler.d.ts.map +0 -1
  243. package/dist/mcp/getMcpHandler.js +0 -231
  244. package/dist/mcp/getMcpHandler.js.map +0 -1
  245. package/dist/mcp/helpers/config.d.ts +0 -22
  246. package/dist/mcp/helpers/config.d.ts.map +0 -1
  247. package/dist/mcp/helpers/config.js +0 -153
  248. package/dist/mcp/helpers/config.js.map +0 -1
  249. package/dist/mcp/helpers/fields.d.ts +0 -19
  250. package/dist/mcp/helpers/fields.d.ts.map +0 -1
  251. package/dist/mcp/helpers/fields.js +0 -102
  252. package/dist/mcp/helpers/fields.js.map +0 -1
  253. package/dist/mcp/helpers/fileValidation.d.ts +0 -67
  254. package/dist/mcp/helpers/fileValidation.d.ts.map +0 -1
  255. package/dist/mcp/helpers/fileValidation.js +0 -267
  256. package/dist/mcp/helpers/fileValidation.js.map +0 -1
  257. package/dist/mcp/registerTool.d.ts +0 -6
  258. package/dist/mcp/registerTool.d.ts.map +0 -1
  259. package/dist/mcp/registerTool.js +0 -18
  260. package/dist/mcp/registerTool.js.map +0 -1
  261. package/dist/mcp/tools/auth/auth.d.ts +0 -4
  262. package/dist/mcp/tools/auth/auth.d.ts.map +0 -1
  263. package/dist/mcp/tools/auth/auth.js +0 -57
  264. package/dist/mcp/tools/auth/auth.js.map +0 -1
  265. package/dist/mcp/tools/auth/forgotPassword.d.ts +0 -4
  266. package/dist/mcp/tools/auth/forgotPassword.d.ts.map +0 -1
  267. package/dist/mcp/tools/auth/forgotPassword.js +0 -48
  268. package/dist/mcp/tools/auth/forgotPassword.js.map +0 -1
  269. package/dist/mcp/tools/auth/login.d.ts +0 -4
  270. package/dist/mcp/tools/auth/login.d.ts.map +0 -1
  271. package/dist/mcp/tools/auth/login.js +0 -51
  272. package/dist/mcp/tools/auth/login.js.map +0 -1
  273. package/dist/mcp/tools/auth/resetPassword.d.ts +0 -4
  274. package/dist/mcp/tools/auth/resetPassword.d.ts.map +0 -1
  275. package/dist/mcp/tools/auth/resetPassword.js +0 -49
  276. package/dist/mcp/tools/auth/resetPassword.js.map +0 -1
  277. package/dist/mcp/tools/auth/unlock.d.ts +0 -4
  278. package/dist/mcp/tools/auth/unlock.d.ts.map +0 -1
  279. package/dist/mcp/tools/auth/unlock.js +0 -48
  280. package/dist/mcp/tools/auth/unlock.js.map +0 -1
  281. package/dist/mcp/tools/auth/verify.d.ts +0 -4
  282. package/dist/mcp/tools/auth/verify.d.ts.map +0 -1
  283. package/dist/mcp/tools/auth/verify.js +0 -45
  284. package/dist/mcp/tools/auth/verify.js.map +0 -1
  285. package/dist/mcp/tools/collection/create.d.ts +0 -10
  286. package/dist/mcp/tools/collection/create.d.ts.map +0 -1
  287. package/dist/mcp/tools/collection/create.js +0 -139
  288. package/dist/mcp/tools/collection/create.js.map +0 -1
  289. package/dist/mcp/tools/collection/delete.d.ts +0 -10
  290. package/dist/mcp/tools/collection/delete.d.ts.map +0 -1
  291. package/dist/mcp/tools/collection/delete.js +0 -154
  292. package/dist/mcp/tools/collection/delete.js.map +0 -1
  293. package/dist/mcp/tools/collection/find.d.ts +0 -10
  294. package/dist/mcp/tools/collection/find.d.ts.map +0 -1
  295. package/dist/mcp/tools/collection/find.js +0 -165
  296. package/dist/mcp/tools/collection/find.js.map +0 -1
  297. package/dist/mcp/tools/collection/update.d.ts +0 -10
  298. package/dist/mcp/tools/collection/update.d.ts.map +0 -1
  299. package/dist/mcp/tools/collection/update.js +0 -209
  300. package/dist/mcp/tools/collection/update.js.map +0 -1
  301. package/dist/mcp/tools/config/find.d.ts +0 -10
  302. package/dist/mcp/tools/config/find.d.ts.map +0 -1
  303. package/dist/mcp/tools/config/find.js +0 -97
  304. package/dist/mcp/tools/config/find.js.map +0 -1
  305. package/dist/mcp/tools/config/update.d.ts +0 -10
  306. package/dist/mcp/tools/config/update.d.ts.map +0 -1
  307. package/dist/mcp/tools/config/update.js +0 -215
  308. package/dist/mcp/tools/config/update.js.map +0 -1
  309. package/dist/mcp/tools/global/find.d.ts +0 -5
  310. package/dist/mcp/tools/global/find.d.ts.map +0 -1
  311. package/dist/mcp/tools/global/find.js +0 -82
  312. package/dist/mcp/tools/global/find.js.map +0 -1
  313. package/dist/mcp/tools/global/update.d.ts +0 -6
  314. package/dist/mcp/tools/global/update.d.ts.map +0 -1
  315. package/dist/mcp/tools/global/update.js +0 -124
  316. package/dist/mcp/tools/global/update.js.map +0 -1
  317. package/dist/mcp/tools/job/create.d.ts +0 -10
  318. package/dist/mcp/tools/job/create.d.ts.map +0 -1
  319. package/dist/mcp/tools/job/create.js +0 -293
  320. package/dist/mcp/tools/job/create.js.map +0 -1
  321. package/dist/mcp/tools/job/run.d.ts +0 -10
  322. package/dist/mcp/tools/job/run.d.ts.map +0 -1
  323. package/dist/mcp/tools/job/run.js +0 -129
  324. package/dist/mcp/tools/job/run.js.map +0 -1
  325. package/dist/mcp/tools/job/update.d.ts +0 -11
  326. package/dist/mcp/tools/job/update.d.ts.map +0 -1
  327. package/dist/mcp/tools/job/update.js +0 -186
  328. package/dist/mcp/tools/job/update.js.map +0 -1
  329. package/dist/mcp/tools/resource/create.d.ts +0 -6
  330. package/dist/mcp/tools/resource/create.d.ts.map +0 -1
  331. package/dist/mcp/tools/resource/create.js +0 -124
  332. package/dist/mcp/tools/resource/create.js.map +0 -1
  333. package/dist/mcp/tools/resource/delete.d.ts +0 -5
  334. package/dist/mcp/tools/resource/delete.d.ts.map +0 -1
  335. package/dist/mcp/tools/resource/delete.js +0 -151
  336. package/dist/mcp/tools/resource/delete.js.map +0 -1
  337. package/dist/mcp/tools/resource/find.d.ts +0 -5
  338. package/dist/mcp/tools/resource/find.d.ts.map +0 -1
  339. package/dist/mcp/tools/resource/find.js +0 -170
  340. package/dist/mcp/tools/resource/find.js.map +0 -1
  341. package/dist/mcp/tools/resource/update.d.ts +0 -6
  342. package/dist/mcp/tools/resource/update.d.ts.map +0 -1
  343. package/dist/mcp/tools/resource/update.js +0 -256
  344. package/dist/mcp/tools/resource/update.js.map +0 -1
  345. package/dist/mcp/tools/schemas.d.ts +0 -457
  346. package/dist/mcp/tools/schemas.d.ts.map +0 -1
  347. package/dist/mcp/tools/schemas.js +0 -243
  348. package/dist/mcp/tools/schemas.js.map +0 -1
  349. package/dist/utils/adminEntitySettings.d.ts +0 -17
  350. package/dist/utils/adminEntitySettings.d.ts.map +0 -1
  351. package/dist/utils/adminEntitySettings.js +0 -41
  352. package/dist/utils/adminEntitySettings.js.map +0 -1
  353. package/dist/utils/createApiKeyFields.d.ts +0 -15
  354. package/dist/utils/createApiKeyFields.d.ts.map +0 -1
  355. package/dist/utils/createApiKeyFields.js +0 -57
  356. package/dist/utils/createApiKeyFields.js.map +0 -1
  357. package/dist/utils/getEnabledSlugs.d.ts +0 -13
  358. package/dist/utils/getEnabledSlugs.d.ts.map +0 -1
  359. package/dist/utils/getEnabledSlugs.js +0 -32
  360. package/dist/utils/getEnabledSlugs.js.map +0 -1
  361. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.d.ts +0 -3
  362. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.d.ts.map +0 -1
  363. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.js +0 -43
  364. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.js.map +0 -1
  365. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.d.ts +0 -7
  366. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.d.ts.map +0 -1
  367. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.js +0 -20
  368. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.js.map +0 -1
  369. package/dist/utils/schemaConversion/sanitizeJsonSchema.d.ts +0 -13
  370. package/dist/utils/schemaConversion/sanitizeJsonSchema.d.ts.map +0 -1
  371. package/dist/utils/schemaConversion/sanitizeJsonSchema.js +0 -56
  372. package/dist/utils/schemaConversion/sanitizeJsonSchema.js.map +0 -1
  373. package/dist/utils/schemaConversion/simplifyRelationshipFields.d.ts +0 -20
  374. package/dist/utils/schemaConversion/simplifyRelationshipFields.d.ts.map +0 -1
  375. package/dist/utils/schemaConversion/simplifyRelationshipFields.js +0 -53
  376. package/dist/utils/schemaConversion/simplifyRelationshipFields.js.map +0 -1
  377. package/dist/utils/schemaConversion/transformPointFields.d.ts +0 -3
  378. package/dist/utils/schemaConversion/transformPointFields.d.ts.map +0 -1
  379. package/dist/utils/schemaConversion/transformPointFields.js +0 -51
  380. package/dist/utils/schemaConversion/transformPointFields.js.map +0 -1
  381. package/src/collections/createApiKeysCollection.ts +0 -373
  382. package/src/defaults.ts +0 -3
  383. package/src/endpoints/mcp.ts +0 -91
  384. package/src/mcp/createRequest.ts +0 -13
  385. package/src/mcp/getMcpHandler.ts +0 -545
  386. package/src/mcp/helpers/config.ts +0 -213
  387. package/src/mcp/helpers/fields.ts +0 -154
  388. package/src/mcp/helpers/fileValidation.ts +0 -362
  389. package/src/mcp/registerTool.ts +0 -22
  390. package/src/mcp/tools/auth/auth.ts +0 -71
  391. package/src/mcp/tools/auth/forgotPassword.ts +0 -70
  392. package/src/mcp/tools/auth/login.ts +0 -72
  393. package/src/mcp/tools/auth/resetPassword.ts +0 -61
  394. package/src/mcp/tools/auth/unlock.ts +0 -64
  395. package/src/mcp/tools/auth/verify.ts +0 -57
  396. package/src/mcp/tools/collection/create.ts +0 -210
  397. package/src/mcp/tools/collection/delete.ts +0 -211
  398. package/src/mcp/tools/collection/find.ts +0 -224
  399. package/src/mcp/tools/collection/update.ts +0 -290
  400. package/src/mcp/tools/config/find.ts +0 -128
  401. package/src/mcp/tools/config/update.ts +0 -280
  402. package/src/mcp/tools/global/find.ts +0 -128
  403. package/src/mcp/tools/global/update.ts +0 -207
  404. package/src/mcp/tools/job/create.ts +0 -416
  405. package/src/mcp/tools/job/run.ts +0 -167
  406. package/src/mcp/tools/job/update.ts +0 -274
  407. package/src/mcp/tools/resource/create.ts +0 -211
  408. package/src/mcp/tools/resource/delete.ts +0 -218
  409. package/src/mcp/tools/resource/find.ts +0 -246
  410. package/src/mcp/tools/resource/update.ts +0 -383
  411. package/src/mcp/tools/schemas.ts +0 -520
  412. package/src/utils/adminEntitySettings.ts +0 -40
  413. package/src/utils/createApiKeyFields.ts +0 -72
  414. package/src/utils/getEnabledSlugs.ts +0 -42
  415. package/src/utils/schemaConversion/convertCollectionSchemaToZod.ts +0 -52
  416. package/src/utils/schemaConversion/removeVirtualFieldsFromSchema.ts +0 -27
  417. package/src/utils/schemaConversion/sanitizeJsonSchema.ts +0 -62
  418. package/src/utils/schemaConversion/simplifyRelationshipFields.ts +0 -65
  419. package/src/utils/schemaConversion/transformPointFields.ts +0 -55
@@ -1,48 +0,0 @@
1
- import { toolSchemas } from '../schemas.js';
2
- export const forgotPasswordTool = (server, req, verboseLogs)=>{
3
- const tool = async (collection, email, disableEmail = false)=>{
4
- const payload = req.payload;
5
- if (verboseLogs) {
6
- payload.logger.info(`[payload-mcp] Sending password reset email for user: ${email} in collection: ${collection}`);
7
- }
8
- try {
9
- const result = await payload.forgotPassword({
10
- collection,
11
- data: {
12
- email
13
- },
14
- disableEmail
15
- });
16
- if (verboseLogs) {
17
- payload.logger.info(`[payload-mcp] Password reset email sent successfully for user: ${email}`);
18
- }
19
- return {
20
- content: [
21
- {
22
- type: 'text',
23
- text: `# Password Reset Email Sent\n\n**User:** ${email}\n**Collection:** ${collection}\n**Email Disabled:** ${disableEmail}\n\n\`\`\`json\n${JSON.stringify(result)}\n\`\`\``
24
- }
25
- ]
26
- };
27
- } catch (error) {
28
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
29
- payload.logger.error(`[payload-mcp] Error sending password reset email for user ${email}: ${errorMessage}`);
30
- return {
31
- content: [
32
- {
33
- type: 'text',
34
- text: `❌ **Error sending password reset email for user "${email}"**: ${errorMessage}`
35
- }
36
- ]
37
- };
38
- }
39
- };
40
- server.registerTool('forgotPassword', {
41
- description: toolSchemas.forgotPassword.description,
42
- inputSchema: toolSchemas.forgotPassword.parameters.shape
43
- }, async ({ collection, disableEmail, email })=>{
44
- return await tool(collection, email, disableEmail);
45
- });
46
- };
47
-
48
- //# sourceMappingURL=forgotPassword.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/mcp/tools/auth/forgotPassword.ts"],"sourcesContent":["import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'\nimport type { PayloadRequest } from 'payload'\n\nimport { toolSchemas } from '../schemas.js'\n\nexport const forgotPasswordTool = (\n server: McpServer,\n req: PayloadRequest,\n verboseLogs: boolean,\n) => {\n const tool = async (collection: string, email: string, disableEmail: boolean = false) => {\n const payload = req.payload\n\n if (verboseLogs) {\n payload.logger.info(\n `[payload-mcp] Sending password reset email for user: ${email} in collection: ${collection}`,\n )\n }\n\n try {\n const result = await payload.forgotPassword({\n collection,\n data: {\n email,\n },\n disableEmail,\n })\n\n if (verboseLogs) {\n payload.logger.info(\n `[payload-mcp] Password reset email sent successfully for user: ${email}`,\n )\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `# Password Reset Email Sent\\n\\n**User:** ${email}\\n**Collection:** ${collection}\\n**Email Disabled:** ${disableEmail}\\n\\n\\`\\`\\`json\\n${JSON.stringify(result)}\\n\\`\\`\\``,\n },\n ],\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n payload.logger.error(\n `[payload-mcp] Error sending password reset email for user ${email}: ${errorMessage}`,\n )\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `❌ **Error sending password reset email for user \"${email}\"**: ${errorMessage}`,\n },\n ],\n }\n }\n }\n\n server.registerTool(\n 'forgotPassword',\n {\n description: toolSchemas.forgotPassword.description,\n inputSchema: toolSchemas.forgotPassword.parameters.shape,\n },\n async ({ collection, disableEmail, email }) => {\n return await tool(collection, email, disableEmail)\n },\n )\n}\n"],"names":["toolSchemas","forgotPasswordTool","server","req","verboseLogs","tool","collection","email","disableEmail","payload","logger","info","result","forgotPassword","data","content","type","text","JSON","stringify","error","errorMessage","Error","message","registerTool","description","inputSchema","parameters","shape"],"mappings":"AAGA,SAASA,WAAW,QAAQ,gBAAe;AAE3C,OAAO,MAAMC,qBAAqB,CAChCC,QACAC,KACAC;IAEA,MAAMC,OAAO,OAAOC,YAAoBC,OAAeC,eAAwB,KAAK;QAClF,MAAMC,UAAUN,IAAIM,OAAO;QAE3B,IAAIL,aAAa;YACfK,QAAQC,MAAM,CAACC,IAAI,CACjB,CAAC,qDAAqD,EAAEJ,MAAM,gBAAgB,EAAED,YAAY;QAEhG;QAEA,IAAI;YACF,MAAMM,SAAS,MAAMH,QAAQI,cAAc,CAAC;gBAC1CP;gBACAQ,MAAM;oBACJP;gBACF;gBACAC;YACF;YAEA,IAAIJ,aAAa;gBACfK,QAAQC,MAAM,CAACC,IAAI,CACjB,CAAC,+DAA+D,EAAEJ,OAAO;YAE7E;YAEA,OAAO;gBACLQ,SAAS;oBACP;wBACEC,MAAM;wBACNC,MAAM,CAAC,yCAAyC,EAAEV,MAAM,kBAAkB,EAAED,WAAW,sBAAsB,EAAEE,aAAa,gBAAgB,EAAEU,KAAKC,SAAS,CAACP,QAAQ,QAAQ,CAAC;oBAChL;iBACD;YACH;QACF,EAAE,OAAOQ,OAAO;YACd,MAAMC,eAAeD,iBAAiBE,QAAQF,MAAMG,OAAO,GAAG;YAC9Dd,QAAQC,MAAM,CAACU,KAAK,CAClB,CAAC,0DAA0D,EAAEb,MAAM,EAAE,EAAEc,cAAc;YAGvF,OAAO;gBACLN,SAAS;oBACP;wBACEC,MAAM;wBACNC,MAAM,CAAC,iDAAiD,EAAEV,MAAM,KAAK,EAAEc,cAAc;oBACvF;iBACD;YACH;QACF;IACF;IAEAnB,OAAOsB,YAAY,CACjB,kBACA;QACEC,aAAazB,YAAYa,cAAc,CAACY,WAAW;QACnDC,aAAa1B,YAAYa,cAAc,CAACc,UAAU,CAACC,KAAK;IAC1D,GACA,OAAO,EAAEtB,UAAU,EAAEE,YAAY,EAAED,KAAK,EAAE;QACxC,OAAO,MAAMF,KAAKC,YAAYC,OAAOC;IACvC;AAEJ,EAAC"}
@@ -1,4 +0,0 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import type { PayloadRequest } from 'payload';
3
- export declare const loginTool: (server: McpServer, req: PayloadRequest, verboseLogs: boolean) => void;
4
- //# sourceMappingURL=login.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/auth/login.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,eAAO,MAAM,SAAS,WAAY,SAAS,OAAO,cAAc,eAAe,OAAO,SAkErF,CAAA"}
@@ -1,51 +0,0 @@
1
- import { toolSchemas } from '../schemas.js';
2
- export const loginTool = (server, req, verboseLogs)=>{
3
- const tool = async (collection, email, password, depth = 0, overrideAccess = false, showHiddenFields = false)=>{
4
- const payload = req.payload;
5
- if (verboseLogs) {
6
- payload.logger.info(`[payload-mcp] Attempting login for user: ${email} in collection: ${collection}`);
7
- }
8
- try {
9
- const result = await payload.login({
10
- collection,
11
- data: {
12
- email,
13
- password
14
- },
15
- depth,
16
- overrideAccess,
17
- showHiddenFields
18
- });
19
- if (verboseLogs) {
20
- payload.logger.info(`[payload-mcp] Login successful for user: ${email}`);
21
- }
22
- return {
23
- content: [
24
- {
25
- type: 'text',
26
- text: `# Login Successful\n\n**User:** ${email}\n**Collection:** ${collection}\n\n\`\`\`json\n${JSON.stringify(result)}\n\`\`\``
27
- }
28
- ]
29
- };
30
- } catch (error) {
31
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
32
- payload.logger.error(`[payload-mcp] Login failed for user ${email}: ${errorMessage}`);
33
- return {
34
- content: [
35
- {
36
- type: 'text',
37
- text: `❌ **Login failed for user "${email}"**: ${errorMessage}`
38
- }
39
- ]
40
- };
41
- }
42
- };
43
- server.registerTool('login', {
44
- description: toolSchemas.login.description,
45
- inputSchema: toolSchemas.login.parameters.shape
46
- }, async ({ collection, depth, email, overrideAccess, password, showHiddenFields })=>{
47
- return await tool(collection, email, password, depth, overrideAccess, showHiddenFields);
48
- });
49
- };
50
-
51
- //# sourceMappingURL=login.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/mcp/tools/auth/login.ts"],"sourcesContent":["import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'\nimport type { PayloadRequest } from 'payload'\n\nimport { toolSchemas } from '../schemas.js'\n\nexport const loginTool = (server: McpServer, req: PayloadRequest, verboseLogs: boolean) => {\n const tool = async (\n collection: string,\n email: string,\n password: string,\n depth: number = 0,\n overrideAccess: boolean = false,\n showHiddenFields: boolean = false,\n ) => {\n const payload = req.payload\n\n if (verboseLogs) {\n payload.logger.info(\n `[payload-mcp] Attempting login for user: ${email} in collection: ${collection}`,\n )\n }\n\n try {\n const result = await payload.login({\n collection,\n data: {\n email,\n password,\n },\n depth,\n overrideAccess,\n showHiddenFields,\n })\n\n if (verboseLogs) {\n payload.logger.info(`[payload-mcp] Login successful for user: ${email}`)\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `# Login Successful\\n\\n**User:** ${email}\\n**Collection:** ${collection}\\n\\n\\`\\`\\`json\\n${JSON.stringify(result)}\\n\\`\\`\\``,\n },\n ],\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n payload.logger.error(`[payload-mcp] Login failed for user ${email}: ${errorMessage}`)\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `❌ **Login failed for user \"${email}\"**: ${errorMessage}`,\n },\n ],\n }\n }\n }\n\n server.registerTool(\n 'login',\n {\n description: toolSchemas.login.description,\n inputSchema: toolSchemas.login.parameters.shape,\n },\n async ({ collection, depth, email, overrideAccess, password, showHiddenFields }) => {\n return await tool(collection, email, password, depth, overrideAccess, showHiddenFields)\n },\n )\n}\n"],"names":["toolSchemas","loginTool","server","req","verboseLogs","tool","collection","email","password","depth","overrideAccess","showHiddenFields","payload","logger","info","result","login","data","content","type","text","JSON","stringify","error","errorMessage","Error","message","registerTool","description","inputSchema","parameters","shape"],"mappings":"AAGA,SAASA,WAAW,QAAQ,gBAAe;AAE3C,OAAO,MAAMC,YAAY,CAACC,QAAmBC,KAAqBC;IAChE,MAAMC,OAAO,OACXC,YACAC,OACAC,UACAC,QAAgB,CAAC,EACjBC,iBAA0B,KAAK,EAC/BC,mBAA4B,KAAK;QAEjC,MAAMC,UAAUT,IAAIS,OAAO;QAE3B,IAAIR,aAAa;YACfQ,QAAQC,MAAM,CAACC,IAAI,CACjB,CAAC,yCAAyC,EAAEP,MAAM,gBAAgB,EAAED,YAAY;QAEpF;QAEA,IAAI;YACF,MAAMS,SAAS,MAAMH,QAAQI,KAAK,CAAC;gBACjCV;gBACAW,MAAM;oBACJV;oBACAC;gBACF;gBACAC;gBACAC;gBACAC;YACF;YAEA,IAAIP,aAAa;gBACfQ,QAAQC,MAAM,CAACC,IAAI,CAAC,CAAC,yCAAyC,EAAEP,OAAO;YACzE;YAEA,OAAO;gBACLW,SAAS;oBACP;wBACEC,MAAM;wBACNC,MAAM,CAAC,gCAAgC,EAAEb,MAAM,kBAAkB,EAAED,WAAW,gBAAgB,EAAEe,KAAKC,SAAS,CAACP,QAAQ,QAAQ,CAAC;oBAClI;iBACD;YACH;QACF,EAAE,OAAOQ,OAAO;YACd,MAAMC,eAAeD,iBAAiBE,QAAQF,MAAMG,OAAO,GAAG;YAC9Dd,QAAQC,MAAM,CAACU,KAAK,CAAC,CAAC,oCAAoC,EAAEhB,MAAM,EAAE,EAAEiB,cAAc;YAEpF,OAAO;gBACLN,SAAS;oBACP;wBACEC,MAAM;wBACNC,MAAM,CAAC,2BAA2B,EAAEb,MAAM,KAAK,EAAEiB,cAAc;oBACjE;iBACD;YACH;QACF;IACF;IAEAtB,OAAOyB,YAAY,CACjB,SACA;QACEC,aAAa5B,YAAYgB,KAAK,CAACY,WAAW;QAC1CC,aAAa7B,YAAYgB,KAAK,CAACc,UAAU,CAACC,KAAK;IACjD,GACA,OAAO,EAAEzB,UAAU,EAAEG,KAAK,EAAEF,KAAK,EAAEG,cAAc,EAAEF,QAAQ,EAAEG,gBAAgB,EAAE;QAC7E,OAAO,MAAMN,KAAKC,YAAYC,OAAOC,UAAUC,OAAOC,gBAAgBC;IACxE;AAEJ,EAAC"}
@@ -1,4 +0,0 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import type { PayloadRequest } from 'payload';
3
- export declare const resetPasswordTool: (server: McpServer, req: PayloadRequest, verboseLogs: boolean) => void;
4
- //# sourceMappingURL=resetPassword.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resetPassword.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/auth/resetPassword.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,eAAO,MAAM,iBAAiB,WAAY,SAAS,OAAO,cAAc,eAAe,OAAO,SAuD7F,CAAA"}
@@ -1,49 +0,0 @@
1
- import { toolSchemas } from '../schemas.js';
2
- export const resetPasswordTool = (server, req, verboseLogs)=>{
3
- const tool = async (collection, token, password)=>{
4
- const payload = req.payload;
5
- if (verboseLogs) {
6
- payload.logger.info(`[payload-mcp] Resetting password for user in collection: ${collection}`);
7
- }
8
- try {
9
- const result = await payload.resetPassword({
10
- collection,
11
- data: {
12
- password,
13
- token
14
- },
15
- overrideAccess: true
16
- });
17
- if (verboseLogs) {
18
- payload.logger.info('[payload-mcp] Password reset completed successfully');
19
- }
20
- return {
21
- content: [
22
- {
23
- type: 'text',
24
- text: `# Password Reset Successful\n\n**Collection:** ${collection}\n**Token:** ${token}\n\n\`\`\`json\n${JSON.stringify(result)}\n\`\`\``
25
- }
26
- ]
27
- };
28
- } catch (error) {
29
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
30
- payload.logger.error(`[payload-mcp] Error resetting password: ${errorMessage}`);
31
- return {
32
- content: [
33
- {
34
- type: 'text',
35
- text: `❌ **Error resetting password**: ${errorMessage}`
36
- }
37
- ]
38
- };
39
- }
40
- };
41
- server.registerTool('resetPassword', {
42
- description: toolSchemas.resetPassword.description,
43
- inputSchema: toolSchemas.resetPassword.parameters.shape
44
- }, async ({ collection, password, token })=>{
45
- return await tool(collection, token, password);
46
- });
47
- };
48
-
49
- //# sourceMappingURL=resetPassword.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/mcp/tools/auth/resetPassword.ts"],"sourcesContent":["import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'\nimport type { PayloadRequest } from 'payload'\n\nimport { toolSchemas } from '../schemas.js'\n\nexport const resetPasswordTool = (server: McpServer, req: PayloadRequest, verboseLogs: boolean) => {\n const tool = async (collection: string, token: string, password: string) => {\n const payload = req.payload\n\n if (verboseLogs) {\n payload.logger.info(`[payload-mcp] Resetting password for user in collection: ${collection}`)\n }\n\n try {\n const result = await payload.resetPassword({\n collection,\n data: {\n password,\n token,\n },\n overrideAccess: true,\n })\n\n if (verboseLogs) {\n payload.logger.info('[payload-mcp] Password reset completed successfully')\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `# Password Reset Successful\\n\\n**Collection:** ${collection}\\n**Token:** ${token}\\n\\n\\`\\`\\`json\\n${JSON.stringify(result)}\\n\\`\\`\\``,\n },\n ],\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n payload.logger.error(`[payload-mcp] Error resetting password: ${errorMessage}`)\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `❌ **Error resetting password**: ${errorMessage}`,\n },\n ],\n }\n }\n }\n\n server.registerTool(\n 'resetPassword',\n {\n description: toolSchemas.resetPassword.description,\n inputSchema: toolSchemas.resetPassword.parameters.shape,\n },\n async ({ collection, password, token }) => {\n return await tool(collection, token, password)\n },\n )\n}\n"],"names":["toolSchemas","resetPasswordTool","server","req","verboseLogs","tool","collection","token","password","payload","logger","info","result","resetPassword","data","overrideAccess","content","type","text","JSON","stringify","error","errorMessage","Error","message","registerTool","description","inputSchema","parameters","shape"],"mappings":"AAGA,SAASA,WAAW,QAAQ,gBAAe;AAE3C,OAAO,MAAMC,oBAAoB,CAACC,QAAmBC,KAAqBC;IACxE,MAAMC,OAAO,OAAOC,YAAoBC,OAAeC;QACrD,MAAMC,UAAUN,IAAIM,OAAO;QAE3B,IAAIL,aAAa;YACfK,QAAQC,MAAM,CAACC,IAAI,CAAC,CAAC,yDAAyD,EAAEL,YAAY;QAC9F;QAEA,IAAI;YACF,MAAMM,SAAS,MAAMH,QAAQI,aAAa,CAAC;gBACzCP;gBACAQ,MAAM;oBACJN;oBACAD;gBACF;gBACAQ,gBAAgB;YAClB;YAEA,IAAIX,aAAa;gBACfK,QAAQC,MAAM,CAACC,IAAI,CAAC;YACtB;YAEA,OAAO;gBACLK,SAAS;oBACP;wBACEC,MAAM;wBACNC,MAAM,CAAC,+CAA+C,EAAEZ,WAAW,aAAa,EAAEC,MAAM,gBAAgB,EAAEY,KAAKC,SAAS,CAACR,QAAQ,QAAQ,CAAC;oBAC5I;iBACD;YACH;QACF,EAAE,OAAOS,OAAO;YACd,MAAMC,eAAeD,iBAAiBE,QAAQF,MAAMG,OAAO,GAAG;YAC9Df,QAAQC,MAAM,CAACW,KAAK,CAAC,CAAC,wCAAwC,EAAEC,cAAc;YAE9E,OAAO;gBACLN,SAAS;oBACP;wBACEC,MAAM;wBACNC,MAAM,CAAC,gCAAgC,EAAEI,cAAc;oBACzD;iBACD;YACH;QACF;IACF;IAEApB,OAAOuB,YAAY,CACjB,iBACA;QACEC,aAAa1B,YAAYa,aAAa,CAACa,WAAW;QAClDC,aAAa3B,YAAYa,aAAa,CAACe,UAAU,CAACC,KAAK;IACzD,GACA,OAAO,EAAEvB,UAAU,EAAEE,QAAQ,EAAED,KAAK,EAAE;QACpC,OAAO,MAAMF,KAAKC,YAAYC,OAAOC;IACvC;AAEJ,EAAC"}
@@ -1,4 +0,0 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import type { PayloadRequest } from 'payload';
3
- export declare const unlockTool: (server: McpServer, req: PayloadRequest, verboseLogs: boolean) => void;
4
- //# sourceMappingURL=unlock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unlock.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/auth/unlock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,eAAO,MAAM,UAAU,WAAY,SAAS,OAAO,cAAc,eAAe,OAAO,SA0DtF,CAAA"}
@@ -1,48 +0,0 @@
1
- import { toolSchemas } from '../schemas.js';
2
- export const unlockTool = (server, req, verboseLogs)=>{
3
- const tool = async (collection, email)=>{
4
- const payload = req.payload;
5
- if (verboseLogs) {
6
- payload.logger.info(`[payload-mcp] Unlocking user account for user: ${email} in collection: ${collection}`);
7
- }
8
- try {
9
- const result = await payload.unlock({
10
- collection,
11
- data: {
12
- email
13
- },
14
- overrideAccess: true
15
- });
16
- if (verboseLogs) {
17
- payload.logger.info(`[payload-mcp] User account unlocked successfully for user: ${email}`);
18
- }
19
- return {
20
- content: [
21
- {
22
- type: 'text',
23
- text: `# User Account Unlocked\n\n**User:** ${email}\n**Collection:** ${collection}\n\n\`\`\`json\n${JSON.stringify(result)}\n\`\`\``
24
- }
25
- ]
26
- };
27
- } catch (error) {
28
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
29
- payload.logger.error(`[payload-mcp] Error unlocking user account for user ${email}: ${errorMessage}`);
30
- return {
31
- content: [
32
- {
33
- type: 'text',
34
- text: `❌ **Error unlocking user account for user "${email}"**: ${errorMessage}`
35
- }
36
- ]
37
- };
38
- }
39
- };
40
- server.registerTool('unlock', {
41
- description: toolSchemas.unlock.description,
42
- inputSchema: toolSchemas.unlock.parameters.shape
43
- }, async ({ collection, email })=>{
44
- return await tool(collection, email);
45
- });
46
- };
47
-
48
- //# sourceMappingURL=unlock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/mcp/tools/auth/unlock.ts"],"sourcesContent":["import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'\nimport type { PayloadRequest } from 'payload'\n\nimport { toolSchemas } from '../schemas.js'\n\nexport const unlockTool = (server: McpServer, req: PayloadRequest, verboseLogs: boolean) => {\n const tool = async (collection: string, email: string) => {\n const payload = req.payload\n\n if (verboseLogs) {\n payload.logger.info(\n `[payload-mcp] Unlocking user account for user: ${email} in collection: ${collection}`,\n )\n }\n\n try {\n const result = await payload.unlock({\n collection,\n data: {\n email,\n },\n overrideAccess: true,\n })\n\n if (verboseLogs) {\n payload.logger.info(`[payload-mcp] User account unlocked successfully for user: ${email}`)\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `# User Account Unlocked\\n\\n**User:** ${email}\\n**Collection:** ${collection}\\n\\n\\`\\`\\`json\\n${JSON.stringify(result)}\\n\\`\\`\\``,\n },\n ],\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n payload.logger.error(\n `[payload-mcp] Error unlocking user account for user ${email}: ${errorMessage}`,\n )\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `❌ **Error unlocking user account for user \"${email}\"**: ${errorMessage}`,\n },\n ],\n }\n }\n }\n\n server.registerTool(\n 'unlock',\n {\n description: toolSchemas.unlock.description,\n inputSchema: toolSchemas.unlock.parameters.shape,\n },\n async ({ collection, email }) => {\n return await tool(collection, email)\n },\n )\n}\n"],"names":["toolSchemas","unlockTool","server","req","verboseLogs","tool","collection","email","payload","logger","info","result","unlock","data","overrideAccess","content","type","text","JSON","stringify","error","errorMessage","Error","message","registerTool","description","inputSchema","parameters","shape"],"mappings":"AAGA,SAASA,WAAW,QAAQ,gBAAe;AAE3C,OAAO,MAAMC,aAAa,CAACC,QAAmBC,KAAqBC;IACjE,MAAMC,OAAO,OAAOC,YAAoBC;QACtC,MAAMC,UAAUL,IAAIK,OAAO;QAE3B,IAAIJ,aAAa;YACfI,QAAQC,MAAM,CAACC,IAAI,CACjB,CAAC,+CAA+C,EAAEH,MAAM,gBAAgB,EAAED,YAAY;QAE1F;QAEA,IAAI;YACF,MAAMK,SAAS,MAAMH,QAAQI,MAAM,CAAC;gBAClCN;gBACAO,MAAM;oBACJN;gBACF;gBACAO,gBAAgB;YAClB;YAEA,IAAIV,aAAa;gBACfI,QAAQC,MAAM,CAACC,IAAI,CAAC,CAAC,2DAA2D,EAAEH,OAAO;YAC3F;YAEA,OAAO;gBACLQ,SAAS;oBACP;wBACEC,MAAM;wBACNC,MAAM,CAAC,qCAAqC,EAAEV,MAAM,kBAAkB,EAAED,WAAW,gBAAgB,EAAEY,KAAKC,SAAS,CAACR,QAAQ,QAAQ,CAAC;oBACvI;iBACD;YACH;QACF,EAAE,OAAOS,OAAO;YACd,MAAMC,eAAeD,iBAAiBE,QAAQF,MAAMG,OAAO,GAAG;YAC9Df,QAAQC,MAAM,CAACW,KAAK,CAClB,CAAC,oDAAoD,EAAEb,MAAM,EAAE,EAAEc,cAAc;YAGjF,OAAO;gBACLN,SAAS;oBACP;wBACEC,MAAM;wBACNC,MAAM,CAAC,2CAA2C,EAAEV,MAAM,KAAK,EAAEc,cAAc;oBACjF;iBACD;YACH;QACF;IACF;IAEAnB,OAAOsB,YAAY,CACjB,UACA;QACEC,aAAazB,YAAYY,MAAM,CAACa,WAAW;QAC3CC,aAAa1B,YAAYY,MAAM,CAACe,UAAU,CAACC,KAAK;IAClD,GACA,OAAO,EAAEtB,UAAU,EAAEC,KAAK,EAAE;QAC1B,OAAO,MAAMF,KAAKC,YAAYC;IAChC;AAEJ,EAAC"}
@@ -1,4 +0,0 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import type { PayloadRequest } from 'payload';
3
- export declare const verifyTool: (server: McpServer, req: PayloadRequest, verboseLogs: boolean) => void;
4
- //# sourceMappingURL=verify.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/auth/verify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAI7C,eAAO,MAAM,UAAU,WAAY,SAAS,OAAO,cAAc,eAAe,OAAO,SAmDtF,CAAA"}
@@ -1,45 +0,0 @@
1
- import { toolSchemas } from '../schemas.js';
2
- export const verifyTool = (server, req, verboseLogs)=>{
3
- const tool = async (collection, token)=>{
4
- const payload = req.payload;
5
- if (verboseLogs) {
6
- payload.logger.info(`[payload-mcp] Verifying user account for collection: ${collection}`);
7
- }
8
- try {
9
- const result = await payload.verifyEmail({
10
- collection,
11
- token
12
- });
13
- if (verboseLogs) {
14
- payload.logger.info('[payload-mcp] Email verification completed successfully');
15
- }
16
- return {
17
- content: [
18
- {
19
- type: 'text',
20
- text: `# Email Verification Successful\n\n**Collection:** ${collection}\n**Token:** ${token}\n**Result:** ${result ? 'Success' : 'Failed'}`
21
- }
22
- ]
23
- };
24
- } catch (error) {
25
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
26
- payload.logger.error(`[payload-mcp] Error verifying email: ${errorMessage}`);
27
- return {
28
- content: [
29
- {
30
- type: 'text',
31
- text: `❌ **Error verifying email**: ${errorMessage}`
32
- }
33
- ]
34
- };
35
- }
36
- };
37
- server.registerTool('verify', {
38
- description: toolSchemas.verify.description,
39
- inputSchema: toolSchemas.verify.parameters.shape
40
- }, async ({ collection, token })=>{
41
- return await tool(collection, token);
42
- });
43
- };
44
-
45
- //# sourceMappingURL=verify.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/mcp/tools/auth/verify.ts"],"sourcesContent":["import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'\nimport type { PayloadRequest } from 'payload'\n\nimport { toolSchemas } from '../schemas.js'\n\nexport const verifyTool = (server: McpServer, req: PayloadRequest, verboseLogs: boolean) => {\n const tool = async (collection: string, token: string) => {\n const payload = req.payload\n\n if (verboseLogs) {\n payload.logger.info(`[payload-mcp] Verifying user account for collection: ${collection}`)\n }\n\n try {\n const result = await payload.verifyEmail({\n collection,\n token,\n })\n\n if (verboseLogs) {\n payload.logger.info('[payload-mcp] Email verification completed successfully')\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `# Email Verification Successful\\n\\n**Collection:** ${collection}\\n**Token:** ${token}\\n**Result:** ${result ? 'Success' : 'Failed'}`,\n },\n ],\n }\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n payload.logger.error(`[payload-mcp] Error verifying email: ${errorMessage}`)\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `❌ **Error verifying email**: ${errorMessage}`,\n },\n ],\n }\n }\n }\n\n server.registerTool(\n 'verify',\n {\n description: toolSchemas.verify.description,\n inputSchema: toolSchemas.verify.parameters.shape,\n },\n async ({ collection, token }) => {\n return await tool(collection, token)\n },\n )\n}\n"],"names":["toolSchemas","verifyTool","server","req","verboseLogs","tool","collection","token","payload","logger","info","result","verifyEmail","content","type","text","error","errorMessage","Error","message","registerTool","description","verify","inputSchema","parameters","shape"],"mappings":"AAGA,SAASA,WAAW,QAAQ,gBAAe;AAE3C,OAAO,MAAMC,aAAa,CAACC,QAAmBC,KAAqBC;IACjE,MAAMC,OAAO,OAAOC,YAAoBC;QACtC,MAAMC,UAAUL,IAAIK,OAAO;QAE3B,IAAIJ,aAAa;YACfI,QAAQC,MAAM,CAACC,IAAI,CAAC,CAAC,qDAAqD,EAAEJ,YAAY;QAC1F;QAEA,IAAI;YACF,MAAMK,SAAS,MAAMH,QAAQI,WAAW,CAAC;gBACvCN;gBACAC;YACF;YAEA,IAAIH,aAAa;gBACfI,QAAQC,MAAM,CAACC,IAAI,CAAC;YACtB;YAEA,OAAO;gBACLG,SAAS;oBACP;wBACEC,MAAM;wBACNC,MAAM,CAAC,mDAAmD,EAAET,WAAW,aAAa,EAAEC,MAAM,cAAc,EAAEI,SAAS,YAAY,UAAU;oBAC7I;iBACD;YACH;QACF,EAAE,OAAOK,OAAO;YACd,MAAMC,eAAeD,iBAAiBE,QAAQF,MAAMG,OAAO,GAAG;YAC9DX,QAAQC,MAAM,CAACO,KAAK,CAAC,CAAC,qCAAqC,EAAEC,cAAc;YAE3E,OAAO;gBACLJ,SAAS;oBACP;wBACEC,MAAM;wBACNC,MAAM,CAAC,6BAA6B,EAAEE,cAAc;oBACtD;iBACD;YACH;QACF;IACF;IAEAf,OAAOkB,YAAY,CACjB,UACA;QACEC,aAAarB,YAAYsB,MAAM,CAACD,WAAW;QAC3CE,aAAavB,YAAYsB,MAAM,CAACE,UAAU,CAACC,KAAK;IAClD,GACA,OAAO,EAAEnB,UAAU,EAAEC,KAAK,EAAE;QAC1B,OAAO,MAAMF,KAAKC,YAAYC;IAChC;AAEJ,EAAC"}
@@ -1,10 +0,0 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import type { PayloadRequest } from 'payload';
3
- export declare const createCollection: (req: PayloadRequest, verboseLogs: boolean, collectionsDirPath: string, configFilePath: string, collectionName: string, collectionDescription: string | undefined, fields: any[], hasUpload: boolean | undefined) => Promise<{
4
- content: {
5
- type: "text";
6
- text: string;
7
- }[];
8
- }>;
9
- export declare const createCollectionTool: (server: McpServer, req: PayloadRequest, verboseLogs: boolean, collectionsDirPath: string, configFilePath: string) => void;
10
- //# sourceMappingURL=create.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/collection/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAS7C,eAAO,MAAM,gBAAgB,QACtB,cAAc,eACN,OAAO,sBACA,MAAM,kBACV,MAAM,kBACN,MAAM,yBACC,MAAM,GAAG,SAAS,UACjC,GAAG,EAAE,aACF,OAAO,GAAG,SAAS;;;;;EA4H/B,CAAA;AAED,eAAO,MAAM,oBAAoB,WACvB,SAAS,OACZ,cAAc,eACN,OAAO,sBACA,MAAM,kBACV,MAAM,SA4DvB,CAAA"}
@@ -1,139 +0,0 @@
1
- import { writeFileSync } from 'fs';
2
- import { join } from 'path';
3
- import { generateFieldDefinitionString } from '../../helpers/fields.js';
4
- import { validateCollectionFile } from '../../helpers/fileValidation.js';
5
- import { toolSchemas } from '../schemas.js';
6
- export const createCollection = async (req, verboseLogs, collectionsDirPath, configFilePath, collectionName, collectionDescription, fields, hasUpload)=>{
7
- const payload = req.payload;
8
- if (verboseLogs) {
9
- payload.logger.info(`[payload-mcp] Creating collection: ${collectionName} with ${fields.length} fields`);
10
- }
11
- const capitalizedName = collectionName.charAt(0).toUpperCase() + collectionName.slice(1);
12
- const slug = collectionName.replace(/([A-Z])/g, '-$1').toLowerCase().replace(/^-/, '');
13
- if (verboseLogs) {
14
- payload.logger.info(`[payload-mcp] Generated slug: ${slug} for collection: ${collectionName}`);
15
- }
16
- const fieldDefinitions = fields.map(generateFieldDefinitionString).join('\n');
17
- // Generate collection file content
18
- const collectionContent = `import type { CollectionConfig } from 'payload'
19
-
20
- export const ${capitalizedName}: CollectionConfig = {
21
- slug: '${slug}',${collectionDescription ? `
22
- admin: {
23
- description: '${collectionDescription}',
24
- },` : ''}${hasUpload ? `
25
- upload: true,` : ''}
26
- fields: [
27
- ${fieldDefinitions}
28
- ],
29
- }
30
- `;
31
- try {
32
- // Validate the collection name and path
33
- const fileName = `${capitalizedName}.ts`;
34
- const filePath = join(collectionsDirPath, fileName);
35
- // Security check: ensure we're working with the collections directory
36
- if (!filePath.startsWith(collectionsDirPath)) {
37
- payload.logger.error(`[payload-mcp] Invalid collection path attempted: ${filePath}`);
38
- return {
39
- content: [
40
- {
41
- type: 'text',
42
- text: '❌ **Error**: Invalid collection path'
43
- }
44
- ]
45
- };
46
- }
47
- // Check if file already exists
48
- try {
49
- const fs = await import('fs');
50
- if (fs.existsSync(filePath)) {
51
- return {
52
- content: [
53
- {
54
- type: 'text',
55
- text: `❌ **Error**: Collection file already exists: ${fileName}`
56
- }
57
- ]
58
- };
59
- }
60
- } catch (_ignore) {
61
- // File doesn't exist, which is what we want
62
- }
63
- // Write the collection file
64
- writeFileSync(filePath, collectionContent, 'utf8');
65
- if (verboseLogs) {
66
- payload.logger.info(`[payload-mcp] Successfully created collection file: ${filePath}`);
67
- }
68
- // Validate the generated file
69
- const validationResult = await validateCollectionFile(fileName);
70
- if (validationResult.error) {
71
- return {
72
- content: [
73
- {
74
- type: 'text',
75
- text: `❌ **Error**: Generated collection has validation issues:\n\n${validationResult.error}`
76
- }
77
- ]
78
- };
79
- }
80
- return {
81
- content: [
82
- {
83
- type: 'text',
84
- text: `✅ **Collection created successfully!**
85
- **File**: \`${fileName}\`
86
- **Collection Config:**
87
- \`\`\`typescript
88
- ${collectionContent}
89
- \`\`\``
90
- }
91
- ]
92
- };
93
- } catch (error) {
94
- const errorMessage = error.message;
95
- payload.logger.error(`[payload-mcp] Error creating collection: ${errorMessage}`);
96
- return {
97
- content: [
98
- {
99
- type: 'text',
100
- text: `❌ **Error creating collection**: ${errorMessage}`
101
- }
102
- ]
103
- };
104
- }
105
- };
106
- export const createCollectionTool = (server, req, verboseLogs, collectionsDirPath, configFilePath)=>{
107
- const tool = async (collectionName, collectionDescription, fields = [], hasUpload)=>{
108
- const payload = req.payload;
109
- if (verboseLogs) {
110
- payload.logger.info(`[payload-mcp] Creating collection: ${collectionName}, fields: ${fields.length}, upload: ${hasUpload}`);
111
- }
112
- try {
113
- const result = await createCollection(req, verboseLogs, collectionsDirPath, configFilePath, collectionName, collectionDescription, fields, hasUpload);
114
- if (verboseLogs) {
115
- payload.logger.info(`[payload-mcp] Collection creation completed for: ${collectionName}`);
116
- }
117
- return result;
118
- } catch (error) {
119
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
120
- payload.logger.error(`[payload-mcp] Error creating collection ${collectionName}: ${errorMessage}`);
121
- return {
122
- content: [
123
- {
124
- type: 'text',
125
- text: `Error creating collection "${collectionName}": ${errorMessage}`
126
- }
127
- ]
128
- };
129
- }
130
- };
131
- server.registerTool('createCollection', {
132
- description: toolSchemas.createCollection.description,
133
- inputSchema: toolSchemas.createCollection.parameters.shape
134
- }, async ({ collectionDescription, collectionName, fields, hasUpload })=>{
135
- return await tool(collectionName, collectionDescription, fields, hasUpload);
136
- });
137
- };
138
-
139
- //# sourceMappingURL=create.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/mcp/tools/collection/create.ts"],"sourcesContent":["import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'\nimport type { PayloadRequest } from 'payload'\n\nimport { writeFileSync } from 'fs'\nimport { join } from 'path'\n\nimport { generateFieldDefinitionString } from '../../helpers/fields.js'\nimport { validateCollectionFile } from '../../helpers/fileValidation.js'\nimport { toolSchemas } from '../schemas.js'\n\nexport const createCollection = async (\n req: PayloadRequest,\n verboseLogs: boolean,\n collectionsDirPath: string,\n configFilePath: string,\n collectionName: string,\n collectionDescription: string | undefined,\n fields: any[],\n hasUpload: boolean | undefined,\n) => {\n const payload = req.payload\n if (verboseLogs) {\n payload.logger.info(\n `[payload-mcp] Creating collection: ${collectionName} with ${fields.length} fields`,\n )\n }\n\n const capitalizedName = collectionName.charAt(0).toUpperCase() + collectionName.slice(1)\n const slug = collectionName\n .replace(/([A-Z])/g, '-$1')\n .toLowerCase()\n .replace(/^-/, '')\n\n if (verboseLogs) {\n payload.logger.info(`[payload-mcp] Generated slug: ${slug} for collection: ${collectionName}`)\n }\n\n const fieldDefinitions = fields.map(generateFieldDefinitionString).join('\\n')\n\n // Generate collection file content\n const collectionContent = `import type { CollectionConfig } from 'payload'\n\nexport const ${capitalizedName}: CollectionConfig = {\n slug: '${slug}',${\n collectionDescription\n ? `\n admin: {\n description: '${collectionDescription}',\n },`\n : ''\n }${\n hasUpload\n ? `\n upload: true,`\n : ''\n }\n fields: [\n${fieldDefinitions}\n ],\n}\n`\n\n try {\n // Validate the collection name and path\n const fileName = `${capitalizedName}.ts`\n const filePath = join(collectionsDirPath, fileName)\n\n // Security check: ensure we're working with the collections directory\n if (!filePath.startsWith(collectionsDirPath)) {\n payload.logger.error(`[payload-mcp] Invalid collection path attempted: ${filePath}`)\n return {\n content: [\n {\n type: 'text' as const,\n text: '❌ **Error**: Invalid collection path',\n },\n ],\n }\n }\n\n // Check if file already exists\n try {\n const fs = await import('fs')\n if (fs.existsSync(filePath)) {\n return {\n content: [\n {\n type: 'text' as const,\n text: `❌ **Error**: Collection file already exists: ${fileName}`,\n },\n ],\n }\n }\n } catch (_ignore) {\n // File doesn't exist, which is what we want\n }\n\n // Write the collection file\n writeFileSync(filePath, collectionContent, 'utf8')\n if (verboseLogs) {\n payload.logger.info(`[payload-mcp] Successfully created collection file: ${filePath}`)\n }\n\n // Validate the generated file\n const validationResult = await validateCollectionFile(fileName)\n if (validationResult.error) {\n return {\n content: [\n {\n type: 'text' as const,\n text: `❌ **Error**: Generated collection has validation issues:\\n\\n${validationResult.error}`,\n },\n ],\n }\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `✅ **Collection created successfully!**\n**File**: \\`${fileName}\\`\n**Collection Config:**\n\\`\\`\\`typescript\n${collectionContent}\n\\`\\`\\``,\n },\n ],\n }\n } catch (error) {\n const errorMessage = (error as Error).message\n payload.logger.error(`[payload-mcp] Error creating collection: ${errorMessage}`)\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `❌ **Error creating collection**: ${errorMessage}`,\n },\n ],\n }\n }\n}\n\nexport const createCollectionTool = (\n server: McpServer,\n req: PayloadRequest,\n verboseLogs: boolean,\n collectionsDirPath: string,\n configFilePath: string,\n) => {\n const tool = async (\n collectionName: string,\n collectionDescription?: string,\n fields: any[] = [],\n hasUpload?: boolean,\n ) => {\n const payload = req.payload\n\n if (verboseLogs) {\n payload.logger.info(\n `[payload-mcp] Creating collection: ${collectionName}, fields: ${fields.length}, upload: ${hasUpload}`,\n )\n }\n\n try {\n const result = await createCollection(\n req,\n verboseLogs,\n collectionsDirPath,\n configFilePath,\n collectionName,\n collectionDescription,\n fields,\n hasUpload,\n )\n\n if (verboseLogs) {\n payload.logger.info(`[payload-mcp] Collection creation completed for: ${collectionName}`)\n }\n\n return result\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Unknown error'\n payload.logger.error(\n `[payload-mcp] Error creating collection ${collectionName}: ${errorMessage}`,\n )\n\n return {\n content: [\n {\n type: 'text' as const,\n text: `Error creating collection \"${collectionName}\": ${errorMessage}`,\n },\n ],\n }\n }\n }\n\n server.registerTool(\n 'createCollection',\n {\n description: toolSchemas.createCollection.description,\n inputSchema: toolSchemas.createCollection.parameters.shape,\n },\n async ({ collectionDescription, collectionName, fields, hasUpload }) => {\n return await tool(collectionName, collectionDescription, fields, hasUpload)\n },\n )\n}\n"],"names":["writeFileSync","join","generateFieldDefinitionString","validateCollectionFile","toolSchemas","createCollection","req","verboseLogs","collectionsDirPath","configFilePath","collectionName","collectionDescription","fields","hasUpload","payload","logger","info","length","capitalizedName","charAt","toUpperCase","slice","slug","replace","toLowerCase","fieldDefinitions","map","collectionContent","fileName","filePath","startsWith","error","content","type","text","fs","existsSync","_ignore","validationResult","errorMessage","message","createCollectionTool","server","tool","result","Error","registerTool","description","inputSchema","parameters","shape"],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import type { PayloadRequest } from 'payload';
3
- export declare const deleteCollection: (req: PayloadRequest, verboseLogs: boolean, collectionsDirPath: string, configFilePath: string, collectionName: string, confirmDeletion: boolean, updateConfig: boolean) => {
4
- content: {
5
- type: "text";
6
- text: string;
7
- }[];
8
- };
9
- export declare const deleteCollectionTool: (server: McpServer, req: PayloadRequest, verboseLogs: boolean, collectionsDirPath: string, configFilePath: string) => void;
10
- //# sourceMappingURL=delete.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/collection/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAQ7C,eAAO,MAAM,gBAAgB,QACtB,cAAc,eACN,OAAO,sBACA,MAAM,kBACV,MAAM,kBACN,MAAM,mBACL,OAAO,gBACV,OAAO;;;;;CAiItB,CAAA;AAED,eAAO,MAAM,oBAAoB,WACvB,SAAS,OACZ,cAAc,eACN,OAAO,sBACA,MAAM,kBACV,MAAM,SA0DvB,CAAA"}