@payloadcms/plugin-mcp 3.86.0-internal.ac46214 → 4.0.0-canary.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. package/README.md +2 -2
  2. package/bin.js +39 -0
  3. package/dist/collection/getAccessField.d.ts +12 -0
  4. package/dist/collection/getAccessField.d.ts.map +1 -0
  5. package/dist/collection/getAccessField.js +57 -0
  6. package/dist/collection/getAccessField.js.map +1 -0
  7. package/dist/collection/index.d.ts +6 -0
  8. package/dist/collection/index.d.ts.map +1 -0
  9. package/dist/collection/index.js +60 -0
  10. package/dist/collection/index.js.map +1 -0
  11. package/dist/components/AccessField/index.client.d.ts +10 -0
  12. package/dist/components/AccessField/index.client.d.ts.map +1 -0
  13. package/dist/components/AccessField/index.client.js +305 -0
  14. package/dist/components/AccessField/index.client.js.map +1 -0
  15. package/dist/components/AccessField/index.css +93 -0
  16. package/dist/defineTool.d.ts +26 -0
  17. package/dist/defineTool.d.ts.map +1 -0
  18. package/dist/defineTool.js +37 -0
  19. package/dist/defineTool.js.map +1 -0
  20. package/dist/endpoint/access.d.ts +10 -0
  21. package/dist/endpoint/access.d.ts.map +1 -0
  22. package/dist/endpoint/access.js +106 -0
  23. package/dist/endpoint/access.js.map +1 -0
  24. package/dist/endpoint/index.d.ts +3 -0
  25. package/dist/endpoint/index.d.ts.map +1 -0
  26. package/dist/endpoint/index.js +36 -0
  27. package/dist/endpoint/index.js.map +1 -0
  28. package/dist/exports/client.d.ts +2 -0
  29. package/dist/exports/client.d.ts.map +1 -0
  30. package/dist/exports/client.js +4 -0
  31. package/dist/exports/client.js.map +1 -0
  32. package/dist/index.d.ts +4 -7
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +44 -67
  35. package/dist/index.js.map +1 -1
  36. package/dist/mcp/buildMcpServer.d.ts +19 -0
  37. package/dist/mcp/buildMcpServer.d.ts.map +1 -0
  38. package/dist/mcp/buildMcpServer.js +199 -0
  39. package/dist/mcp/buildMcpServer.js.map +1 -0
  40. package/dist/mcp/builtin/collections/authTools.d.ts +7 -0
  41. package/dist/mcp/builtin/collections/authTools.d.ts.map +1 -0
  42. package/dist/mcp/builtin/collections/authTools.js +250 -0
  43. package/dist/mcp/builtin/collections/authTools.js.map +1 -0
  44. package/dist/mcp/builtin/collections/createTool.d.ts +2 -0
  45. package/dist/mcp/builtin/collections/createTool.d.ts.map +1 -0
  46. package/dist/mcp/builtin/collections/createTool.js +94 -0
  47. package/dist/mcp/builtin/collections/createTool.js.map +1 -0
  48. package/dist/mcp/builtin/collections/deleteTool.d.ts +2 -0
  49. package/dist/mcp/builtin/collections/deleteTool.d.ts.map +1 -0
  50. package/dist/mcp/builtin/collections/deleteTool.js +102 -0
  51. package/dist/mcp/builtin/collections/deleteTool.js.map +1 -0
  52. package/dist/mcp/builtin/collections/findTool.d.ts +2 -0
  53. package/dist/mcp/builtin/collections/findTool.d.ts.map +1 -0
  54. package/dist/mcp/builtin/collections/findTool.js +144 -0
  55. package/dist/mcp/builtin/collections/findTool.js.map +1 -0
  56. package/dist/mcp/builtin/collections/formatCollectionError.d.ts +9 -0
  57. package/dist/mcp/builtin/collections/formatCollectionError.d.ts.map +1 -0
  58. package/dist/mcp/builtin/collections/formatCollectionError.js +60 -0
  59. package/dist/mcp/builtin/collections/formatCollectionError.js.map +1 -0
  60. package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts +2 -0
  61. package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts.map +1 -0
  62. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js +35 -0
  63. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js.map +1 -0
  64. package/dist/mcp/builtin/collections/updateTool.d.ts +2 -0
  65. package/dist/mcp/builtin/collections/updateTool.d.ts.map +1 -0
  66. package/dist/mcp/builtin/collections/updateTool.js +199 -0
  67. package/dist/mcp/builtin/collections/updateTool.js.map +1 -0
  68. package/dist/mcp/builtin/getConfigInfoTool.d.ts +2 -0
  69. package/dist/mcp/builtin/getConfigInfoTool.d.ts.map +1 -0
  70. package/dist/mcp/builtin/getConfigInfoTool.js +49 -0
  71. package/dist/mcp/builtin/getConfigInfoTool.js.map +1 -0
  72. package/dist/mcp/builtin/globals/findTool.d.ts +2 -0
  73. package/dist/mcp/builtin/globals/findTool.d.ts.map +1 -0
  74. package/dist/mcp/builtin/globals/findTool.js +76 -0
  75. package/dist/mcp/builtin/globals/findTool.js.map +1 -0
  76. package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts +2 -0
  77. package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts.map +1 -0
  78. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js +35 -0
  79. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js.map +1 -0
  80. package/dist/mcp/builtin/globals/updateTool.d.ts +2 -0
  81. package/dist/mcp/builtin/globals/updateTool.d.ts.map +1 -0
  82. package/dist/mcp/builtin/globals/updateTool.js +94 -0
  83. package/dist/mcp/builtin/globals/updateTool.js.map +1 -0
  84. package/dist/mcp/builtin/validateEntityData.d.ts +14 -0
  85. package/dist/mcp/builtin/validateEntityData.d.ts.map +1 -0
  86. package/dist/mcp/builtin/validateEntityData.js +82 -0
  87. package/dist/mcp/builtin/validateEntityData.js.map +1 -0
  88. package/dist/mcp/builtinTools.d.ts +105 -0
  89. package/dist/mcp/builtinTools.d.ts.map +1 -0
  90. package/dist/mcp/builtinTools.js +107 -0
  91. package/dist/mcp/builtinTools.js.map +1 -0
  92. package/dist/mcp/sanitizeMCPConfig.d.ts +17 -0
  93. package/dist/mcp/sanitizeMCPConfig.d.ts.map +1 -0
  94. package/dist/mcp/sanitizeMCPConfig.js +188 -0
  95. package/dist/mcp/sanitizeMCPConfig.js.map +1 -0
  96. package/dist/stdio.d.ts +8 -0
  97. package/dist/stdio.d.ts.map +1 -0
  98. package/dist/stdio.js +89 -0
  99. package/dist/stdio.js.map +1 -0
  100. package/dist/types.d.ts +251 -455
  101. package/dist/types.d.ts.map +1 -1
  102. package/dist/types.js +6 -1
  103. package/dist/types.js.map +1 -1
  104. package/dist/utils/camelCase.d.ts.map +1 -1
  105. package/dist/utils/getLogger.d.ts +10 -0
  106. package/dist/utils/getLogger.d.ts.map +1 -0
  107. package/dist/utils/getLogger.js +22 -0
  108. package/dist/utils/getLogger.js.map +1 -0
  109. package/dist/utils/getPluginConfig.d.ts +12 -0
  110. package/dist/utils/getPluginConfig.d.ts.map +1 -0
  111. package/dist/utils/getPluginConfig.js +15 -0
  112. package/dist/utils/getPluginConfig.js.map +1 -0
  113. package/dist/utils/localAPIDefaults.d.ts +20 -0
  114. package/dist/utils/localAPIDefaults.d.ts.map +1 -0
  115. package/dist/utils/localAPIDefaults.js +19 -0
  116. package/dist/utils/localAPIDefaults.js.map +1 -0
  117. package/dist/utils/resolveProjectRoot.d.ts +7 -0
  118. package/dist/utils/resolveProjectRoot.d.ts.map +1 -0
  119. package/dist/utils/resolveProjectRoot.js +15 -0
  120. package/dist/utils/resolveProjectRoot.js.map +1 -0
  121. package/dist/utils/schemaConversion/getEntityInputSchema.d.ts +11 -0
  122. package/dist/utils/schemaConversion/getEntityInputSchema.d.ts.map +1 -0
  123. package/dist/utils/schemaConversion/getEntityInputSchema.js +34 -0
  124. package/dist/utils/schemaConversion/getEntityInputSchema.js.map +1 -0
  125. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.d.ts +2 -2
  126. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.d.ts.map +1 -1
  127. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.js.map +1 -1
  128. package/dist/utils/schemaConversion/sanitizeEntitySchema.d.ts +15 -0
  129. package/dist/utils/schemaConversion/sanitizeEntitySchema.d.ts.map +1 -0
  130. package/dist/utils/schemaConversion/sanitizeEntitySchema.js +464 -0
  131. package/dist/utils/schemaConversion/sanitizeEntitySchema.js.map +1 -0
  132. package/dist/utils/schemaConversion/sanitizeEntitySchema.spec.js +158 -0
  133. package/dist/utils/schemaConversion/sanitizeEntitySchema.spec.js.map +1 -0
  134. package/dist/utils/toStandardSchema.d.ts +5 -0
  135. package/dist/utils/toStandardSchema.d.ts.map +1 -0
  136. package/dist/utils/toStandardSchema.js +4 -0
  137. package/dist/utils/toStandardSchema.js.map +1 -0
  138. package/dist/utils/whereSchema.d.ts +9 -0
  139. package/dist/utils/whereSchema.d.ts.map +1 -0
  140. package/dist/utils/whereSchema.js +13 -0
  141. package/dist/utils/whereSchema.js.map +1 -0
  142. package/package.json +35 -10
  143. package/src/collection/getAccessField.ts +64 -0
  144. package/src/collection/index.ts +64 -0
  145. package/src/components/AccessField/index.client.tsx +347 -0
  146. package/src/components/AccessField/index.css +93 -0
  147. package/src/defineTool.ts +44 -0
  148. package/src/endpoint/access.ts +132 -0
  149. package/src/endpoint/index.ts +35 -0
  150. package/src/exports/client.ts +2 -0
  151. package/src/index.ts +35 -85
  152. package/src/mcp/buildMcpServer.ts +257 -0
  153. package/src/mcp/builtin/collections/authTools.ts +233 -0
  154. package/src/mcp/builtin/collections/createTool.ts +112 -0
  155. package/src/mcp/builtin/collections/deleteTool.ts +116 -0
  156. package/src/mcp/builtin/collections/findTool.ts +177 -0
  157. package/src/mcp/builtin/collections/formatCollectionError.ts +84 -0
  158. package/src/mcp/builtin/collections/getCollectionSchemaTool.ts +28 -0
  159. package/src/mcp/builtin/collections/updateTool.ts +211 -0
  160. package/src/mcp/builtin/getConfigInfoTool.ts +44 -0
  161. package/src/mcp/builtin/globals/findTool.ts +96 -0
  162. package/src/mcp/builtin/globals/getGlobalSchemaTool.ts +28 -0
  163. package/src/mcp/builtin/globals/updateTool.ts +115 -0
  164. package/src/mcp/builtin/validateEntityData.ts +132 -0
  165. package/src/mcp/builtinTools.ts +98 -0
  166. package/src/mcp/sanitizeMCPConfig.ts +260 -0
  167. package/src/stdio.ts +98 -0
  168. package/src/types.ts +290 -490
  169. package/src/utils/getLogger.ts +22 -0
  170. package/src/utils/getPluginConfig.ts +24 -0
  171. package/src/utils/localAPIDefaults.ts +22 -0
  172. package/src/utils/resolveProjectRoot.ts +17 -0
  173. package/src/utils/schemaConversion/getEntityInputSchema.ts +78 -0
  174. package/src/utils/schemaConversion/removeVirtualFieldsFromSchema.ts +3 -3
  175. package/src/utils/schemaConversion/sanitizeEntitySchema.spec.ts +103 -0
  176. package/src/utils/schemaConversion/sanitizeEntitySchema.ts +529 -0
  177. package/src/utils/toStandardSchema.ts +9 -0
  178. package/src/utils/whereSchema.ts +24 -0
  179. package/dist/collections/createApiKeysCollection.d.ts +0 -7
  180. package/dist/collections/createApiKeysCollection.d.ts.map +0 -1
  181. package/dist/collections/createApiKeysCollection.js +0 -317
  182. package/dist/collections/createApiKeysCollection.js.map +0 -1
  183. package/dist/defaults.d.ts +0 -4
  184. package/dist/defaults.d.ts.map +0 -1
  185. package/dist/defaults.js +0 -5
  186. package/dist/defaults.js.map +0 -1
  187. package/dist/endpoints/mcp.d.ts +0 -4
  188. package/dist/endpoints/mcp.d.ts.map +0 -1
  189. package/dist/endpoints/mcp.js +0 -71
  190. package/dist/endpoints/mcp.js.map +0 -1
  191. package/dist/mcp/createRequest.d.ts +0 -3
  192. package/dist/mcp/createRequest.d.ts.map +0 -1
  193. package/dist/mcp/createRequest.js +0 -14
  194. package/dist/mcp/createRequest.js.map +0 -1
  195. package/dist/mcp/getMcpHandler.d.ts +0 -4
  196. package/dist/mcp/getMcpHandler.d.ts.map +0 -1
  197. package/dist/mcp/getMcpHandler.js +0 -231
  198. package/dist/mcp/getMcpHandler.js.map +0 -1
  199. package/dist/mcp/helpers/config.d.ts +0 -22
  200. package/dist/mcp/helpers/config.d.ts.map +0 -1
  201. package/dist/mcp/helpers/config.js +0 -153
  202. package/dist/mcp/helpers/config.js.map +0 -1
  203. package/dist/mcp/helpers/fields.d.ts +0 -19
  204. package/dist/mcp/helpers/fields.d.ts.map +0 -1
  205. package/dist/mcp/helpers/fields.js +0 -102
  206. package/dist/mcp/helpers/fields.js.map +0 -1
  207. package/dist/mcp/helpers/fileValidation.d.ts +0 -67
  208. package/dist/mcp/helpers/fileValidation.d.ts.map +0 -1
  209. package/dist/mcp/helpers/fileValidation.js +0 -267
  210. package/dist/mcp/helpers/fileValidation.js.map +0 -1
  211. package/dist/mcp/registerTool.d.ts +0 -6
  212. package/dist/mcp/registerTool.d.ts.map +0 -1
  213. package/dist/mcp/registerTool.js +0 -18
  214. package/dist/mcp/registerTool.js.map +0 -1
  215. package/dist/mcp/tools/auth/auth.d.ts +0 -4
  216. package/dist/mcp/tools/auth/auth.d.ts.map +0 -1
  217. package/dist/mcp/tools/auth/auth.js +0 -57
  218. package/dist/mcp/tools/auth/auth.js.map +0 -1
  219. package/dist/mcp/tools/auth/forgotPassword.d.ts +0 -4
  220. package/dist/mcp/tools/auth/forgotPassword.d.ts.map +0 -1
  221. package/dist/mcp/tools/auth/forgotPassword.js +0 -48
  222. package/dist/mcp/tools/auth/forgotPassword.js.map +0 -1
  223. package/dist/mcp/tools/auth/login.d.ts +0 -4
  224. package/dist/mcp/tools/auth/login.d.ts.map +0 -1
  225. package/dist/mcp/tools/auth/login.js +0 -51
  226. package/dist/mcp/tools/auth/login.js.map +0 -1
  227. package/dist/mcp/tools/auth/resetPassword.d.ts +0 -4
  228. package/dist/mcp/tools/auth/resetPassword.d.ts.map +0 -1
  229. package/dist/mcp/tools/auth/resetPassword.js +0 -49
  230. package/dist/mcp/tools/auth/resetPassword.js.map +0 -1
  231. package/dist/mcp/tools/auth/unlock.d.ts +0 -4
  232. package/dist/mcp/tools/auth/unlock.d.ts.map +0 -1
  233. package/dist/mcp/tools/auth/unlock.js +0 -48
  234. package/dist/mcp/tools/auth/unlock.js.map +0 -1
  235. package/dist/mcp/tools/auth/verify.d.ts +0 -4
  236. package/dist/mcp/tools/auth/verify.d.ts.map +0 -1
  237. package/dist/mcp/tools/auth/verify.js +0 -45
  238. package/dist/mcp/tools/auth/verify.js.map +0 -1
  239. package/dist/mcp/tools/collection/create.d.ts +0 -10
  240. package/dist/mcp/tools/collection/create.d.ts.map +0 -1
  241. package/dist/mcp/tools/collection/create.js +0 -139
  242. package/dist/mcp/tools/collection/create.js.map +0 -1
  243. package/dist/mcp/tools/collection/delete.d.ts +0 -10
  244. package/dist/mcp/tools/collection/delete.d.ts.map +0 -1
  245. package/dist/mcp/tools/collection/delete.js +0 -154
  246. package/dist/mcp/tools/collection/delete.js.map +0 -1
  247. package/dist/mcp/tools/collection/find.d.ts +0 -10
  248. package/dist/mcp/tools/collection/find.d.ts.map +0 -1
  249. package/dist/mcp/tools/collection/find.js +0 -165
  250. package/dist/mcp/tools/collection/find.js.map +0 -1
  251. package/dist/mcp/tools/collection/update.d.ts +0 -10
  252. package/dist/mcp/tools/collection/update.d.ts.map +0 -1
  253. package/dist/mcp/tools/collection/update.js +0 -209
  254. package/dist/mcp/tools/collection/update.js.map +0 -1
  255. package/dist/mcp/tools/config/find.d.ts +0 -10
  256. package/dist/mcp/tools/config/find.d.ts.map +0 -1
  257. package/dist/mcp/tools/config/find.js +0 -97
  258. package/dist/mcp/tools/config/find.js.map +0 -1
  259. package/dist/mcp/tools/config/update.d.ts +0 -10
  260. package/dist/mcp/tools/config/update.d.ts.map +0 -1
  261. package/dist/mcp/tools/config/update.js +0 -215
  262. package/dist/mcp/tools/config/update.js.map +0 -1
  263. package/dist/mcp/tools/global/find.d.ts +0 -5
  264. package/dist/mcp/tools/global/find.d.ts.map +0 -1
  265. package/dist/mcp/tools/global/find.js +0 -82
  266. package/dist/mcp/tools/global/find.js.map +0 -1
  267. package/dist/mcp/tools/global/update.d.ts +0 -6
  268. package/dist/mcp/tools/global/update.d.ts.map +0 -1
  269. package/dist/mcp/tools/global/update.js +0 -124
  270. package/dist/mcp/tools/global/update.js.map +0 -1
  271. package/dist/mcp/tools/job/create.d.ts +0 -10
  272. package/dist/mcp/tools/job/create.d.ts.map +0 -1
  273. package/dist/mcp/tools/job/create.js +0 -293
  274. package/dist/mcp/tools/job/create.js.map +0 -1
  275. package/dist/mcp/tools/job/run.d.ts +0 -10
  276. package/dist/mcp/tools/job/run.d.ts.map +0 -1
  277. package/dist/mcp/tools/job/run.js +0 -129
  278. package/dist/mcp/tools/job/run.js.map +0 -1
  279. package/dist/mcp/tools/job/update.d.ts +0 -11
  280. package/dist/mcp/tools/job/update.d.ts.map +0 -1
  281. package/dist/mcp/tools/job/update.js +0 -186
  282. package/dist/mcp/tools/job/update.js.map +0 -1
  283. package/dist/mcp/tools/resource/create.d.ts +0 -6
  284. package/dist/mcp/tools/resource/create.d.ts.map +0 -1
  285. package/dist/mcp/tools/resource/create.js +0 -124
  286. package/dist/mcp/tools/resource/create.js.map +0 -1
  287. package/dist/mcp/tools/resource/delete.d.ts +0 -5
  288. package/dist/mcp/tools/resource/delete.d.ts.map +0 -1
  289. package/dist/mcp/tools/resource/delete.js +0 -151
  290. package/dist/mcp/tools/resource/delete.js.map +0 -1
  291. package/dist/mcp/tools/resource/find.d.ts +0 -5
  292. package/dist/mcp/tools/resource/find.d.ts.map +0 -1
  293. package/dist/mcp/tools/resource/find.js +0 -170
  294. package/dist/mcp/tools/resource/find.js.map +0 -1
  295. package/dist/mcp/tools/resource/update.d.ts +0 -6
  296. package/dist/mcp/tools/resource/update.d.ts.map +0 -1
  297. package/dist/mcp/tools/resource/update.js +0 -256
  298. package/dist/mcp/tools/resource/update.js.map +0 -1
  299. package/dist/mcp/tools/schemas.d.ts +0 -457
  300. package/dist/mcp/tools/schemas.d.ts.map +0 -1
  301. package/dist/mcp/tools/schemas.js +0 -243
  302. package/dist/mcp/tools/schemas.js.map +0 -1
  303. package/dist/utils/adminEntitySettings.d.ts +0 -17
  304. package/dist/utils/adminEntitySettings.d.ts.map +0 -1
  305. package/dist/utils/adminEntitySettings.js +0 -41
  306. package/dist/utils/adminEntitySettings.js.map +0 -1
  307. package/dist/utils/createApiKeyFields.d.ts +0 -15
  308. package/dist/utils/createApiKeyFields.d.ts.map +0 -1
  309. package/dist/utils/createApiKeyFields.js +0 -57
  310. package/dist/utils/createApiKeyFields.js.map +0 -1
  311. package/dist/utils/getEnabledSlugs.d.ts +0 -13
  312. package/dist/utils/getEnabledSlugs.d.ts.map +0 -1
  313. package/dist/utils/getEnabledSlugs.js +0 -32
  314. package/dist/utils/getEnabledSlugs.js.map +0 -1
  315. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.d.ts +0 -3
  316. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.d.ts.map +0 -1
  317. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.js +0 -43
  318. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.js.map +0 -1
  319. package/dist/utils/schemaConversion/sanitizeJsonSchema.d.ts +0 -13
  320. package/dist/utils/schemaConversion/sanitizeJsonSchema.d.ts.map +0 -1
  321. package/dist/utils/schemaConversion/sanitizeJsonSchema.js +0 -56
  322. package/dist/utils/schemaConversion/sanitizeJsonSchema.js.map +0 -1
  323. package/dist/utils/schemaConversion/simplifyRelationshipFields.d.ts +0 -20
  324. package/dist/utils/schemaConversion/simplifyRelationshipFields.d.ts.map +0 -1
  325. package/dist/utils/schemaConversion/simplifyRelationshipFields.js +0 -53
  326. package/dist/utils/schemaConversion/simplifyRelationshipFields.js.map +0 -1
  327. package/dist/utils/schemaConversion/transformPointFields.d.ts +0 -3
  328. package/dist/utils/schemaConversion/transformPointFields.d.ts.map +0 -1
  329. package/dist/utils/schemaConversion/transformPointFields.js +0 -51
  330. package/dist/utils/schemaConversion/transformPointFields.js.map +0 -1
  331. package/src/collections/createApiKeysCollection.ts +0 -373
  332. package/src/defaults.ts +0 -3
  333. package/src/endpoints/mcp.ts +0 -91
  334. package/src/mcp/createRequest.ts +0 -13
  335. package/src/mcp/getMcpHandler.ts +0 -545
  336. package/src/mcp/helpers/config.ts +0 -213
  337. package/src/mcp/helpers/fields.ts +0 -154
  338. package/src/mcp/helpers/fileValidation.ts +0 -362
  339. package/src/mcp/registerTool.ts +0 -22
  340. package/src/mcp/tools/auth/auth.ts +0 -71
  341. package/src/mcp/tools/auth/forgotPassword.ts +0 -70
  342. package/src/mcp/tools/auth/login.ts +0 -72
  343. package/src/mcp/tools/auth/resetPassword.ts +0 -61
  344. package/src/mcp/tools/auth/unlock.ts +0 -64
  345. package/src/mcp/tools/auth/verify.ts +0 -57
  346. package/src/mcp/tools/collection/create.ts +0 -210
  347. package/src/mcp/tools/collection/delete.ts +0 -211
  348. package/src/mcp/tools/collection/find.ts +0 -224
  349. package/src/mcp/tools/collection/update.ts +0 -290
  350. package/src/mcp/tools/config/find.ts +0 -128
  351. package/src/mcp/tools/config/update.ts +0 -280
  352. package/src/mcp/tools/global/find.ts +0 -128
  353. package/src/mcp/tools/global/update.ts +0 -207
  354. package/src/mcp/tools/job/create.ts +0 -416
  355. package/src/mcp/tools/job/run.ts +0 -167
  356. package/src/mcp/tools/job/update.ts +0 -274
  357. package/src/mcp/tools/resource/create.ts +0 -211
  358. package/src/mcp/tools/resource/delete.ts +0 -218
  359. package/src/mcp/tools/resource/find.ts +0 -246
  360. package/src/mcp/tools/resource/update.ts +0 -383
  361. package/src/mcp/tools/schemas.ts +0 -520
  362. package/src/utils/adminEntitySettings.ts +0 -40
  363. package/src/utils/createApiKeyFields.ts +0 -72
  364. package/src/utils/getEnabledSlugs.ts +0 -42
  365. package/src/utils/schemaConversion/convertCollectionSchemaToZod.ts +0 -52
  366. package/src/utils/schemaConversion/sanitizeJsonSchema.ts +0 -62
  367. package/src/utils/schemaConversion/simplifyRelationshipFields.ts +0 -65
  368. package/src/utils/schemaConversion/transformPointFields.ts +0 -55
