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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (423) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +2 -2
  3. package/bin.js +39 -0
  4. package/dist/defaultAccess.d.ts +3 -0
  5. package/dist/defaultAccess.d.ts.map +1 -0
  6. package/dist/defaultAccess.js +3 -0
  7. package/dist/defaultAccess.js.map +1 -0
  8. package/dist/defineTool.d.ts +26 -0
  9. package/dist/defineTool.d.ts.map +1 -0
  10. package/dist/defineTool.js +37 -0
  11. package/dist/defineTool.js.map +1 -0
  12. package/dist/endpoint/access.d.ts +17 -0
  13. package/dist/endpoint/access.d.ts.map +1 -0
  14. package/dist/endpoint/access.js +93 -0
  15. package/dist/endpoint/access.js.map +1 -0
  16. package/dist/endpoint/index.d.ts +3 -0
  17. package/dist/endpoint/index.d.ts.map +1 -0
  18. package/dist/endpoint/index.js +116 -0
  19. package/dist/endpoint/index.js.map +1 -0
  20. package/dist/exports/client.d.ts +2 -0
  21. package/dist/exports/client.d.ts.map +1 -0
  22. package/dist/exports/client.js +4 -0
  23. package/dist/exports/client.js.map +1 -0
  24. package/dist/exports/internal.d.ts +2 -0
  25. package/dist/exports/internal.d.ts.map +1 -0
  26. package/dist/exports/internal.js +3 -0
  27. package/dist/exports/internal.js.map +1 -0
  28. package/dist/index.d.ts +6 -9
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +39 -67
  31. package/dist/index.js.map +1 -1
  32. package/dist/mcp/buildMcpServer.d.ts +19 -0
  33. package/dist/mcp/buildMcpServer.d.ts.map +1 -0
  34. package/dist/mcp/buildMcpServer.js +235 -0
  35. package/dist/mcp/buildMcpServer.js.map +1 -0
  36. package/dist/mcp/builtin/collections/authTools.d.ts +7 -0
  37. package/dist/mcp/builtin/collections/authTools.d.ts.map +1 -0
  38. package/dist/mcp/builtin/collections/authTools.js +312 -0
  39. package/dist/mcp/builtin/collections/authTools.js.map +1 -0
  40. package/dist/mcp/builtin/collections/countTool.d.ts +2 -0
  41. package/dist/mcp/builtin/collections/countTool.d.ts.map +1 -0
  42. package/dist/mcp/builtin/collections/countTool.js +63 -0
  43. package/dist/mcp/builtin/collections/countTool.js.map +1 -0
  44. package/dist/mcp/builtin/collections/countVersionsTool.d.ts +2 -0
  45. package/dist/mcp/builtin/collections/countVersionsTool.d.ts.map +1 -0
  46. package/dist/mcp/builtin/collections/countVersionsTool.js +60 -0
  47. package/dist/mcp/builtin/collections/countVersionsTool.js.map +1 -0
  48. package/dist/mcp/builtin/collections/createTool.d.ts +2 -0
  49. package/dist/mcp/builtin/collections/createTool.d.ts.map +1 -0
  50. package/dist/mcp/builtin/collections/createTool.js +137 -0
  51. package/dist/mcp/builtin/collections/createTool.js.map +1 -0
  52. package/dist/mcp/builtin/collections/deleteTool.d.ts +2 -0
  53. package/dist/mcp/builtin/collections/deleteTool.d.ts.map +1 -0
  54. package/dist/mcp/builtin/collections/deleteTool.js +111 -0
  55. package/dist/mcp/builtin/collections/deleteTool.js.map +1 -0
  56. package/dist/mcp/builtin/collections/duplicateTool.d.ts +2 -0
  57. package/dist/mcp/builtin/collections/duplicateTool.d.ts.map +1 -0
  58. package/dist/mcp/builtin/collections/duplicateTool.js +90 -0
  59. package/dist/mcp/builtin/collections/duplicateTool.js.map +1 -0
  60. package/dist/mcp/builtin/collections/fileInput.d.ts +28 -0
  61. package/dist/mcp/builtin/collections/fileInput.d.ts.map +1 -0
  62. package/dist/mcp/builtin/collections/fileInput.js +88 -0
  63. package/dist/mcp/builtin/collections/fileInput.js.map +1 -0
  64. package/dist/mcp/builtin/collections/findDistinctTool.d.ts +2 -0
  65. package/dist/mcp/builtin/collections/findDistinctTool.d.ts.map +1 -0
  66. package/dist/mcp/builtin/collections/findDistinctTool.js +77 -0
  67. package/dist/mcp/builtin/collections/findDistinctTool.js.map +1 -0
  68. package/dist/mcp/builtin/collections/findTool.d.ts +2 -0
  69. package/dist/mcp/builtin/collections/findTool.d.ts.map +1 -0
  70. package/dist/mcp/builtin/collections/findTool.js +146 -0
  71. package/dist/mcp/builtin/collections/findTool.js.map +1 -0
  72. package/dist/mcp/builtin/collections/findVersionByIDTool.d.ts +2 -0
  73. package/dist/mcp/builtin/collections/findVersionByIDTool.d.ts.map +1 -0
  74. package/dist/mcp/builtin/collections/findVersionByIDTool.js +74 -0
  75. package/dist/mcp/builtin/collections/findVersionByIDTool.js.map +1 -0
  76. package/dist/mcp/builtin/collections/findVersionsTool.d.ts +2 -0
  77. package/dist/mcp/builtin/collections/findVersionsTool.d.ts.map +1 -0
  78. package/dist/mcp/builtin/collections/findVersionsTool.js +84 -0
  79. package/dist/mcp/builtin/collections/findVersionsTool.js.map +1 -0
  80. package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts +2 -0
  81. package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts.map +1 -0
  82. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js +103 -0
  83. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js.map +1 -0
  84. package/dist/mcp/builtin/collections/restoreVersionTool.d.ts +2 -0
  85. package/dist/mcp/builtin/collections/restoreVersionTool.d.ts.map +1 -0
  86. package/dist/mcp/builtin/collections/restoreVersionTool.js +69 -0
  87. package/dist/mcp/builtin/collections/restoreVersionTool.js.map +1 -0
  88. package/dist/mcp/builtin/collections/updateTool.d.ts +2 -0
  89. package/dist/mcp/builtin/collections/updateTool.d.ts.map +1 -0
  90. package/dist/mcp/builtin/collections/updateTool.js +172 -0
  91. package/dist/mcp/builtin/collections/updateTool.js.map +1 -0
  92. package/dist/mcp/builtin/collections/uploadInstructionsTool.d.ts +2 -0
  93. package/dist/mcp/builtin/collections/uploadInstructionsTool.d.ts.map +1 -0
  94. package/dist/mcp/builtin/collections/uploadInstructionsTool.js +55 -0
  95. package/dist/mcp/builtin/collections/uploadInstructionsTool.js.map +1 -0
  96. package/dist/mcp/builtin/formatEntityError.d.ts +16 -0
  97. package/dist/mcp/builtin/formatEntityError.d.ts.map +1 -0
  98. package/dist/mcp/builtin/formatEntityError.js +55 -0
  99. package/dist/mcp/builtin/formatEntityError.js.map +1 -0
  100. package/dist/mcp/builtin/getConfigInfoTool.d.ts +2 -0
  101. package/dist/mcp/builtin/getConfigInfoTool.d.ts.map +1 -0
  102. package/dist/mcp/builtin/getConfigInfoTool.js +69 -0
  103. package/dist/mcp/builtin/getConfigInfoTool.js.map +1 -0
  104. package/dist/mcp/builtin/globals/countVersionsTool.d.ts +2 -0
  105. package/dist/mcp/builtin/globals/countVersionsTool.d.ts.map +1 -0
  106. package/dist/mcp/builtin/globals/countVersionsTool.js +60 -0
  107. package/dist/mcp/builtin/globals/countVersionsTool.js.map +1 -0
  108. package/dist/mcp/builtin/globals/findTool.d.ts +2 -0
  109. package/dist/mcp/builtin/globals/findTool.d.ts.map +1 -0
  110. package/dist/mcp/builtin/globals/findTool.js +67 -0
  111. package/dist/mcp/builtin/globals/findTool.js.map +1 -0
  112. package/dist/mcp/builtin/globals/findVersionByIDTool.d.ts +2 -0
  113. package/dist/mcp/builtin/globals/findVersionByIDTool.d.ts.map +1 -0
  114. package/dist/mcp/builtin/globals/findVersionByIDTool.js +68 -0
  115. package/dist/mcp/builtin/globals/findVersionByIDTool.js.map +1 -0
  116. package/dist/mcp/builtin/globals/findVersionsTool.d.ts +2 -0
  117. package/dist/mcp/builtin/globals/findVersionsTool.d.ts.map +1 -0
  118. package/dist/mcp/builtin/globals/findVersionsTool.js +78 -0
  119. package/dist/mcp/builtin/globals/findVersionsTool.js.map +1 -0
  120. package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts +2 -0
  121. package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts.map +1 -0
  122. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js +81 -0
  123. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js.map +1 -0
  124. package/dist/mcp/builtin/globals/restoreVersionTool.d.ts +2 -0
  125. package/dist/mcp/builtin/globals/restoreVersionTool.d.ts.map +1 -0
  126. package/dist/mcp/builtin/globals/restoreVersionTool.js +70 -0
  127. package/dist/mcp/builtin/globals/restoreVersionTool.js.map +1 -0
  128. package/dist/mcp/builtin/globals/updateTool.d.ts +2 -0
  129. package/dist/mcp/builtin/globals/updateTool.d.ts.map +1 -0
  130. package/dist/mcp/builtin/globals/updateTool.js +78 -0
  131. package/dist/mcp/builtin/globals/updateTool.js.map +1 -0
  132. package/dist/mcp/builtinTools.d.ts +168 -0
  133. package/dist/mcp/builtinTools.d.ts.map +1 -0
  134. package/dist/mcp/builtinTools.js +169 -0
  135. package/dist/mcp/builtinTools.js.map +1 -0
  136. package/dist/mcp/sanitizeMCPConfig.d.ts +16 -0
  137. package/dist/mcp/sanitizeMCPConfig.d.ts.map +1 -0
  138. package/dist/mcp/sanitizeMCPConfig.js +233 -0
  139. package/dist/mcp/sanitizeMCPConfig.js.map +1 -0
  140. package/dist/stdio.d.ts +8 -0
  141. package/dist/stdio.d.ts.map +1 -0
  142. package/dist/stdio.js +128 -0
  143. package/dist/stdio.js.map +1 -0
  144. package/dist/types.d.ts +263 -447
  145. package/dist/types.d.ts.map +1 -1
  146. package/dist/types.js +4 -1
  147. package/dist/types.js.map +1 -1
  148. package/dist/utils/getLogger.d.ts +10 -0
  149. package/dist/utils/getLogger.d.ts.map +1 -0
  150. package/dist/utils/getLogger.js +22 -0
  151. package/dist/utils/getLogger.js.map +1 -0
  152. package/dist/utils/getPluginConfig.d.ts +12 -0
  153. package/dist/utils/getPluginConfig.d.ts.map +1 -0
  154. package/dist/utils/getPluginConfig.js +15 -0
  155. package/dist/utils/getPluginConfig.js.map +1 -0
  156. package/dist/utils/resolveProjectRoot.d.ts +7 -0
  157. package/dist/utils/resolveProjectRoot.d.ts.map +1 -0
  158. package/dist/utils/resolveProjectRoot.js +15 -0
  159. package/dist/utils/resolveProjectRoot.js.map +1 -0
  160. package/dist/utils/toStandardSchema.d.ts +5 -0
  161. package/dist/utils/toStandardSchema.d.ts.map +1 -0
  162. package/dist/utils/toStandardSchema.js +4 -0
  163. package/dist/utils/toStandardSchema.js.map +1 -0
  164. package/package.json +29 -11
  165. package/src/defaultAccess.ts +3 -0
  166. package/src/defineTool.ts +44 -0
  167. package/src/endpoint/access.ts +111 -0
  168. package/src/endpoint/index.ts +107 -0
  169. package/src/exports/client.ts +3 -0
  170. package/src/exports/internal.ts +1 -0
  171. package/src/index.ts +31 -89
  172. package/src/mcp/buildMcpServer.ts +294 -0
  173. package/src/mcp/builtin/collections/authTools.ts +280 -0
  174. package/src/mcp/builtin/collections/countTool.ts +61 -0
  175. package/src/mcp/builtin/collections/countVersionsTool.ts +60 -0
  176. package/src/mcp/builtin/collections/createTool.ts +145 -0
  177. package/src/mcp/builtin/collections/deleteTool.ts +97 -0
  178. package/src/mcp/builtin/collections/duplicateTool.ts +84 -0
  179. package/src/mcp/builtin/collections/fileInput.spec.ts +93 -0
  180. package/src/mcp/builtin/collections/fileInput.ts +127 -0
  181. package/src/mcp/builtin/collections/findDistinctTool.ts +67 -0
  182. package/src/mcp/builtin/collections/findTool.ts +134 -0
  183. package/src/mcp/builtin/collections/findVersionByIDTool.ts +66 -0
  184. package/src/mcp/builtin/collections/findVersionsTool.ts +83 -0
  185. package/src/mcp/builtin/collections/getCollectionSchemaTool.ts +91 -0
  186. package/src/mcp/builtin/collections/restoreVersionTool.ts +65 -0
  187. package/src/mcp/builtin/collections/updateTool.ts +173 -0
  188. package/src/mcp/builtin/collections/uploadInstructionsTool.ts +64 -0
  189. package/src/mcp/builtin/formatEntityError.ts +77 -0
  190. package/src/mcp/builtin/getConfigInfoTool.ts +68 -0
  191. package/src/mcp/builtin/globals/countVersionsTool.ts +60 -0
  192. package/src/mcp/builtin/globals/findTool.ts +66 -0
  193. package/src/mcp/builtin/globals/findVersionByIDTool.ts +64 -0
  194. package/src/mcp/builtin/globals/findVersionsTool.ts +69 -0
  195. package/src/mcp/builtin/globals/getGlobalSchemaTool.ts +73 -0
  196. package/src/mcp/builtin/globals/restoreVersionTool.ts +68 -0
  197. package/src/mcp/builtin/globals/updateTool.ts +92 -0
  198. package/src/mcp/builtinTools.ts +161 -0
  199. package/src/mcp/sanitizeMCPConfig.ts +281 -0
  200. package/src/stdio.ts +131 -0
  201. package/src/types.ts +312 -486
  202. package/src/utils/getLogger.ts +22 -0
  203. package/src/utils/getPluginConfig.ts +24 -0
  204. package/src/utils/resolveProjectRoot.ts +17 -0
  205. package/src/utils/toStandardSchema.ts +9 -0
  206. package/dist/collections/createApiKeysCollection.d.ts +0 -7
  207. package/dist/collections/createApiKeysCollection.d.ts.map +0 -1
  208. package/dist/collections/createApiKeysCollection.js +0 -342
  209. package/dist/collections/createApiKeysCollection.js.map +0 -1
  210. package/dist/defaults.d.ts +0 -4
  211. package/dist/defaults.d.ts.map +0 -1
  212. package/dist/defaults.js +0 -5
  213. package/dist/defaults.js.map +0 -1
  214. package/dist/endpoints/mcp.d.ts +0 -4
  215. package/dist/endpoints/mcp.d.ts.map +0 -1
  216. package/dist/endpoints/mcp.js +0 -24
  217. package/dist/endpoints/mcp.js.map +0 -1
  218. package/dist/endpoints/resolveAccessSettings.d.ts +0 -10
  219. package/dist/endpoints/resolveAccessSettings.d.ts.map +0 -1
  220. package/dist/endpoints/resolveAccessSettings.js +0 -44
  221. package/dist/endpoints/resolveAccessSettings.js.map +0 -1
  222. package/dist/endpoints/withRestoredWebGlobals.d.ts +0 -5
  223. package/dist/endpoints/withRestoredWebGlobals.d.ts.map +0 -1
  224. package/dist/endpoints/withRestoredWebGlobals.js +0 -23
  225. package/dist/endpoints/withRestoredWebGlobals.js.map +0 -1
  226. package/dist/mcp/createRequest.d.ts +0 -3
  227. package/dist/mcp/createRequest.d.ts.map +0 -1
  228. package/dist/mcp/createRequest.js +0 -14
  229. package/dist/mcp/createRequest.js.map +0 -1
  230. package/dist/mcp/getMcpHandler.d.ts +0 -4
  231. package/dist/mcp/getMcpHandler.d.ts.map +0 -1
  232. package/dist/mcp/getMcpHandler.js +0 -231
  233. package/dist/mcp/getMcpHandler.js.map +0 -1
  234. package/dist/mcp/helpers/config.d.ts +0 -22
  235. package/dist/mcp/helpers/config.d.ts.map +0 -1
  236. package/dist/mcp/helpers/config.js +0 -153
  237. package/dist/mcp/helpers/config.js.map +0 -1
  238. package/dist/mcp/helpers/fields.d.ts +0 -19
  239. package/dist/mcp/helpers/fields.d.ts.map +0 -1
  240. package/dist/mcp/helpers/fields.js +0 -102
  241. package/dist/mcp/helpers/fields.js.map +0 -1
  242. package/dist/mcp/helpers/fileValidation.d.ts +0 -67
  243. package/dist/mcp/helpers/fileValidation.d.ts.map +0 -1
  244. package/dist/mcp/helpers/fileValidation.js +0 -267
  245. package/dist/mcp/helpers/fileValidation.js.map +0 -1
  246. package/dist/mcp/registerTool.d.ts +0 -6
  247. package/dist/mcp/registerTool.d.ts.map +0 -1
  248. package/dist/mcp/registerTool.js +0 -18
  249. package/dist/mcp/registerTool.js.map +0 -1
  250. package/dist/mcp/tools/auth/auth.d.ts +0 -4
  251. package/dist/mcp/tools/auth/auth.d.ts.map +0 -1
  252. package/dist/mcp/tools/auth/auth.js +0 -79
  253. package/dist/mcp/tools/auth/auth.js.map +0 -1
  254. package/dist/mcp/tools/auth/auth.spec.js +0 -83
  255. package/dist/mcp/tools/auth/auth.spec.js.map +0 -1
  256. package/dist/mcp/tools/auth/forgotPassword.d.ts +0 -4
  257. package/dist/mcp/tools/auth/forgotPassword.d.ts.map +0 -1
  258. package/dist/mcp/tools/auth/forgotPassword.js +0 -50
  259. package/dist/mcp/tools/auth/forgotPassword.js.map +0 -1
  260. package/dist/mcp/tools/auth/login.d.ts +0 -4
  261. package/dist/mcp/tools/auth/login.d.ts.map +0 -1
  262. package/dist/mcp/tools/auth/login.js +0 -50
  263. package/dist/mcp/tools/auth/login.js.map +0 -1
  264. package/dist/mcp/tools/auth/resetPassword.d.ts +0 -4
  265. package/dist/mcp/tools/auth/resetPassword.d.ts.map +0 -1
  266. package/dist/mcp/tools/auth/resetPassword.js +0 -49
  267. package/dist/mcp/tools/auth/resetPassword.js.map +0 -1
  268. package/dist/mcp/tools/auth/unlock.d.ts +0 -4
  269. package/dist/mcp/tools/auth/unlock.d.ts.map +0 -1
  270. package/dist/mcp/tools/auth/unlock.js +0 -49
  271. package/dist/mcp/tools/auth/unlock.js.map +0 -1
  272. package/dist/mcp/tools/auth/verify.d.ts +0 -4
  273. package/dist/mcp/tools/auth/verify.d.ts.map +0 -1
  274. package/dist/mcp/tools/auth/verify.js +0 -45
  275. package/dist/mcp/tools/auth/verify.js.map +0 -1
  276. package/dist/mcp/tools/collection/create.d.ts +0 -10
  277. package/dist/mcp/tools/collection/create.d.ts.map +0 -1
  278. package/dist/mcp/tools/collection/create.js +0 -139
  279. package/dist/mcp/tools/collection/create.js.map +0 -1
  280. package/dist/mcp/tools/collection/delete.d.ts +0 -10
  281. package/dist/mcp/tools/collection/delete.d.ts.map +0 -1
  282. package/dist/mcp/tools/collection/delete.js +0 -154
  283. package/dist/mcp/tools/collection/delete.js.map +0 -1
  284. package/dist/mcp/tools/collection/find.d.ts +0 -10
  285. package/dist/mcp/tools/collection/find.d.ts.map +0 -1
  286. package/dist/mcp/tools/collection/find.js +0 -165
  287. package/dist/mcp/tools/collection/find.js.map +0 -1
  288. package/dist/mcp/tools/collection/update.d.ts +0 -10
  289. package/dist/mcp/tools/collection/update.d.ts.map +0 -1
  290. package/dist/mcp/tools/collection/update.js +0 -209
  291. package/dist/mcp/tools/collection/update.js.map +0 -1
  292. package/dist/mcp/tools/config/find.d.ts +0 -10
  293. package/dist/mcp/tools/config/find.d.ts.map +0 -1
  294. package/dist/mcp/tools/config/find.js +0 -97
  295. package/dist/mcp/tools/config/find.js.map +0 -1
  296. package/dist/mcp/tools/config/update.d.ts +0 -10
  297. package/dist/mcp/tools/config/update.d.ts.map +0 -1
  298. package/dist/mcp/tools/config/update.js +0 -215
  299. package/dist/mcp/tools/config/update.js.map +0 -1
  300. package/dist/mcp/tools/global/find.d.ts +0 -5
  301. package/dist/mcp/tools/global/find.d.ts.map +0 -1
  302. package/dist/mcp/tools/global/find.js +0 -84
  303. package/dist/mcp/tools/global/find.js.map +0 -1
  304. package/dist/mcp/tools/global/update.d.ts +0 -6
  305. package/dist/mcp/tools/global/update.d.ts.map +0 -1
  306. package/dist/mcp/tools/global/update.js +0 -126
  307. package/dist/mcp/tools/global/update.js.map +0 -1
  308. package/dist/mcp/tools/job/create.d.ts +0 -10
  309. package/dist/mcp/tools/job/create.d.ts.map +0 -1
  310. package/dist/mcp/tools/job/create.js +0 -293
  311. package/dist/mcp/tools/job/create.js.map +0 -1
  312. package/dist/mcp/tools/job/run.d.ts +0 -10
  313. package/dist/mcp/tools/job/run.d.ts.map +0 -1
  314. package/dist/mcp/tools/job/run.js +0 -131
  315. package/dist/mcp/tools/job/run.js.map +0 -1
  316. package/dist/mcp/tools/job/update.d.ts +0 -11
  317. package/dist/mcp/tools/job/update.d.ts.map +0 -1
  318. package/dist/mcp/tools/job/update.js +0 -186
  319. package/dist/mcp/tools/job/update.js.map +0 -1
  320. package/dist/mcp/tools/resource/create.d.ts +0 -6
  321. package/dist/mcp/tools/resource/create.d.ts.map +0 -1
  322. package/dist/mcp/tools/resource/create.js +0 -124
  323. package/dist/mcp/tools/resource/create.js.map +0 -1
  324. package/dist/mcp/tools/resource/delete.d.ts +0 -5
  325. package/dist/mcp/tools/resource/delete.d.ts.map +0 -1
  326. package/dist/mcp/tools/resource/delete.js +0 -151
  327. package/dist/mcp/tools/resource/delete.js.map +0 -1
  328. package/dist/mcp/tools/resource/find.d.ts +0 -5
  329. package/dist/mcp/tools/resource/find.d.ts.map +0 -1
  330. package/dist/mcp/tools/resource/find.js +0 -170
  331. package/dist/mcp/tools/resource/find.js.map +0 -1
  332. package/dist/mcp/tools/resource/update.d.ts +0 -6
  333. package/dist/mcp/tools/resource/update.d.ts.map +0 -1
  334. package/dist/mcp/tools/resource/update.js +0 -242
  335. package/dist/mcp/tools/resource/update.js.map +0 -1
  336. package/dist/mcp/tools/schemas.d.ts +0 -442
  337. package/dist/mcp/tools/schemas.d.ts.map +0 -1
  338. package/dist/mcp/tools/schemas.js +0 -238
  339. package/dist/mcp/tools/schemas.js.map +0 -1
  340. package/dist/utils/adminEntitySettings.d.ts +0 -17
  341. package/dist/utils/adminEntitySettings.d.ts.map +0 -1
  342. package/dist/utils/adminEntitySettings.js +0 -41
  343. package/dist/utils/adminEntitySettings.js.map +0 -1
  344. package/dist/utils/createApiKeyFields.d.ts +0 -15
  345. package/dist/utils/createApiKeyFields.d.ts.map +0 -1
  346. package/dist/utils/createApiKeyFields.js +0 -57
  347. package/dist/utils/createApiKeyFields.js.map +0 -1
  348. package/dist/utils/getEnabledSlugs.d.ts +0 -13
  349. package/dist/utils/getEnabledSlugs.d.ts.map +0 -1
  350. package/dist/utils/getEnabledSlugs.js +0 -32
  351. package/dist/utils/getEnabledSlugs.js.map +0 -1
  352. package/dist/utils/getVirtualFieldNames.d.ts +0 -14
  353. package/dist/utils/getVirtualFieldNames.d.ts.map +0 -1
  354. package/dist/utils/getVirtualFieldNames.js +0 -35
  355. package/dist/utils/getVirtualFieldNames.js.map +0 -1
  356. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.d.ts +0 -4
  357. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.d.ts.map +0 -1
  358. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.js +0 -61
  359. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.js.map +0 -1
  360. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.d.ts +0 -7
  361. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.d.ts.map +0 -1
  362. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.js +0 -20
  363. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.js.map +0 -1
  364. package/dist/utils/schemaConversion/sanitizeJsonSchema.d.ts +0 -13
  365. package/dist/utils/schemaConversion/sanitizeJsonSchema.d.ts.map +0 -1
  366. package/dist/utils/schemaConversion/sanitizeJsonSchema.js +0 -56
  367. package/dist/utils/schemaConversion/sanitizeJsonSchema.js.map +0 -1
  368. package/dist/utils/schemaConversion/simplifyRelationshipFields.d.ts +0 -20
  369. package/dist/utils/schemaConversion/simplifyRelationshipFields.d.ts.map +0 -1
  370. package/dist/utils/schemaConversion/simplifyRelationshipFields.js +0 -53
  371. package/dist/utils/schemaConversion/simplifyRelationshipFields.js.map +0 -1
  372. package/dist/utils/schemaConversion/transformPointFields.d.ts +0 -3
  373. package/dist/utils/schemaConversion/transformPointFields.d.ts.map +0 -1
  374. package/dist/utils/schemaConversion/transformPointFields.js +0 -51
  375. package/dist/utils/schemaConversion/transformPointFields.js.map +0 -1
  376. package/dist/utils/transformPointDataToPayload.d.ts +0 -7
  377. package/dist/utils/transformPointDataToPayload.d.ts.map +0 -1
  378. package/dist/utils/transformPointDataToPayload.js +0 -28
  379. package/dist/utils/transformPointDataToPayload.js.map +0 -1
  380. package/src/collections/createApiKeysCollection.ts +0 -399
  381. package/src/defaults.ts +0 -3
  382. package/src/endpoints/mcp.ts +0 -26
  383. package/src/endpoints/resolveAccessSettings.ts +0 -74
  384. package/src/endpoints/withRestoredWebGlobals.ts +0 -19
  385. package/src/mcp/createRequest.ts +0 -13
  386. package/src/mcp/getMcpHandler.ts +0 -546
  387. package/src/mcp/helpers/config.ts +0 -213
  388. package/src/mcp/helpers/fields.ts +0 -154
  389. package/src/mcp/helpers/fileValidation.ts +0 -362
  390. package/src/mcp/registerTool.ts +0 -22
  391. package/src/mcp/tools/auth/auth.spec.ts +0 -98
  392. package/src/mcp/tools/auth/auth.ts +0 -89
  393. package/src/mcp/tools/auth/forgotPassword.ts +0 -72
  394. package/src/mcp/tools/auth/login.ts +0 -64
  395. package/src/mcp/tools/auth/resetPassword.ts +0 -61
  396. package/src/mcp/tools/auth/unlock.ts +0 -65
  397. package/src/mcp/tools/auth/verify.ts +0 -57
  398. package/src/mcp/tools/collection/create.ts +0 -210
  399. package/src/mcp/tools/collection/delete.ts +0 -211
  400. package/src/mcp/tools/collection/find.ts +0 -224
  401. package/src/mcp/tools/collection/update.ts +0 -290
  402. package/src/mcp/tools/config/find.ts +0 -128
  403. package/src/mcp/tools/config/update.ts +0 -280
  404. package/src/mcp/tools/global/find.ts +0 -130
  405. package/src/mcp/tools/global/update.ts +0 -209
  406. package/src/mcp/tools/job/create.ts +0 -416
  407. package/src/mcp/tools/job/run.ts +0 -169
  408. package/src/mcp/tools/job/update.ts +0 -274
  409. package/src/mcp/tools/resource/create.ts +0 -211
  410. package/src/mcp/tools/resource/delete.ts +0 -218
  411. package/src/mcp/tools/resource/find.ts +0 -246
  412. package/src/mcp/tools/resource/update.ts +0 -367
  413. package/src/mcp/tools/schemas.ts +0 -499
  414. package/src/utils/adminEntitySettings.ts +0 -40
  415. package/src/utils/createApiKeyFields.ts +0 -72
  416. package/src/utils/getEnabledSlugs.ts +0 -42
  417. package/src/utils/getVirtualFieldNames.ts +0 -53
  418. package/src/utils/schemaConversion/convertCollectionSchemaToZod.ts +0 -72
  419. package/src/utils/schemaConversion/removeVirtualFieldsFromSchema.ts +0 -27
  420. package/src/utils/schemaConversion/sanitizeJsonSchema.ts +0 -62
  421. package/src/utils/schemaConversion/simplifyRelationshipFields.ts +0 -65
  422. package/src/utils/schemaConversion/transformPointFields.ts +0 -55
  423. package/src/utils/transformPointDataToPayload.ts +0 -40
