@payloadcms/plugin-mcp 4.0.0-internal.e16cf59 → 4.0.0-internal.e55ccef

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 (424) hide show
  1. package/LICENSE.md +1 -1
  2. package/bin.js +46 -0
  3. package/dist/defaultAccess.d.ts +3 -0
  4. package/dist/defaultAccess.d.ts.map +1 -0
  5. package/dist/defaultAccess.js +3 -0
  6. package/dist/defaultAccess.js.map +1 -0
  7. package/dist/defineTool.d.ts +26 -0
  8. package/dist/defineTool.d.ts.map +1 -0
  9. package/dist/defineTool.js +37 -0
  10. package/dist/defineTool.js.map +1 -0
  11. package/dist/endpoint/access.d.ts +17 -0
  12. package/dist/endpoint/access.d.ts.map +1 -0
  13. package/dist/endpoint/access.js +93 -0
  14. package/dist/endpoint/access.js.map +1 -0
  15. package/dist/endpoint/index.d.ts +3 -0
  16. package/dist/endpoint/index.d.ts.map +1 -0
  17. package/dist/endpoint/index.js +87 -0
  18. package/dist/endpoint/index.js.map +1 -0
  19. package/dist/exports/client.d.ts +2 -0
  20. package/dist/exports/client.d.ts.map +1 -0
  21. package/dist/exports/client.js +4 -0
  22. package/dist/exports/client.js.map +1 -0
  23. package/dist/exports/internal.d.ts +2 -0
  24. package/dist/exports/internal.d.ts.map +1 -0
  25. package/dist/exports/internal.js +3 -0
  26. package/dist/exports/internal.js.map +1 -0
  27. package/dist/index.d.ts +6 -9
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +39 -67
  30. package/dist/index.js.map +1 -1
  31. package/dist/mcp/buildMcpServer.d.ts +19 -0
  32. package/dist/mcp/buildMcpServer.d.ts.map +1 -0
  33. package/dist/mcp/buildMcpServer.js +223 -0
  34. package/dist/mcp/buildMcpServer.js.map +1 -0
  35. package/dist/mcp/builtin/collections/authTools.d.ts +7 -0
  36. package/dist/mcp/builtin/collections/authTools.d.ts.map +1 -0
  37. package/dist/mcp/builtin/collections/authTools.js +288 -0
  38. package/dist/mcp/builtin/collections/authTools.js.map +1 -0
  39. package/dist/mcp/builtin/collections/countTool.d.ts +2 -0
  40. package/dist/mcp/builtin/collections/countTool.d.ts.map +1 -0
  41. package/dist/mcp/builtin/collections/countTool.js +68 -0
  42. package/dist/mcp/builtin/collections/countTool.js.map +1 -0
  43. package/dist/mcp/builtin/collections/countVersionsTool.d.ts +2 -0
  44. package/dist/mcp/builtin/collections/countVersionsTool.d.ts.map +1 -0
  45. package/dist/mcp/builtin/collections/countVersionsTool.js +64 -0
  46. package/dist/mcp/builtin/collections/countVersionsTool.js.map +1 -0
  47. package/dist/mcp/builtin/collections/createTool.d.ts +2 -0
  48. package/dist/mcp/builtin/collections/createTool.d.ts.map +1 -0
  49. package/dist/mcp/builtin/collections/createTool.js +96 -0
  50. package/dist/mcp/builtin/collections/createTool.js.map +1 -0
  51. package/dist/mcp/builtin/collections/deleteTool.d.ts +2 -0
  52. package/dist/mcp/builtin/collections/deleteTool.d.ts.map +1 -0
  53. package/dist/mcp/builtin/collections/deleteTool.js +110 -0
  54. package/dist/mcp/builtin/collections/deleteTool.js.map +1 -0
  55. package/dist/mcp/builtin/collections/duplicateTool.d.ts +2 -0
  56. package/dist/mcp/builtin/collections/duplicateTool.d.ts.map +1 -0
  57. package/dist/mcp/builtin/collections/duplicateTool.js +96 -0
  58. package/dist/mcp/builtin/collections/duplicateTool.js.map +1 -0
  59. package/dist/mcp/builtin/collections/fileInput.d.ts +20 -0
  60. package/dist/mcp/builtin/collections/fileInput.d.ts.map +1 -0
  61. package/dist/mcp/builtin/collections/fileInput.js +100 -0
  62. package/dist/mcp/builtin/collections/fileInput.js.map +1 -0
  63. package/dist/mcp/builtin/collections/fileInput.spec.js +72 -0
  64. package/dist/mcp/builtin/collections/fileInput.spec.js.map +1 -0
  65. package/dist/mcp/builtin/collections/findDistinctTool.d.ts +2 -0
  66. package/dist/mcp/builtin/collections/findDistinctTool.d.ts.map +1 -0
  67. package/dist/mcp/builtin/collections/findDistinctTool.js +92 -0
  68. package/dist/mcp/builtin/collections/findDistinctTool.js.map +1 -0
  69. package/dist/mcp/builtin/collections/findTool.d.ts +2 -0
  70. package/dist/mcp/builtin/collections/findTool.d.ts.map +1 -0
  71. package/dist/mcp/builtin/collections/findTool.js +164 -0
  72. package/dist/mcp/builtin/collections/findTool.js.map +1 -0
  73. package/dist/mcp/builtin/collections/findVersionByIDTool.d.ts +2 -0
  74. package/dist/mcp/builtin/collections/findVersionByIDTool.d.ts.map +1 -0
  75. package/dist/mcp/builtin/collections/findVersionByIDTool.js +83 -0
  76. package/dist/mcp/builtin/collections/findVersionByIDTool.js.map +1 -0
  77. package/dist/mcp/builtin/collections/findVersionsTool.d.ts +2 -0
  78. package/dist/mcp/builtin/collections/findVersionsTool.d.ts.map +1 -0
  79. package/dist/mcp/builtin/collections/findVersionsTool.js +98 -0
  80. package/dist/mcp/builtin/collections/findVersionsTool.js.map +1 -0
  81. package/dist/mcp/builtin/collections/formatCollectionError.d.ts +9 -0
  82. package/dist/mcp/builtin/collections/formatCollectionError.d.ts.map +1 -0
  83. package/dist/mcp/builtin/collections/formatCollectionError.js +60 -0
  84. package/dist/mcp/builtin/collections/formatCollectionError.js.map +1 -0
  85. package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts +2 -0
  86. package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts.map +1 -0
  87. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js +86 -0
  88. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js.map +1 -0
  89. package/dist/mcp/builtin/collections/restoreVersionTool.d.ts +2 -0
  90. package/dist/mcp/builtin/collections/restoreVersionTool.d.ts.map +1 -0
  91. package/dist/mcp/builtin/collections/restoreVersionTool.js +81 -0
  92. package/dist/mcp/builtin/collections/restoreVersionTool.js.map +1 -0
  93. package/dist/mcp/builtin/collections/updateTool.d.ts +2 -0
  94. package/dist/mcp/builtin/collections/updateTool.d.ts.map +1 -0
  95. package/dist/mcp/builtin/collections/updateTool.js +204 -0
  96. package/dist/mcp/builtin/collections/updateTool.js.map +1 -0
  97. package/dist/mcp/builtin/getConfigInfoTool.d.ts +2 -0
  98. package/dist/mcp/builtin/getConfigInfoTool.d.ts.map +1 -0
  99. package/dist/mcp/builtin/getConfigInfoTool.js +68 -0
  100. package/dist/mcp/builtin/getConfigInfoTool.js.map +1 -0
  101. package/dist/mcp/builtin/globals/countVersionsTool.d.ts +2 -0
  102. package/dist/mcp/builtin/globals/countVersionsTool.d.ts.map +1 -0
  103. package/dist/mcp/builtin/globals/countVersionsTool.js +64 -0
  104. package/dist/mcp/builtin/globals/countVersionsTool.js.map +1 -0
  105. package/dist/mcp/builtin/globals/findTool.d.ts +2 -0
  106. package/dist/mcp/builtin/globals/findTool.d.ts.map +1 -0
  107. package/dist/mcp/builtin/globals/findTool.js +73 -0
  108. package/dist/mcp/builtin/globals/findTool.js.map +1 -0
  109. package/dist/mcp/builtin/globals/findVersionByIDTool.d.ts +2 -0
  110. package/dist/mcp/builtin/globals/findVersionByIDTool.d.ts.map +1 -0
  111. package/dist/mcp/builtin/globals/findVersionByIDTool.js +79 -0
  112. package/dist/mcp/builtin/globals/findVersionByIDTool.js.map +1 -0
  113. package/dist/mcp/builtin/globals/findVersionsTool.d.ts +2 -0
  114. package/dist/mcp/builtin/globals/findVersionsTool.d.ts.map +1 -0
  115. package/dist/mcp/builtin/globals/findVersionsTool.js +94 -0
  116. package/dist/mcp/builtin/globals/findVersionsTool.js.map +1 -0
  117. package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts +2 -0
  118. package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts.map +1 -0
  119. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js +65 -0
  120. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js.map +1 -0
  121. package/dist/mcp/builtin/globals/restoreVersionTool.d.ts +2 -0
  122. package/dist/mcp/builtin/globals/restoreVersionTool.d.ts.map +1 -0
  123. package/dist/mcp/builtin/globals/restoreVersionTool.js +77 -0
  124. package/dist/mcp/builtin/globals/restoreVersionTool.js.map +1 -0
  125. package/dist/mcp/builtin/globals/updateTool.d.ts +2 -0
  126. package/dist/mcp/builtin/globals/updateTool.d.ts.map +1 -0
  127. package/dist/mcp/builtin/globals/updateTool.js +87 -0
  128. package/dist/mcp/builtin/globals/updateTool.js.map +1 -0
  129. package/dist/mcp/builtin/validateEntityData.d.ts +14 -0
  130. package/dist/mcp/builtin/validateEntityData.d.ts.map +1 -0
  131. package/dist/mcp/builtin/validateEntityData.js +82 -0
  132. package/dist/mcp/builtin/validateEntityData.js.map +1 -0
  133. package/dist/mcp/builtinTools.d.ts +162 -0
  134. package/dist/mcp/builtinTools.d.ts.map +1 -0
  135. package/dist/mcp/builtinTools.js +163 -0
  136. package/dist/mcp/builtinTools.js.map +1 -0
  137. package/dist/mcp/sanitizeMCPConfig.d.ts +16 -0
  138. package/dist/mcp/sanitizeMCPConfig.d.ts.map +1 -0
  139. package/dist/mcp/sanitizeMCPConfig.js +230 -0
  140. package/dist/mcp/sanitizeMCPConfig.js.map +1 -0
  141. package/dist/stdio.d.ts +8 -0
  142. package/dist/stdio.d.ts.map +1 -0
  143. package/dist/stdio.js +126 -0
  144. package/dist/stdio.js.map +1 -0
  145. package/dist/types.d.ts +256 -447
  146. package/dist/types.d.ts.map +1 -1
  147. package/dist/types.js +4 -1
  148. package/dist/types.js.map +1 -1
  149. package/dist/utils/getLogger.d.ts +10 -0
  150. package/dist/utils/getLogger.d.ts.map +1 -0
  151. package/dist/utils/getLogger.js +22 -0
  152. package/dist/utils/getLogger.js.map +1 -0
  153. package/dist/utils/getPluginConfig.d.ts +12 -0
  154. package/dist/utils/getPluginConfig.d.ts.map +1 -0
  155. package/dist/utils/getPluginConfig.js +15 -0
  156. package/dist/utils/getPluginConfig.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/filterFieldsByAccess.d.ts +28 -0
  162. package/dist/utils/schemaConversion/filterFieldsByAccess.d.ts.map +1 -0
  163. package/dist/utils/schemaConversion/filterFieldsByAccess.js +71 -0
  164. package/dist/utils/schemaConversion/filterFieldsByAccess.js.map +1 -0
  165. package/dist/utils/schemaConversion/getEntityInputSchema.d.ts +13 -0
  166. package/dist/utils/schemaConversion/getEntityInputSchema.d.ts.map +1 -0
  167. package/dist/utils/schemaConversion/getEntityInputSchema.js +66 -0
  168. package/dist/utils/schemaConversion/getEntityInputSchema.js.map +1 -0
  169. package/dist/utils/schemaConversion/sanitizeEntitySchema.d.ts +10 -0
  170. package/dist/utils/schemaConversion/sanitizeEntitySchema.d.ts.map +1 -0
  171. package/dist/utils/schemaConversion/sanitizeEntitySchema.js +384 -0
  172. package/dist/utils/schemaConversion/sanitizeEntitySchema.js.map +1 -0
  173. package/dist/utils/schemaConversion/sanitizeEntitySchema.spec.js +133 -0
  174. package/dist/utils/schemaConversion/sanitizeEntitySchema.spec.js.map +1 -0
  175. package/dist/utils/toStandardSchema.d.ts +5 -0
  176. package/dist/utils/toStandardSchema.d.ts.map +1 -0
  177. package/dist/utils/toStandardSchema.js +4 -0
  178. package/dist/utils/toStandardSchema.js.map +1 -0
  179. package/dist/utils/whereSchema.d.ts +9 -0
  180. package/dist/utils/whereSchema.d.ts.map +1 -0
  181. package/dist/utils/whereSchema.js +13 -0
  182. package/dist/utils/whereSchema.js.map +1 -0
  183. package/package.json +30 -10
  184. package/src/defaultAccess.ts +3 -0
  185. package/src/defineTool.ts +44 -0
  186. package/src/endpoint/access.ts +112 -0
  187. package/src/endpoint/index.ts +77 -0
  188. package/src/exports/client.ts +3 -0
  189. package/src/exports/internal.ts +1 -0
  190. package/src/index.ts +31 -89
  191. package/src/mcp/buildMcpServer.ts +284 -0
  192. package/src/mcp/builtin/collections/authTools.ts +269 -0
  193. package/src/mcp/builtin/collections/countTool.ts +73 -0
  194. package/src/mcp/builtin/collections/countVersionsTool.ts +69 -0
  195. package/src/mcp/builtin/collections/createTool.ts +121 -0
  196. package/src/mcp/builtin/collections/deleteTool.ts +125 -0
  197. package/src/mcp/builtin/collections/duplicateTool.ts +134 -0
  198. package/src/mcp/builtin/collections/fileInput.spec.ts +79 -0
  199. package/src/mcp/builtin/collections/fileInput.ts +139 -0
  200. package/src/mcp/builtin/collections/findDistinctTool.ts +119 -0
  201. package/src/mcp/builtin/collections/findTool.ts +216 -0
  202. package/src/mcp/builtin/collections/findVersionByIDTool.ts +109 -0
  203. package/src/mcp/builtin/collections/findVersionsTool.ts +154 -0
  204. package/src/mcp/builtin/collections/formatCollectionError.ts +84 -0
  205. package/src/mcp/builtin/collections/getCollectionSchemaTool.ts +76 -0
  206. package/src/mcp/builtin/collections/restoreVersionTool.ts +107 -0
  207. package/src/mcp/builtin/collections/updateTool.ts +227 -0
  208. package/src/mcp/builtin/getConfigInfoTool.ts +67 -0
  209. package/src/mcp/builtin/globals/countVersionsTool.ts +68 -0
  210. package/src/mcp/builtin/globals/findTool.ts +105 -0
  211. package/src/mcp/builtin/globals/findVersionByIDTool.ts +103 -0
  212. package/src/mcp/builtin/globals/findVersionsTool.ts +147 -0
  213. package/src/mcp/builtin/globals/getGlobalSchemaTool.ts +63 -0
  214. package/src/mcp/builtin/globals/restoreVersionTool.ts +99 -0
  215. package/src/mcp/builtin/globals/updateTool.ts +115 -0
  216. package/src/mcp/builtin/validateEntityData.ts +132 -0
  217. package/src/mcp/builtinTools.ts +154 -0
  218. package/src/mcp/sanitizeMCPConfig.ts +278 -0
  219. package/src/stdio.ts +130 -0
  220. package/src/types.ts +304 -486
  221. package/src/utils/getLogger.ts +22 -0
  222. package/src/utils/getPluginConfig.ts +24 -0
  223. package/src/utils/resolveProjectRoot.ts +17 -0
  224. package/src/utils/schemaConversion/filterFieldsByAccess.ts +123 -0
  225. package/src/utils/schemaConversion/getEntityInputSchema.ts +96 -0
  226. package/src/utils/schemaConversion/sanitizeEntitySchema.spec.ts +96 -0
  227. package/src/utils/schemaConversion/sanitizeEntitySchema.ts +432 -0
  228. package/src/utils/toStandardSchema.ts +9 -0
  229. package/src/utils/whereSchema.ts +24 -0
  230. package/dist/collections/createApiKeysCollection.d.ts +0 -7
  231. package/dist/collections/createApiKeysCollection.d.ts.map +0 -1
  232. package/dist/collections/createApiKeysCollection.js +0 -317
  233. package/dist/collections/createApiKeysCollection.js.map +0 -1
  234. package/dist/defaults.d.ts +0 -4
  235. package/dist/defaults.d.ts.map +0 -1
  236. package/dist/defaults.js +0 -5
  237. package/dist/defaults.js.map +0 -1
  238. package/dist/endpoints/mcp.d.ts +0 -4
  239. package/dist/endpoints/mcp.d.ts.map +0 -1
  240. package/dist/endpoints/mcp.js +0 -71
  241. package/dist/endpoints/mcp.js.map +0 -1
  242. package/dist/mcp/createRequest.d.ts +0 -3
  243. package/dist/mcp/createRequest.d.ts.map +0 -1
  244. package/dist/mcp/createRequest.js +0 -14
  245. package/dist/mcp/createRequest.js.map +0 -1
  246. package/dist/mcp/getMcpHandler.d.ts +0 -4
  247. package/dist/mcp/getMcpHandler.d.ts.map +0 -1
  248. package/dist/mcp/getMcpHandler.js +0 -231
  249. package/dist/mcp/getMcpHandler.js.map +0 -1
  250. package/dist/mcp/helpers/config.d.ts +0 -22
  251. package/dist/mcp/helpers/config.d.ts.map +0 -1
  252. package/dist/mcp/helpers/config.js +0 -153
  253. package/dist/mcp/helpers/config.js.map +0 -1
  254. package/dist/mcp/helpers/fields.d.ts +0 -19
  255. package/dist/mcp/helpers/fields.d.ts.map +0 -1
  256. package/dist/mcp/helpers/fields.js +0 -102
  257. package/dist/mcp/helpers/fields.js.map +0 -1
  258. package/dist/mcp/helpers/fileValidation.d.ts +0 -67
  259. package/dist/mcp/helpers/fileValidation.d.ts.map +0 -1
  260. package/dist/mcp/helpers/fileValidation.js +0 -267
  261. package/dist/mcp/helpers/fileValidation.js.map +0 -1
  262. package/dist/mcp/registerTool.d.ts +0 -6
  263. package/dist/mcp/registerTool.d.ts.map +0 -1
  264. package/dist/mcp/registerTool.js +0 -18
  265. package/dist/mcp/registerTool.js.map +0 -1
  266. package/dist/mcp/tools/auth/auth.d.ts +0 -4
  267. package/dist/mcp/tools/auth/auth.d.ts.map +0 -1
  268. package/dist/mcp/tools/auth/auth.js +0 -57
  269. package/dist/mcp/tools/auth/auth.js.map +0 -1
  270. package/dist/mcp/tools/auth/forgotPassword.d.ts +0 -4
  271. package/dist/mcp/tools/auth/forgotPassword.d.ts.map +0 -1
  272. package/dist/mcp/tools/auth/forgotPassword.js +0 -48
  273. package/dist/mcp/tools/auth/forgotPassword.js.map +0 -1
  274. package/dist/mcp/tools/auth/login.d.ts +0 -4
  275. package/dist/mcp/tools/auth/login.d.ts.map +0 -1
  276. package/dist/mcp/tools/auth/login.js +0 -51
  277. package/dist/mcp/tools/auth/login.js.map +0 -1
  278. package/dist/mcp/tools/auth/resetPassword.d.ts +0 -4
  279. package/dist/mcp/tools/auth/resetPassword.d.ts.map +0 -1
  280. package/dist/mcp/tools/auth/resetPassword.js +0 -49
  281. package/dist/mcp/tools/auth/resetPassword.js.map +0 -1
  282. package/dist/mcp/tools/auth/unlock.d.ts +0 -4
  283. package/dist/mcp/tools/auth/unlock.d.ts.map +0 -1
  284. package/dist/mcp/tools/auth/unlock.js +0 -48
  285. package/dist/mcp/tools/auth/unlock.js.map +0 -1
  286. package/dist/mcp/tools/auth/verify.d.ts +0 -4
  287. package/dist/mcp/tools/auth/verify.d.ts.map +0 -1
  288. package/dist/mcp/tools/auth/verify.js +0 -45
  289. package/dist/mcp/tools/auth/verify.js.map +0 -1
  290. package/dist/mcp/tools/collection/create.d.ts +0 -10
  291. package/dist/mcp/tools/collection/create.d.ts.map +0 -1
  292. package/dist/mcp/tools/collection/create.js +0 -139
  293. package/dist/mcp/tools/collection/create.js.map +0 -1
  294. package/dist/mcp/tools/collection/delete.d.ts +0 -10
  295. package/dist/mcp/tools/collection/delete.d.ts.map +0 -1
  296. package/dist/mcp/tools/collection/delete.js +0 -154
  297. package/dist/mcp/tools/collection/delete.js.map +0 -1
  298. package/dist/mcp/tools/collection/find.d.ts +0 -10
  299. package/dist/mcp/tools/collection/find.d.ts.map +0 -1
  300. package/dist/mcp/tools/collection/find.js +0 -165
  301. package/dist/mcp/tools/collection/find.js.map +0 -1
  302. package/dist/mcp/tools/collection/update.d.ts +0 -10
  303. package/dist/mcp/tools/collection/update.d.ts.map +0 -1
  304. package/dist/mcp/tools/collection/update.js +0 -209
  305. package/dist/mcp/tools/collection/update.js.map +0 -1
  306. package/dist/mcp/tools/config/find.d.ts +0 -10
  307. package/dist/mcp/tools/config/find.d.ts.map +0 -1
  308. package/dist/mcp/tools/config/find.js +0 -97
  309. package/dist/mcp/tools/config/find.js.map +0 -1
  310. package/dist/mcp/tools/config/update.d.ts +0 -10
  311. package/dist/mcp/tools/config/update.d.ts.map +0 -1
  312. package/dist/mcp/tools/config/update.js +0 -215
  313. package/dist/mcp/tools/config/update.js.map +0 -1
  314. package/dist/mcp/tools/global/find.d.ts +0 -5
  315. package/dist/mcp/tools/global/find.d.ts.map +0 -1
  316. package/dist/mcp/tools/global/find.js +0 -82
  317. package/dist/mcp/tools/global/find.js.map +0 -1
  318. package/dist/mcp/tools/global/update.d.ts +0 -6
  319. package/dist/mcp/tools/global/update.d.ts.map +0 -1
  320. package/dist/mcp/tools/global/update.js +0 -124
  321. package/dist/mcp/tools/global/update.js.map +0 -1
  322. package/dist/mcp/tools/job/create.d.ts +0 -10
  323. package/dist/mcp/tools/job/create.d.ts.map +0 -1
  324. package/dist/mcp/tools/job/create.js +0 -293
  325. package/dist/mcp/tools/job/create.js.map +0 -1
  326. package/dist/mcp/tools/job/run.d.ts +0 -10
  327. package/dist/mcp/tools/job/run.d.ts.map +0 -1
  328. package/dist/mcp/tools/job/run.js +0 -129
  329. package/dist/mcp/tools/job/run.js.map +0 -1
  330. package/dist/mcp/tools/job/update.d.ts +0 -11
  331. package/dist/mcp/tools/job/update.d.ts.map +0 -1
  332. package/dist/mcp/tools/job/update.js +0 -186
  333. package/dist/mcp/tools/job/update.js.map +0 -1
  334. package/dist/mcp/tools/resource/create.d.ts +0 -6
  335. package/dist/mcp/tools/resource/create.d.ts.map +0 -1
  336. package/dist/mcp/tools/resource/create.js +0 -124
  337. package/dist/mcp/tools/resource/create.js.map +0 -1
  338. package/dist/mcp/tools/resource/delete.d.ts +0 -5
  339. package/dist/mcp/tools/resource/delete.d.ts.map +0 -1
  340. package/dist/mcp/tools/resource/delete.js +0 -151
  341. package/dist/mcp/tools/resource/delete.js.map +0 -1
  342. package/dist/mcp/tools/resource/find.d.ts +0 -5
  343. package/dist/mcp/tools/resource/find.d.ts.map +0 -1
  344. package/dist/mcp/tools/resource/find.js +0 -170
  345. package/dist/mcp/tools/resource/find.js.map +0 -1
  346. package/dist/mcp/tools/resource/update.d.ts +0 -6
  347. package/dist/mcp/tools/resource/update.d.ts.map +0 -1
  348. package/dist/mcp/tools/resource/update.js +0 -256
  349. package/dist/mcp/tools/resource/update.js.map +0 -1
  350. package/dist/mcp/tools/schemas.d.ts +0 -457
  351. package/dist/mcp/tools/schemas.d.ts.map +0 -1
  352. package/dist/mcp/tools/schemas.js +0 -243
  353. package/dist/mcp/tools/schemas.js.map +0 -1
  354. package/dist/utils/adminEntitySettings.d.ts +0 -17
  355. package/dist/utils/adminEntitySettings.d.ts.map +0 -1
  356. package/dist/utils/adminEntitySettings.js +0 -41
  357. package/dist/utils/adminEntitySettings.js.map +0 -1
  358. package/dist/utils/createApiKeyFields.d.ts +0 -15
  359. package/dist/utils/createApiKeyFields.d.ts.map +0 -1
  360. package/dist/utils/createApiKeyFields.js +0 -57
  361. package/dist/utils/createApiKeyFields.js.map +0 -1
  362. package/dist/utils/getEnabledSlugs.d.ts +0 -13
  363. package/dist/utils/getEnabledSlugs.d.ts.map +0 -1
  364. package/dist/utils/getEnabledSlugs.js +0 -32
  365. package/dist/utils/getEnabledSlugs.js.map +0 -1
  366. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.d.ts +0 -3
  367. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.d.ts.map +0 -1
  368. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.js +0 -43
  369. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.js.map +0 -1
  370. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.d.ts +0 -7
  371. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.d.ts.map +0 -1
  372. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.js +0 -20
  373. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.js.map +0 -1
  374. package/dist/utils/schemaConversion/sanitizeJsonSchema.d.ts +0 -13
  375. package/dist/utils/schemaConversion/sanitizeJsonSchema.d.ts.map +0 -1
  376. package/dist/utils/schemaConversion/sanitizeJsonSchema.js +0 -56
  377. package/dist/utils/schemaConversion/sanitizeJsonSchema.js.map +0 -1
  378. package/dist/utils/schemaConversion/simplifyRelationshipFields.d.ts +0 -20
  379. package/dist/utils/schemaConversion/simplifyRelationshipFields.d.ts.map +0 -1
  380. package/dist/utils/schemaConversion/simplifyRelationshipFields.js +0 -53
  381. package/dist/utils/schemaConversion/simplifyRelationshipFields.js.map +0 -1
  382. package/dist/utils/schemaConversion/transformPointFields.d.ts +0 -3
  383. package/dist/utils/schemaConversion/transformPointFields.d.ts.map +0 -1
  384. package/dist/utils/schemaConversion/transformPointFields.js +0 -51
  385. package/dist/utils/schemaConversion/transformPointFields.js.map +0 -1
  386. package/src/collections/createApiKeysCollection.ts +0 -373
  387. package/src/defaults.ts +0 -3
  388. package/src/endpoints/mcp.ts +0 -91
  389. package/src/mcp/createRequest.ts +0 -13
  390. package/src/mcp/getMcpHandler.ts +0 -545
  391. package/src/mcp/helpers/config.ts +0 -213
  392. package/src/mcp/helpers/fields.ts +0 -154
  393. package/src/mcp/helpers/fileValidation.ts +0 -362
  394. package/src/mcp/registerTool.ts +0 -22
  395. package/src/mcp/tools/auth/auth.ts +0 -71
  396. package/src/mcp/tools/auth/forgotPassword.ts +0 -70
  397. package/src/mcp/tools/auth/login.ts +0 -72
  398. package/src/mcp/tools/auth/resetPassword.ts +0 -61
  399. package/src/mcp/tools/auth/unlock.ts +0 -64
  400. package/src/mcp/tools/auth/verify.ts +0 -57
  401. package/src/mcp/tools/collection/create.ts +0 -210
  402. package/src/mcp/tools/collection/delete.ts +0 -211
  403. package/src/mcp/tools/collection/find.ts +0 -224
  404. package/src/mcp/tools/collection/update.ts +0 -290
  405. package/src/mcp/tools/config/find.ts +0 -128
  406. package/src/mcp/tools/config/update.ts +0 -280
  407. package/src/mcp/tools/global/find.ts +0 -128
  408. package/src/mcp/tools/global/update.ts +0 -207
  409. package/src/mcp/tools/job/create.ts +0 -416
  410. package/src/mcp/tools/job/run.ts +0 -167
  411. package/src/mcp/tools/job/update.ts +0 -274
  412. package/src/mcp/tools/resource/create.ts +0 -211
  413. package/src/mcp/tools/resource/delete.ts +0 -218
  414. package/src/mcp/tools/resource/find.ts +0 -246
  415. package/src/mcp/tools/resource/update.ts +0 -383
  416. package/src/mcp/tools/schemas.ts +0 -520
  417. package/src/utils/adminEntitySettings.ts +0 -40
  418. package/src/utils/createApiKeyFields.ts +0 -72
  419. package/src/utils/getEnabledSlugs.ts +0 -42
  420. package/src/utils/schemaConversion/convertCollectionSchemaToZod.ts +0 -52
  421. package/src/utils/schemaConversion/removeVirtualFieldsFromSchema.ts +0 -27
  422. package/src/utils/schemaConversion/sanitizeJsonSchema.ts +0 -62
  423. package/src/utils/schemaConversion/simplifyRelationshipFields.ts +0 -65
  424. 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"}