@@ -1,280 +0,0 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
2
- import type { PayloadRequest } from 'payload'
3
-
4
- import { readFileSync, writeFileSync } from 'fs'
5
-
6
- import {
7
- addCollectionToConfig,
8
- removeCollectionFromConfig,
9
- updateAdminConfig,
10
- updateDatabaseConfig,
11
- updatePluginsConfig,
12
- } from '../../helpers/config.js'
13
- import { toolSchemas } from '../schemas.js'
14
-
15
- export const updateConfig = (
16
- req: PayloadRequest,
17
- verboseLogs: boolean,
18
- configFilePath: string,
19
- updateType: string,
20
- collectionName?: string,
21
- adminConfig?: any,
22
- databaseConfig?: any,
23
- pluginUpdates?: any,
24
- newContent?: string,
25
- ) => {
26
- const payload = req.payload
27
- if (verboseLogs) {
28
- payload.logger.info(`[payload-mcp] Updating config with update type: ${updateType}`)
29
- }
30
-
31
- // Security check: ensure we're working with the specified config file
32
- if (!configFilePath.startsWith(process.cwd()) && !configFilePath.startsWith('/')) {
33
- payload.logger.error(`[payload-mcp] Invalid config path attempted: ${configFilePath}`)
34
- return {
35
- content: [
36
- {
37
- type: 'text' as const,
38
- text: '❌ **Error**: Invalid config path',
39
- },
40
- ],
41
- }
42
- }
43
-
44
- try {
45
- // Read current config
46
- let currentContent: string
47
- try {
48
- currentContent = readFileSync(configFilePath, 'utf8')
49
- } catch (_ignore) {
50
- return {
51
- content: [
52
- {
53
- type: 'text' as const,
54
- text: `❌ **Error**: Config file not found: ${configFilePath}`,
55
- },
56
- ],
57
- }
58
- }
59
-
60
- let updatedContent: string
61
- let updateSummary: string[] = []
62
-
63
- switch (updateType) {
64
- case 'add_collection':
65
- if (!collectionName) {
66
- return {
67
- content: [
68
- {
69
- type: 'text' as const,
70
- text: '❌ **Error**: No collection name provided for add_collection update type',
71
- },
72
- ],
73
- }
74
- }
75
- updatedContent = addCollectionToConfig(currentContent, collectionName)
76
- updateSummary = [`Added collection: ${collectionName}`]
77
- break
78
-
79
- case 'remove_collection':
80
- if (!collectionName) {
81
- return {
82
- content: [
83
- {
84
- type: 'text' as const,
85
- text: '❌ **Error**: No collection name provided for remove_collection update type',
86
- },
87
- ],
88
- }
89
- }
90
- updatedContent = removeCollectionFromConfig(currentContent, collectionName)
91
- updateSummary = [`Removed collection: ${collectionName}`]
92
- break
93
-
94
- case 'replace_content':
95
- if (!newContent) {
96
- return {
97
- content: [
98
- {
99
- type: 'text' as const,
100
- text: '❌ **Error**: No new content provided for replace_content update type',
101
- },
102
- ],
103
- }
104
- }
105
- updatedContent = newContent
106
- updateSummary = ['Replaced entire config content']
107
- break
108
-
109
- case 'update_admin':
110
- if (!adminConfig) {
111
- return {
112
- content: [
113
- {
114
- type: 'text' as const,
115
- text: '❌ **Error**: No admin config provided for update_admin update type',
116
- },
117
- ],
118
- }
119
- }
120
- updatedContent = updateAdminConfig(currentContent, adminConfig)
121
- updateSummary = Object.keys(adminConfig).map((key) => `Updated admin config: ${key}`)
122
- break
123
-
124
- case 'update_database':
125
- if (!databaseConfig) {
126
- return {
127
- content: [
128
- {
129
- type: 'text' as const,
130
- text: '❌ **Error**: No database config provided for update_database update type',
131
- },
132
- ],
133
- }
134
- }
135
- updatedContent = updateDatabaseConfig(currentContent, databaseConfig)
136
- updateSummary = Object.keys(databaseConfig).map((key) => `Updated database config: ${key}`)
137
- break
138
-
139
- case 'update_plugins':
140
- if (!pluginUpdates) {
141
- return {
142
- content: [
143
- {
144
- type: 'text' as const,
145
- text: '❌ **Error**: No plugin updates provided for update_plugins update type',
146
- },
147
- ],
148
- }
149
- }
150
- updatedContent = updatePluginsConfig(currentContent, pluginUpdates)
151
- updateSummary = []
152
- if (pluginUpdates.add) {
153
- updateSummary.push(`Added plugins: ${pluginUpdates.add.join(', ')}`)
154
- }
155
- if (pluginUpdates.remove) {
156
- updateSummary.push(`Removed plugins: ${pluginUpdates.remove.join(', ')}`)
157
- }
158
- break
159
-
160
- default:
161
- return {
162
- content: [
163
- {
164
- type: 'text' as const,
165
- text: `❌ **Error**: Unknown update type: ${updateType}`,
166
- },
167
- ],
168
- }
169
- }
170
-
171
- // Write the updated content back to the file
172
- writeFileSync(configFilePath, updatedContent, 'utf8')
173
- if (verboseLogs) {
174
- payload.logger.info(`[payload-mcp] Successfully updated config file: ${configFilePath}`)
175
- }
176
-
177
- return {
178
- content: [
179
- {
180
- type: 'text' as const,
181
- text: `✅ **Config updated successfully!**
182
-
183
- **File**: \`${configFilePath}\`
184
- **Update Type**: ${updateType}
185
-
186
- **Changes Made**:
187
- ${updateSummary.map((summary) => `- ${summary}`).join('\n')}
188
-
189
- **Updated Config Content:**
190
- \`\`\`typescript
191
- ${updatedContent}
192
- \`\`\``,
193
- },
194
- ],
195
- }
196
- } catch (error) {
197
- const errorMessage = (error as Error).message
198
- payload.logger.error(`[payload-mcp] Error updating config: ${errorMessage}`)
199
- return {
200
- content: [
201
- {
202
- type: 'text' as const,
203
- text: `❌ **Error updating config**: ${errorMessage}`,
204
- },
205
- ],
206
- }
207
- }
208
- }
209
-
210
- export const updateConfigTool = (
211
- server: McpServer,
212
- req: PayloadRequest,
213
- verboseLogs: boolean,
214
- configFilePath: string,
215
- ) => {
216
- const tool = ({
217
- adminConfig,
218
- collectionName,
219
- databaseConfig,
220
- newContent,
221
- pluginUpdates,
222
- updateType,
223
- }: {
224
- adminConfig?: any
225
- collectionName?: string
226
- databaseConfig?: any
227
- newContent?: string
228
- pluginUpdates?: any
229
- updateType: string
230
- }) => {
231
- const payload = req.payload
232
-
233
- if (verboseLogs) {
234
- payload.logger.info(`[payload-mcp] Updating config: ${updateType}`)
235
- }
236
-
237
- try {
238
- const result = updateConfig(
239
- req,
240
- verboseLogs,
241
- configFilePath,
242
- updateType,
243
- collectionName,
244
- adminConfig,
245
- databaseConfig,
246
- pluginUpdates,
247
- newContent,
248
- )
249
-
250
- if (verboseLogs) {
251
- payload.logger.info(`[payload-mcp] Config update completed for: ${updateType}`)
252
- }
253
-
254
- return result
255
- } catch (error) {
256
- const errorMessage = error instanceof Error ? error.message : 'Unknown error'
257
- payload.logger.error(`[payload-mcp] Error updating config: ${errorMessage}`)
258
-
259
- return {
260
- content: [
261
- {
262
- type: 'text' as const,
263
- text: `Error updating config: ${errorMessage}`,
264
- },
265
- ],
266
- }
267
- }
268
- }
269
-
270
- server.registerTool(
271
- 'updateConfig',
272
- {
273
- description: toolSchemas.updateConfig.description,
274
- inputSchema: toolSchemas.updateConfig.parameters.shape,
275
- },
276
- (args) => {
277
- return tool(args)
278
- },
279
- )
280
- }
@@ -1,128 +0,0 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
2
- import type { PayloadRequest, SelectType, TypedUser } from 'payload'
3
-
4
- import type { MCPPluginConfig } from '../../../types.js'
5
-
6
- import { toCamelCase } from '../../../utils/camelCase.js'
7
- import { toolSchemas } from '../schemas.js'
8
-
9
- export const findGlobalTool = (
10
- server: McpServer,
11
- req: PayloadRequest,
12
- user: TypedUser,
13
- verboseLogs: boolean,
14
- globalSlug: string,
15
- globals: MCPPluginConfig['globals'],
16
- ) => {
17
- const tool = async (
18
- depth: number = 0,
19
- locale?: string,
20
- fallbackLocale?: string,
21
- select?: string,
22
- ): Promise<{
23
- content: Array<{
24
- text: string
25
- type: 'text'
26
- }>
27
- }> => {
28
- const payload = req.payload
29
-
30
- if (verboseLogs) {
31
- payload.logger.info(
32
- `[payload-mcp] Reading global: ${globalSlug}, depth: ${depth}${locale ? `, locale: ${locale}` : ''}`,
33
- )
34
- }
35
-
36
- try {
37
- const findOptions: Parameters<typeof payload.findGlobal>[0] = {
38
- slug: globalSlug,
39
- depth,
40
- user,
41
- }
42
-
43
- let selectClause: SelectType | undefined
44
- if (select) {
45
- try {
46
- selectClause = JSON.parse(select) as SelectType
47
- } catch (_parseError) {
48
- payload.logger.warn(`[payload-mcp] Invalid select clause JSON for global: ${select}`)
49
- const response = {
50
- content: [{ type: 'text' as const, text: 'Error: Invalid JSON in select clause' }],
51
- }
52
- return (globals?.[globalSlug]?.overrideResponse?.(response, {}, req) || response) as {
53
- content: Array<{
54
- text: string
55
- type: 'text'
56
- }>
57
- }
58
- }
59
- }
60
-
61
- // Add locale parameters if provided
62
- if (locale) {
63
- findOptions.locale = locale
64
- }
65
- if (fallbackLocale) {
66
- findOptions.fallbackLocale = fallbackLocale
67
- }
68
- if (selectClause) {
69
- findOptions.select = selectClause
70
- }
71
-
72
- const result = await payload.findGlobal(findOptions)
73
-
74
- if (verboseLogs) {
75
- payload.logger.info(`[payload-mcp] Found global: ${globalSlug}`)
76
- }
77
-
78
- const response = {
79
- content: [
80
- {
81
- type: 'text' as const,
82
- text: `Global "${globalSlug}":
83
- \`\`\`json
84
- ${JSON.stringify(result)}
85
- \`\`\``,
86
- },
87
- ],
88
- }
89
-
90
- return (globals?.[globalSlug]?.overrideResponse?.(response, result, req) || response) as {
91
- content: Array<{
92
- text: string
93
- type: 'text'
94
- }>
95
- }
96
- } catch (error) {
97
- const errorMessage = error instanceof Error ? error.message : 'Unknown error'
98
- payload.logger.error(`[payload-mcp] Error reading global ${globalSlug}: ${errorMessage}`)
99
- const response = {
100
- content: [
101
- {
102
- type: 'text' as const,
103
- text: `❌ **Error reading global "${globalSlug}":** ${errorMessage}`,
104
- },
105
- ],
106
- }
107
- return (globals?.[globalSlug]?.overrideResponse?.(response, {}, req) || response) as {
108
- content: Array<{
109
- text: string
110
- type: 'text'
111
- }>
112
- }
113
- }
114
- }
115
-
116
- if (globals?.[globalSlug]?.enabled) {
117
- server.registerTool(
118
- `find${globalSlug.charAt(0).toUpperCase() + toCamelCase(globalSlug).slice(1)}`,
119
- {
120
- description: `${toolSchemas.findGlobal.description.trim()}\n\n${globals?.[globalSlug]?.description || ''}`,
121
- inputSchema: toolSchemas.findGlobal.parameters.shape,
122
- },
123
- async ({ depth, fallbackLocale, locale, select }) => {
124
- return await tool(depth, locale, fallbackLocale, select)
125
- },
126
- )
127
- }
128
- }
@@ -1,207 +0,0 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
2
- import type { JSONSchema4 } from 'json-schema'
3
- import type { PayloadRequest, SelectType, TypedUser } from 'payload'
4
-
5
- import { z } from 'zod'
6
-
7
- import type { MCPPluginConfig } from '../../../types.js'
8
-
9
- import { toCamelCase } from '../../../utils/camelCase.js'
10
- import {
11
- getGlobalVirtualFieldNames,
12
- stripVirtualFields,
13
- } from '../../../utils/getVirtualFieldNames.js'
14
- import { convertCollectionSchemaToZod } from '../../../utils/schemaConversion/convertCollectionSchemaToZod.js'
15
- import { toolSchemas } from '../schemas.js'
16
-
17
- export const updateGlobalTool = (
18
- server: McpServer,
19
- req: PayloadRequest,
20
- user: TypedUser,
21
- verboseLogs: boolean,
22
- globalSlug: string,
23
- globals: MCPPluginConfig['globals'],
24
- schema: JSONSchema4,
25
- ) => {
26
- const tool = async (
27
- data: string,
28
- draft: boolean = false,
29
- depth: number = 0,
30
- locale?: string,
31
- fallbackLocale?: string,
32
- select?: string,
33
- ): Promise<{
34
- content: Array<{
35
- text: string
36
- type: 'text'
37
- }>
38
- }> => {
39
- const payload = req.payload
40
-
41
- if (verboseLogs) {
42
- payload.logger.info(
43
- `[payload-mcp] Updating global: ${globalSlug}, draft: ${draft}${locale ? `, locale: ${locale}` : ''}`,
44
- )
45
- }
46
-
47
- try {
48
- // Parse the data JSON
49
- let parsedData: Record<string, unknown>
50
- try {
51
- parsedData = JSON.parse(data)
52
-
53
- const virtualFieldNames = getGlobalVirtualFieldNames(payload.config, globalSlug)
54
- parsedData = stripVirtualFields(parsedData, virtualFieldNames)
55
-
56
- if (verboseLogs) {
57
- payload.logger.info(
58
- `[payload-mcp] Parsed data for ${globalSlug}: ${JSON.stringify(parsedData)}`,
59
- )
60
- }
61
- } catch (_parseError) {
62
- payload.logger.error(`[payload-mcp] Invalid JSON data provided: ${data}`)
63
- const response = {
64
- content: [{ type: 'text' as const, text: 'Error: Invalid JSON data provided' }],
65
- }
66
- return (globals?.[globalSlug]?.overrideResponse?.(response, {}, req) || response) as {
67
- content: Array<{
68
- text: string
69
- type: 'text'
70
- }>
71
- }
72
- }
73
-
74
- let selectClause: SelectType | undefined
75
- if (select) {
76
- try {
77
- selectClause = JSON.parse(select) as SelectType
78
- } catch (_parseError) {
79
- payload.logger.warn(`[payload-mcp] Invalid select clause JSON for global: ${select}`)
80
- const response = {
81
- content: [{ type: 'text' as const, text: 'Error: Invalid JSON in select clause' }],
82
- }
83
- return (globals?.[globalSlug]?.overrideResponse?.(response, {}, req) || response) as {
84
- content: Array<{
85
- text: string
86
- type: 'text'
87
- }>
88
- }
89
- }
90
- }
91
-
92
- const updateOptions: Parameters<typeof payload.updateGlobal>[0] = {
93
- slug: globalSlug,
94
- data: parsedData,
95
- depth,
96
- draft,
97
- user,
98
- }
99
-
100
- // Add locale parameters if provided
101
- if (locale) {
102
- updateOptions.locale = locale
103
- }
104
- if (fallbackLocale) {
105
- updateOptions.fallbackLocale = fallbackLocale
106
- }
107
- if (selectClause) {
108
- updateOptions.select = selectClause
109
- }
110
-
111
- const result = await payload.updateGlobal(updateOptions)
112
-
113
- if (verboseLogs) {
114
- payload.logger.info(`[payload-mcp] Successfully updated global: ${globalSlug}`)
115
- }
116
-
117
- const response = {
118
- content: [
119
- {
120
- type: 'text' as const,
121
- text: `Global "${globalSlug}" updated successfully!
122
- \`\`\`json
123
- ${JSON.stringify(result)}
124
- \`\`\``,
125
- },
126
- ],
127
- }
128
-
129
- return (globals?.[globalSlug]?.overrideResponse?.(response, result, req) || response) as {
130
- content: Array<{
131
- text: string
132
- type: 'text'
133
- }>
134
- }
135
- } catch (error) {
136
- const errorMessage = error instanceof Error ? error.message : 'Unknown error'
137
- payload.logger.error(`[payload-mcp] Error updating global ${globalSlug}: ${errorMessage}`)
138
-
139
- const response = {
140
- content: [
141
- {
142
- type: 'text' as const,
143
- text: `Error updating global "${globalSlug}": ${errorMessage}`,
144
- },
145
- ],
146
- }
147
-
148
- return (globals?.[globalSlug]?.overrideResponse?.(response, {}, req) || response) as {
149
- content: Array<{
150
- text: string
151
- type: 'text'
152
- }>
153
- }
154
- }
155
- }
156
-
157
- if (globals?.[globalSlug]?.enabled) {
158
- const convertedFields = convertCollectionSchemaToZod(schema)
159
-
160
- // Make all fields optional for partial updates (PATCH-style)
161
- const optionalFields = Object.fromEntries(
162
- Object.entries(convertedFields.shape).map(([key, value]) => [key, (value as any).optional()]),
163
- )
164
-
165
- const updateGlobalSchema = z.object({
166
- ...optionalFields,
167
- depth: z.number().optional().describe('Optional: Depth of relationships to populate'),
168
- draft: z.boolean().optional().describe('Optional: Whether to save as draft (default: false)'),
169
- fallbackLocale: z
170
- .string()
171
- .optional()
172
- .describe('Optional: fallback locale code to use when requested locale is not available'),
173
- locale: z
174
- .string()
175
- .optional()
176
- .describe(
177
- 'Optional: locale code to update data in (e.g., "en", "es"). Use "all" to update all locales for localized fields',
178
- ),
179
- select: z
180
- .string()
181
- .optional()
182
- .describe(
183
- 'Optional: define exactly which fields you\'d like to return in the response (JSON), e.g., \'{"siteName": "My Site"}\'',
184
- ),
185
- })
186
-
187
- server.registerTool(
188
- `update${globalSlug.charAt(0).toUpperCase() + toCamelCase(globalSlug).slice(1)}`,
189
- {
190
- description: `${toolSchemas.updateGlobal.description.trim()}\n\n${globals?.[globalSlug]?.description || ''}`,
191
- inputSchema: updateGlobalSchema.shape,
192
- },
193
- async (params: Record<string, unknown>) => {
194
- const { depth, draft, fallbackLocale, locale, select, ...rest } = params
195
- const data = JSON.stringify(rest)
196
- return await tool(
197
- data,
198
- draft as boolean,
199
- depth as number,
200
- locale as string,
201
- fallbackLocale as string,
202
- select as string | undefined,
203
- )
204
- },
205
- )
206
- }
207
- }