@@ -1,546 +0,0 @@
1
- import type { JSONSchema4 } from 'json-schema'
2
-
3
- import { createMcpHandler } from 'mcp-handler'
4
- import { join } from 'path'
5
- import { APIError, configToJSONSchema, type PayloadRequest } from 'payload'
6
-
7
- import type { MCPAccessSettings, MCPPluginConfig } from '../types.js'
8
-
9
- import { toCamelCase } from '../utils/camelCase.js'
10
- import { getEnabledSlugs } from '../utils/getEnabledSlugs.js'
11
- import {
12
- getCollectionVirtualFieldNames,
13
- getGlobalVirtualFieldNames,
14
- } from '../utils/getVirtualFieldNames.js'
15
- import { removeVirtualFieldsFromSchema } from '../utils/schemaConversion/removeVirtualFieldsFromSchema.js'
16
- import { registerTool } from './registerTool.js'
17
-
18
- // Tools
19
- import { findGlobalTool } from './tools/global/find.js'
20
- import { updateGlobalTool } from './tools/global/update.js'
21
- import { createResourceTool } from './tools/resource/create.js'
22
- import { deleteResourceTool } from './tools/resource/delete.js'
23
- import { findResourceTool } from './tools/resource/find.js'
24
- import { updateResourceTool } from './tools/resource/update.js'
25
-
26
- // Experimental Tools
27
- /**
28
- * @experimental This tools are experimental and may change or be removed in the future.
29
- */
30
- import { authTool } from './tools/auth/auth.js'
31
- import { forgotPasswordTool } from './tools/auth/forgotPassword.js'
32
- import { loginTool } from './tools/auth/login.js'
33
- import { resetPasswordTool } from './tools/auth/resetPassword.js'
34
- import { unlockTool } from './tools/auth/unlock.js'
35
- import { verifyTool } from './tools/auth/verify.js'
36
- import { createCollectionTool } from './tools/collection/create.js'
37
- import { deleteCollectionTool } from './tools/collection/delete.js'
38
- import { findCollectionTool } from './tools/collection/find.js'
39
- import { updateCollectionTool } from './tools/collection/update.js'
40
- import { findConfigTool } from './tools/config/find.js'
41
- import { updateConfigTool } from './tools/config/update.js'
42
- import { createJobTool } from './tools/job/create.js'
43
- import { runJobTool } from './tools/job/run.js'
44
- import { updateJobTool } from './tools/job/update.js'
45
-
46
- export const getMcpHandler = (
47
- pluginOptions: MCPPluginConfig,
48
- mcpAccessSettings: MCPAccessSettings,
49
- req: PayloadRequest,
50
- ) => {
51
- const { payload } = req
52
- const configSchema = configToJSONSchema(payload.config, payload.db.defaultIDType, req.i18n, {
53
- forceInlineBlocks: true,
54
- })
55
-
56
- // Handler wrapper that injects req before the _extra argument
57
- const wrapHandler = (handler: (...args: any[]) => any) => {
58
- return async (...args: any[]) => {
59
- const _extra = args[args.length - 1]
60
- const handlerArgs = args.slice(0, -1)
61
- return await handler(...handlerArgs, req, _extra)
62
- }
63
- }
64
-
65
- const payloadToolHandler = (
66
- handler: NonNullable<NonNullable<MCPPluginConfig['mcp']>['tools']>[number]['handler'],
67
- ) => wrapHandler(handler)
68
-
69
- const payloadPromptHandler = (
70
- handler: NonNullable<NonNullable<MCPPluginConfig['mcp']>['prompts']>[number]['handler'],
71
- ) => wrapHandler(handler)
72
-
73
- const payloadResourceHandler = (
74
- handler: NonNullable<NonNullable<MCPPluginConfig['mcp']>['resources']>[number]['handler'],
75
- ) => wrapHandler(handler)
76
-
77
- // User
78
- const user = mcpAccessSettings.user
79
-
80
- // MCP Server and Handler Options
81
- const mcpOptions = pluginOptions.mcp || {}
82
- const customTools = mcpOptions.tools || []
83
- const customPrompts = mcpOptions.prompts || []
84
- const customResources = mcpOptions.resources || []
85
- const mcpHandlerOptions = mcpOptions.handlerOptions || {}
86
- const serverOptions = mcpOptions.serverOptions || {}
87
- const useVerboseLogs = mcpHandlerOptions.verboseLogs ?? false
88
-
89
- // Experimental MCP Tool Requirements
90
- const isDevelopment = process.env.NODE_ENV === 'development'
91
- const experimentalTools: NonNullable<MCPPluginConfig['experimental']>['tools'] =
92
- pluginOptions.experimental?.tools || {}
93
- const collectionsPluginConfig = pluginOptions.collections || {}
94
- const globalsPluginConfig = pluginOptions.globals || {}
95
- const collectionsDirPath =
96
- experimentalTools.collections?.collectionsDirPath || join(process.cwd(), 'src/collections')
97
- const configFilePath =
98
- experimentalTools.config?.configFilePath || join(process.cwd(), 'src/payload.config.ts')
99
- const jobsDirPath = experimentalTools.jobs?.jobsDirPath || join(process.cwd(), 'src/jobs')
100
-
101
- try {
102
- return createMcpHandler(
103
- (server) => {
104
- // Get enabled collections
105
- const enabledCollectionSlugs = getEnabledSlugs(collectionsPluginConfig, 'collection')
106
-
107
- // Collection Operation Tools
108
- enabledCollectionSlugs.forEach((enabledCollectionSlug) => {
109
- try {
110
- const rawSchema = configSchema.definitions?.[enabledCollectionSlug] as JSONSchema4
111
-
112
- const virtualFieldNames = getCollectionVirtualFieldNames(
113
- payload.config,
114
- enabledCollectionSlug,
115
- )
116
- const schema = removeVirtualFieldsFromSchema(
117
- JSON.parse(JSON.stringify(rawSchema)) as JSONSchema4,
118
- virtualFieldNames,
119
- )
120
-
121
- const toolCapabilities = mcpAccessSettings?.[
122
- `${toCamelCase(enabledCollectionSlug)}`
123
- ] as Record<string, unknown>
124
- const allowCreate: boolean | undefined = toolCapabilities?.create as boolean
125
- const allowUpdate: boolean | undefined = toolCapabilities?.update as boolean
126
- const allowFind: boolean | undefined = toolCapabilities?.find as boolean
127
- const allowDelete: boolean | undefined = toolCapabilities?.delete as boolean
128
-
129
- if (allowCreate) {
130
- registerTool(
131
- allowCreate,
132
- `Create ${enabledCollectionSlug}`,
133
- () =>
134
- createResourceTool(
135
- server,
136
- req,
137
- user,
138
- useVerboseLogs,
139
- enabledCollectionSlug,
140
- collectionsPluginConfig,
141
- schema,
142
- ),
143
- payload,
144
- useVerboseLogs,
145
- )
146
- }
147
- if (allowUpdate) {
148
- registerTool(
149
- allowUpdate,
150
- `Update ${enabledCollectionSlug}`,
151
- () =>
152
- updateResourceTool(
153
- server,
154
- req,
155
- user,
156
- useVerboseLogs,
157
- enabledCollectionSlug,
158
- collectionsPluginConfig,
159
- schema,
160
- ),
161
- payload,
162
- useVerboseLogs,
163
- )
164
- }
165
- if (allowFind) {
166
- registerTool(
167
- allowFind,
168
- `Find ${enabledCollectionSlug}`,
169
- () =>
170
- findResourceTool(
171
- server,
172
- req,
173
- user,
174
- useVerboseLogs,
175
- enabledCollectionSlug,
176
- collectionsPluginConfig,
177
- ),
178
- payload,
179
- useVerboseLogs,
180
- )
181
- }
182
- if (allowDelete) {
183
- registerTool(
184
- allowDelete,
185
- `Delete ${enabledCollectionSlug}`,
186
- () =>
187
- deleteResourceTool(
188
- server,
189
- req,
190
- user,
191
- useVerboseLogs,
192
- enabledCollectionSlug,
193
- collectionsPluginConfig,
194
- ),
195
- payload,
196
- useVerboseLogs,
197
- )
198
- }
199
- } catch (error) {
200
- throw new APIError(
201
- `Error registering tools for collection ${enabledCollectionSlug}: ${String(error)}`,
202
- 500,
203
- )
204
- }
205
- })
206
-
207
- // Global Operation Tools
208
- const enabledGlobalSlugs = getEnabledSlugs(globalsPluginConfig, 'global')
209
-
210
- enabledGlobalSlugs.forEach((enabledGlobalSlug) => {
211
- try {
212
- const rawSchema = configSchema.definitions?.[enabledGlobalSlug] as JSONSchema4
213
-
214
- const virtualFieldNames = getGlobalVirtualFieldNames(payload.config, enabledGlobalSlug)
215
- const schema = removeVirtualFieldsFromSchema(
216
- JSON.parse(JSON.stringify(rawSchema)) as JSONSchema4,
217
- virtualFieldNames,
218
- )
219
-
220
- const toolCapabilities = mcpAccessSettings?.[
221
- `${toCamelCase(enabledGlobalSlug)}`
222
- ] as Record<string, unknown>
223
- const allowFind: boolean | undefined = toolCapabilities?.['find'] as boolean
224
- const allowUpdate: boolean | undefined = toolCapabilities?.['update'] as boolean
225
-
226
- if (allowFind) {
227
- registerTool(
228
- allowFind,
229
- `Find ${enabledGlobalSlug}`,
230
- () =>
231
- findGlobalTool(
232
- server,
233
- req,
234
- user,
235
- useVerboseLogs,
236
- enabledGlobalSlug,
237
- globalsPluginConfig,
238
- ),
239
- payload,
240
- useVerboseLogs,
241
- )
242
- }
243
- if (allowUpdate) {
244
- registerTool(
245
- allowUpdate,
246
- `Update ${enabledGlobalSlug}`,
247
- () =>
248
- updateGlobalTool(
249
- server,
250
- req,
251
- user,
252
- useVerboseLogs,
253
- enabledGlobalSlug,
254
- globalsPluginConfig,
255
- schema,
256
- ),
257
- payload,
258
- useVerboseLogs,
259
- )
260
- }
261
- } catch (error) {
262
- throw new APIError(
263
- `Error registering tools for global ${enabledGlobalSlug}: ${String(error)}`,
264
- 500,
265
- )
266
- }
267
- })
268
-
269
- // Custom tools
270
- customTools.forEach((tool) => {
271
- const camelCasedToolName = toCamelCase(tool.name)
272
- const isToolEnabled = mcpAccessSettings['payload-mcp-tool']?.[camelCasedToolName] ?? false
273
-
274
- registerTool(
275
- isToolEnabled,
276
- tool.name,
277
- () =>
278
- server.registerTool(
279
- tool.name,
280
- {
281
- description: tool.description,
282
- inputSchema: tool.parameters,
283
- },
284
- payloadToolHandler(tool.handler),
285
- ),
286
- payload,
287
- useVerboseLogs,
288
- )
289
- })
290
-
291
- // Custom prompts
292
- customPrompts.forEach((prompt) => {
293
- const camelCasedPromptName = toCamelCase(prompt.name)
294
- const isPromptEnabled =
295
- mcpAccessSettings['payload-mcp-prompt']?.[camelCasedPromptName] ?? false
296
-
297
- if (isPromptEnabled) {
298
- server.registerPrompt(
299
- prompt.name,
300
- {
301
- argsSchema: prompt.argsSchema,
302
- description: prompt.description,
303
- title: prompt.title,
304
- },
305
- payloadPromptHandler(prompt.handler),
306
- )
307
- if (useVerboseLogs) {
308
- payload.logger.info(`[payload-mcp] ✅ Prompt: ${prompt.title} Registered.`)
309
- }
310
- } else if (useVerboseLogs) {
311
- payload.logger.info(`[payload-mcp] ⏭️ Prompt: ${prompt.title} Skipped.`)
312
- }
313
- })
314
-
315
- // Custom resources
316
- customResources.forEach((resource) => {
317
- const camelCasedResourceName = toCamelCase(resource.name)
318
- const isResourceEnabled =
319
- mcpAccessSettings['payload-mcp-resource']?.[camelCasedResourceName] ?? false
320
-
321
- if (isResourceEnabled) {
322
- server.registerResource(
323
- resource.name,
324
- // @ts-expect-error - Overload type is not working however -- ResourceTemplate OR String is a valid type
325
- resource.uri,
326
- {
327
- description: resource.description,
328
- mimeType: resource.mimeType,
329
- title: resource.title,
330
- },
331
- payloadResourceHandler(resource.handler),
332
- )
333
-
334
- if (useVerboseLogs) {
335
- payload.logger.info(`[payload-mcp] ✅ Resource: ${resource.title} Registered.`)
336
- }
337
- } else if (useVerboseLogs) {
338
- payload.logger.info(`[payload-mcp] ⏭️ Resource: ${resource.title} Skipped.`)
339
- }
340
- })
341
-
342
- // Experimental - Collection Schema Modfication Tools
343
- if (
344
- mcpAccessSettings.collections?.create &&
345
- experimentalTools.collections?.enabled &&
346
- isDevelopment
347
- ) {
348
- registerTool(
349
- mcpAccessSettings.collections.create,
350
- 'Create Collection',
351
- () =>
352
- createCollectionTool(server, req, useVerboseLogs, collectionsDirPath, configFilePath),
353
- payload,
354
- useVerboseLogs,
355
- )
356
- }
357
- if (
358
- mcpAccessSettings.collections?.delete &&
359
- experimentalTools.collections?.enabled &&
360
- isDevelopment
361
- ) {
362
- registerTool(
363
- mcpAccessSettings.collections.delete,
364
- 'Delete Collection',
365
- () =>
366
- deleteCollectionTool(server, req, useVerboseLogs, collectionsDirPath, configFilePath),
367
- payload,
368
- useVerboseLogs,
369
- )
370
- }
371
-
372
- if (
373
- mcpAccessSettings.collections?.find &&
374
- experimentalTools.collections?.enabled &&
375
- isDevelopment
376
- ) {
377
- registerTool(
378
- mcpAccessSettings.collections.find,
379
- 'Find Collection',
380
- () => findCollectionTool(server, req, useVerboseLogs, collectionsDirPath),
381
- payload,
382
- useVerboseLogs,
383
- )
384
- }
385
-
386
- if (
387
- mcpAccessSettings.collections?.update &&
388
- experimentalTools.collections?.enabled &&
389
- isDevelopment
390
- ) {
391
- registerTool(
392
- mcpAccessSettings.collections.update,
393
- 'Update Collection',
394
- () =>
395
- updateCollectionTool(server, req, useVerboseLogs, collectionsDirPath, configFilePath),
396
- payload,
397
- useVerboseLogs,
398
- )
399
- }
400
-
401
- // Experimental - Payload Config Modification Tools
402
- if (mcpAccessSettings.config?.find && experimentalTools.config?.enabled && isDevelopment) {
403
- registerTool(
404
- mcpAccessSettings.config.find,
405
- 'Find Config',
406
- () => findConfigTool(server, req, useVerboseLogs, configFilePath),
407
- payload,
408
- useVerboseLogs,
409
- )
410
- }
411
-
412
- if (
413
- mcpAccessSettings.config?.update &&
414
- experimentalTools.config?.enabled &&
415
- isDevelopment
416
- ) {
417
- registerTool(
418
- mcpAccessSettings.config.update,
419
- 'Update Config',
420
- () => updateConfigTool(server, req, useVerboseLogs, configFilePath),
421
- payload,
422
- useVerboseLogs,
423
- )
424
- }
425
-
426
- // Experimental - Job Modification Tools
427
- if (mcpAccessSettings.jobs?.create && experimentalTools.jobs?.enabled && isDevelopment) {
428
- registerTool(
429
- mcpAccessSettings.jobs.create,
430
- 'Create Job',
431
- () => createJobTool(server, req, useVerboseLogs, jobsDirPath),
432
- payload,
433
- useVerboseLogs,
434
- )
435
- }
436
-
437
- if (mcpAccessSettings.jobs?.update && experimentalTools.jobs?.enabled && isDevelopment) {
438
- registerTool(
439
- mcpAccessSettings.jobs.update,
440
- 'Update Job',
441
- () => updateJobTool(server, req, useVerboseLogs, jobsDirPath),
442
- payload,
443
- useVerboseLogs,
444
- )
445
- }
446
-
447
- if (mcpAccessSettings.jobs?.run && experimentalTools.jobs?.enabled && isDevelopment) {
448
- registerTool(
449
- mcpAccessSettings.jobs.run,
450
- 'Run Job',
451
- () => runJobTool(server, req, useVerboseLogs),
452
- payload,
453
- useVerboseLogs,
454
- )
455
- }
456
-
457
- // Experimental - Auth Modification Tools
458
- if (mcpAccessSettings.auth?.auth && experimentalTools.auth?.enabled && isDevelopment) {
459
- registerTool(
460
- mcpAccessSettings.auth.auth,
461
- 'Auth',
462
- () => authTool(server, req, useVerboseLogs),
463
- payload,
464
- useVerboseLogs,
465
- )
466
- }
467
-
468
- if (mcpAccessSettings.auth?.login && experimentalTools.auth?.enabled && isDevelopment) {
469
- registerTool(
470
- mcpAccessSettings.auth.login,
471
- 'Login',
472
- () => loginTool(server, req, useVerboseLogs),
473
- payload,
474
- useVerboseLogs,
475
- )
476
- }
477
-
478
- if (mcpAccessSettings.auth?.verify && experimentalTools.auth?.enabled && isDevelopment) {
479
- registerTool(
480
- mcpAccessSettings.auth.verify,
481
- 'Verify',
482
- () => verifyTool(server, req, useVerboseLogs),
483
- payload,
484
- useVerboseLogs,
485
- )
486
- }
487
-
488
- if (
489
- mcpAccessSettings.auth?.resetPassword &&
490
- experimentalTools.auth?.enabled &&
491
- isDevelopment
492
- ) {
493
- registerTool(
494
- mcpAccessSettings.auth.resetPassword,
495
- 'Reset Password',
496
- () => resetPasswordTool(server, req, useVerboseLogs),
497
- payload,
498
- useVerboseLogs,
499
- )
500
- }
501
-
502
- if (
503
- mcpAccessSettings.auth?.forgotPassword &&
504
- experimentalTools.auth?.enabled &&
505
- isDevelopment
506
- ) {
507
- registerTool(
508
- mcpAccessSettings.auth.forgotPassword,
509
- 'Forgot Password',
510
- () => forgotPasswordTool(server, req, useVerboseLogs),
511
- payload,
512
- useVerboseLogs,
513
- )
514
- }
515
-
516
- if (mcpAccessSettings.auth?.unlock && experimentalTools.auth?.enabled && isDevelopment) {
517
- registerTool(
518
- mcpAccessSettings.auth.unlock,
519
- 'Unlock',
520
- () => unlockTool(server, req, useVerboseLogs),
521
- payload,
522
- useVerboseLogs,
523
- )
524
- }
525
-
526
- if (useVerboseLogs) {
527
- payload.logger.info('[payload-mcp] 🚀 MCP Server Ready.')
528
- }
529
- },
530
- {
531
- instructions: serverOptions.instructions,
532
- serverInfo: serverOptions.serverInfo,
533
- },
534
- {
535
- basePath: mcpHandlerOptions.basePath || payload.config.routes?.api || '/api',
536
- disableSse: mcpHandlerOptions.disableSse ?? true,
537
- maxDuration: mcpHandlerOptions.maxDuration || 60,
538
- onEvent: mcpHandlerOptions.onEvent,
539
- redisUrl: mcpHandlerOptions.redisUrl,
540
- verboseLogs: useVerboseLogs,
541
- },
542
- )
543
- } catch (error) {
544
- throw new APIError(`Error initializing MCP handler: ${String(error)}`, 500)
545
- }
546
- }