@payloadcms/plugin-mcp 4.0.0-internal.d28e9fb → 4.0.0-internal.d927017

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 (432) hide show
  1. package/LICENSE.md +1 -1
  2. package/bin.js +48 -0
  3. package/dist/bin/index.d.ts +2 -0
  4. package/dist/bin/index.d.ts.map +1 -0
  5. package/dist/bin/index.js +12 -0
  6. package/dist/bin/index.js.map +1 -0
  7. package/dist/bin/initializeViteHMR.d.ts +8 -0
  8. package/dist/bin/initializeViteHMR.d.ts.map +1 -0
  9. package/dist/bin/initializeViteHMR.js +63 -0
  10. package/dist/bin/initializeViteHMR.js.map +1 -0
  11. package/dist/bin/viteConfigBoundary.d.ts +6 -0
  12. package/dist/bin/viteConfigBoundary.d.ts.map +1 -0
  13. package/dist/bin/viteConfigBoundary.js +25 -0
  14. package/dist/bin/viteConfigBoundary.js.map +1 -0
  15. package/dist/defaultAccess.d.ts +3 -0
  16. package/dist/defaultAccess.d.ts.map +1 -0
  17. package/dist/defaultAccess.js +3 -0
  18. package/dist/defaultAccess.js.map +1 -0
  19. package/dist/defineTool.d.ts +26 -0
  20. package/dist/defineTool.d.ts.map +1 -0
  21. package/dist/defineTool.js +37 -0
  22. package/dist/defineTool.js.map +1 -0
  23. package/dist/endpoint/access.d.ts +17 -0
  24. package/dist/endpoint/access.d.ts.map +1 -0
  25. package/dist/endpoint/access.js +93 -0
  26. package/dist/endpoint/access.js.map +1 -0
  27. package/dist/endpoint/index.d.ts +3 -0
  28. package/dist/endpoint/index.d.ts.map +1 -0
  29. package/dist/endpoint/index.js +87 -0
  30. package/dist/endpoint/index.js.map +1 -0
  31. package/dist/exports/client.d.ts +2 -0
  32. package/dist/exports/client.d.ts.map +1 -0
  33. package/dist/exports/client.js +4 -0
  34. package/dist/exports/client.js.map +1 -0
  35. package/dist/exports/internal.d.ts +2 -0
  36. package/dist/exports/internal.d.ts.map +1 -0
  37. package/dist/exports/internal.js +3 -0
  38. package/dist/exports/internal.js.map +1 -0
  39. package/dist/index.d.ts +6 -9
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +39 -67
  42. package/dist/index.js.map +1 -1
  43. package/dist/mcp/buildMcpServer.d.ts +19 -0
  44. package/dist/mcp/buildMcpServer.d.ts.map +1 -0
  45. package/dist/mcp/buildMcpServer.js +223 -0
  46. package/dist/mcp/buildMcpServer.js.map +1 -0
  47. package/dist/mcp/builtin/collections/authTools.d.ts +7 -0
  48. package/dist/mcp/builtin/collections/authTools.d.ts.map +1 -0
  49. package/dist/mcp/builtin/collections/authTools.js +288 -0
  50. package/dist/mcp/builtin/collections/authTools.js.map +1 -0
  51. package/dist/mcp/builtin/collections/countTool.d.ts +2 -0
  52. package/dist/mcp/builtin/collections/countTool.d.ts.map +1 -0
  53. package/dist/mcp/builtin/collections/countTool.js +68 -0
  54. package/dist/mcp/builtin/collections/countTool.js.map +1 -0
  55. package/dist/mcp/builtin/collections/countVersionsTool.d.ts +2 -0
  56. package/dist/mcp/builtin/collections/countVersionsTool.d.ts.map +1 -0
  57. package/dist/mcp/builtin/collections/countVersionsTool.js +64 -0
  58. package/dist/mcp/builtin/collections/countVersionsTool.js.map +1 -0
  59. package/dist/mcp/builtin/collections/createTool.d.ts +2 -0
  60. package/dist/mcp/builtin/collections/createTool.d.ts.map +1 -0
  61. package/dist/mcp/builtin/collections/createTool.js +86 -0
  62. package/dist/mcp/builtin/collections/createTool.js.map +1 -0
  63. package/dist/mcp/builtin/collections/deleteTool.d.ts +2 -0
  64. package/dist/mcp/builtin/collections/deleteTool.d.ts.map +1 -0
  65. package/dist/mcp/builtin/collections/deleteTool.js +110 -0
  66. package/dist/mcp/builtin/collections/deleteTool.js.map +1 -0
  67. package/dist/mcp/builtin/collections/duplicateTool.d.ts +2 -0
  68. package/dist/mcp/builtin/collections/duplicateTool.d.ts.map +1 -0
  69. package/dist/mcp/builtin/collections/duplicateTool.js +96 -0
  70. package/dist/mcp/builtin/collections/duplicateTool.js.map +1 -0
  71. package/dist/mcp/builtin/collections/findDistinctTool.d.ts +2 -0
  72. package/dist/mcp/builtin/collections/findDistinctTool.d.ts.map +1 -0
  73. package/dist/mcp/builtin/collections/findDistinctTool.js +92 -0
  74. package/dist/mcp/builtin/collections/findDistinctTool.js.map +1 -0
  75. package/dist/mcp/builtin/collections/findTool.d.ts +2 -0
  76. package/dist/mcp/builtin/collections/findTool.d.ts.map +1 -0
  77. package/dist/mcp/builtin/collections/findTool.js +164 -0
  78. package/dist/mcp/builtin/collections/findTool.js.map +1 -0
  79. package/dist/mcp/builtin/collections/findVersionByIDTool.d.ts +2 -0
  80. package/dist/mcp/builtin/collections/findVersionByIDTool.d.ts.map +1 -0
  81. package/dist/mcp/builtin/collections/findVersionByIDTool.js +83 -0
  82. package/dist/mcp/builtin/collections/findVersionByIDTool.js.map +1 -0
  83. package/dist/mcp/builtin/collections/findVersionsTool.d.ts +2 -0
  84. package/dist/mcp/builtin/collections/findVersionsTool.d.ts.map +1 -0
  85. package/dist/mcp/builtin/collections/findVersionsTool.js +98 -0
  86. package/dist/mcp/builtin/collections/findVersionsTool.js.map +1 -0
  87. package/dist/mcp/builtin/collections/formatCollectionError.d.ts +9 -0
  88. package/dist/mcp/builtin/collections/formatCollectionError.d.ts.map +1 -0
  89. package/dist/mcp/builtin/collections/formatCollectionError.js +60 -0
  90. package/dist/mcp/builtin/collections/formatCollectionError.js.map +1 -0
  91. package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts +2 -0
  92. package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts.map +1 -0
  93. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js +65 -0
  94. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js.map +1 -0
  95. package/dist/mcp/builtin/collections/restoreVersionTool.d.ts +2 -0
  96. package/dist/mcp/builtin/collections/restoreVersionTool.d.ts.map +1 -0
  97. package/dist/mcp/builtin/collections/restoreVersionTool.js +81 -0
  98. package/dist/mcp/builtin/collections/restoreVersionTool.js.map +1 -0
  99. package/dist/mcp/builtin/collections/updateTool.d.ts +2 -0
  100. package/dist/mcp/builtin/collections/updateTool.d.ts.map +1 -0
  101. package/dist/mcp/builtin/collections/updateTool.js +198 -0
  102. package/dist/mcp/builtin/collections/updateTool.js.map +1 -0
  103. package/dist/mcp/builtin/getConfigInfoTool.d.ts +2 -0
  104. package/dist/mcp/builtin/getConfigInfoTool.d.ts.map +1 -0
  105. package/dist/mcp/builtin/getConfigInfoTool.js +68 -0
  106. package/dist/mcp/builtin/getConfigInfoTool.js.map +1 -0
  107. package/dist/mcp/builtin/globals/countVersionsTool.d.ts +2 -0
  108. package/dist/mcp/builtin/globals/countVersionsTool.d.ts.map +1 -0
  109. package/dist/mcp/builtin/globals/countVersionsTool.js +64 -0
  110. package/dist/mcp/builtin/globals/countVersionsTool.js.map +1 -0
  111. package/dist/mcp/builtin/globals/findTool.d.ts +2 -0
  112. package/dist/mcp/builtin/globals/findTool.d.ts.map +1 -0
  113. package/dist/mcp/builtin/globals/findTool.js +73 -0
  114. package/dist/mcp/builtin/globals/findTool.js.map +1 -0
  115. package/dist/mcp/builtin/globals/findVersionByIDTool.d.ts +2 -0
  116. package/dist/mcp/builtin/globals/findVersionByIDTool.d.ts.map +1 -0
  117. package/dist/mcp/builtin/globals/findVersionByIDTool.js +79 -0
  118. package/dist/mcp/builtin/globals/findVersionByIDTool.js.map +1 -0
  119. package/dist/mcp/builtin/globals/findVersionsTool.d.ts +2 -0
  120. package/dist/mcp/builtin/globals/findVersionsTool.d.ts.map +1 -0
  121. package/dist/mcp/builtin/globals/findVersionsTool.js +94 -0
  122. package/dist/mcp/builtin/globals/findVersionsTool.js.map +1 -0
  123. package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts +2 -0
  124. package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts.map +1 -0
  125. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js +65 -0
  126. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js.map +1 -0
  127. package/dist/mcp/builtin/globals/restoreVersionTool.d.ts +2 -0
  128. package/dist/mcp/builtin/globals/restoreVersionTool.d.ts.map +1 -0
  129. package/dist/mcp/builtin/globals/restoreVersionTool.js +77 -0
  130. package/dist/mcp/builtin/globals/restoreVersionTool.js.map +1 -0
  131. package/dist/mcp/builtin/globals/updateTool.d.ts +2 -0
  132. package/dist/mcp/builtin/globals/updateTool.d.ts.map +1 -0
  133. package/dist/mcp/builtin/globals/updateTool.js +87 -0
  134. package/dist/mcp/builtin/globals/updateTool.js.map +1 -0
  135. package/dist/mcp/builtin/validateEntityData.d.ts +14 -0
  136. package/dist/mcp/builtin/validateEntityData.d.ts.map +1 -0
  137. package/dist/mcp/builtin/validateEntityData.js +82 -0
  138. package/dist/mcp/builtin/validateEntityData.js.map +1 -0
  139. package/dist/mcp/builtinTools.d.ts +162 -0
  140. package/dist/mcp/builtinTools.d.ts.map +1 -0
  141. package/dist/mcp/builtinTools.js +163 -0
  142. package/dist/mcp/builtinTools.js.map +1 -0
  143. package/dist/mcp/sanitizeMCPConfig.d.ts +16 -0
  144. package/dist/mcp/sanitizeMCPConfig.d.ts.map +1 -0
  145. package/dist/mcp/sanitizeMCPConfig.js +230 -0
  146. package/dist/mcp/sanitizeMCPConfig.js.map +1 -0
  147. package/dist/stdio.d.ts +9 -0
  148. package/dist/stdio.d.ts.map +1 -0
  149. package/dist/stdio.js +127 -0
  150. package/dist/stdio.js.map +1 -0
  151. package/dist/types.d.ts +256 -447
  152. package/dist/types.d.ts.map +1 -1
  153. package/dist/types.js +4 -1
  154. package/dist/types.js.map +1 -1
  155. package/dist/utils/camelCase.d.ts.map +1 -1
  156. package/dist/utils/getLogger.d.ts +10 -0
  157. package/dist/utils/getLogger.d.ts.map +1 -0
  158. package/dist/utils/getLogger.js +22 -0
  159. package/dist/utils/getLogger.js.map +1 -0
  160. package/dist/utils/getPluginConfig.d.ts +12 -0
  161. package/dist/utils/getPluginConfig.d.ts.map +1 -0
  162. package/dist/utils/getPluginConfig.js +15 -0
  163. package/dist/utils/getPluginConfig.js.map +1 -0
  164. package/dist/utils/resolveProjectRoot.d.ts +7 -0
  165. package/dist/utils/resolveProjectRoot.d.ts.map +1 -0
  166. package/dist/utils/resolveProjectRoot.js +15 -0
  167. package/dist/utils/resolveProjectRoot.js.map +1 -0
  168. package/dist/utils/schemaConversion/filterFieldsByAccess.d.ts +28 -0
  169. package/dist/utils/schemaConversion/filterFieldsByAccess.d.ts.map +1 -0
  170. package/dist/utils/schemaConversion/filterFieldsByAccess.js +71 -0
  171. package/dist/utils/schemaConversion/filterFieldsByAccess.js.map +1 -0
  172. package/dist/utils/schemaConversion/getEntityInputSchema.d.ts +13 -0
  173. package/dist/utils/schemaConversion/getEntityInputSchema.d.ts.map +1 -0
  174. package/dist/utils/schemaConversion/getEntityInputSchema.js +66 -0
  175. package/dist/utils/schemaConversion/getEntityInputSchema.js.map +1 -0
  176. package/dist/utils/schemaConversion/sanitizeEntitySchema.d.ts +10 -0
  177. package/dist/utils/schemaConversion/sanitizeEntitySchema.d.ts.map +1 -0
  178. package/dist/utils/schemaConversion/sanitizeEntitySchema.js +384 -0
  179. package/dist/utils/schemaConversion/sanitizeEntitySchema.js.map +1 -0
  180. package/dist/utils/schemaConversion/sanitizeEntitySchema.spec.js +133 -0
  181. package/dist/utils/schemaConversion/sanitizeEntitySchema.spec.js.map +1 -0
  182. package/dist/utils/toStandardSchema.d.ts +5 -0
  183. package/dist/utils/toStandardSchema.d.ts.map +1 -0
  184. package/dist/utils/toStandardSchema.js +4 -0
  185. package/dist/utils/toStandardSchema.js.map +1 -0
  186. package/dist/utils/whereSchema.d.ts +9 -0
  187. package/dist/utils/whereSchema.d.ts.map +1 -0
  188. package/dist/utils/whereSchema.js +13 -0
  189. package/dist/utils/whereSchema.js.map +1 -0
  190. package/package.json +43 -10
  191. package/src/bin/index.ts +16 -0
  192. package/src/bin/initializeViteHMR.ts +60 -0
  193. package/src/bin/viteConfigBoundary.ts +39 -0
  194. package/src/defaultAccess.ts +3 -0
  195. package/src/defineTool.ts +44 -0
  196. package/src/endpoint/access.ts +112 -0
  197. package/src/endpoint/index.ts +77 -0
  198. package/src/exports/client.ts +3 -0
  199. package/src/exports/internal.ts +1 -0
  200. package/src/index.ts +31 -89
  201. package/src/mcp/buildMcpServer.ts +284 -0
  202. package/src/mcp/builtin/collections/authTools.ts +269 -0
  203. package/src/mcp/builtin/collections/countTool.ts +73 -0
  204. package/src/mcp/builtin/collections/countVersionsTool.ts +69 -0
  205. package/src/mcp/builtin/collections/createTool.ts +117 -0
  206. package/src/mcp/builtin/collections/deleteTool.ts +125 -0
  207. package/src/mcp/builtin/collections/duplicateTool.ts +134 -0
  208. package/src/mcp/builtin/collections/findDistinctTool.ts +119 -0
  209. package/src/mcp/builtin/collections/findTool.ts +216 -0
  210. package/src/mcp/builtin/collections/findVersionByIDTool.ts +109 -0
  211. package/src/mcp/builtin/collections/findVersionsTool.ts +154 -0
  212. package/src/mcp/builtin/collections/formatCollectionError.ts +84 -0
  213. package/src/mcp/builtin/collections/getCollectionSchemaTool.ts +63 -0
  214. package/src/mcp/builtin/collections/restoreVersionTool.ts +107 -0
  215. package/src/mcp/builtin/collections/updateTool.ts +225 -0
  216. package/src/mcp/builtin/getConfigInfoTool.ts +67 -0
  217. package/src/mcp/builtin/globals/countVersionsTool.ts +68 -0
  218. package/src/mcp/builtin/globals/findTool.ts +105 -0
  219. package/src/mcp/builtin/globals/findVersionByIDTool.ts +103 -0
  220. package/src/mcp/builtin/globals/findVersionsTool.ts +147 -0
  221. package/src/mcp/builtin/globals/getGlobalSchemaTool.ts +63 -0
  222. package/src/mcp/builtin/globals/restoreVersionTool.ts +99 -0
  223. package/src/mcp/builtin/globals/updateTool.ts +115 -0
  224. package/src/mcp/builtin/validateEntityData.ts +132 -0
  225. package/src/mcp/builtinTools.ts +154 -0
  226. package/src/mcp/sanitizeMCPConfig.ts +278 -0
  227. package/src/stdio.ts +131 -0
  228. package/src/types.ts +304 -486
  229. package/src/utils/getLogger.ts +22 -0
  230. package/src/utils/getPluginConfig.ts +24 -0
  231. package/src/utils/resolveProjectRoot.ts +17 -0
  232. package/src/utils/schemaConversion/filterFieldsByAccess.ts +123 -0
  233. package/src/utils/schemaConversion/getEntityInputSchema.ts +96 -0
  234. package/src/utils/schemaConversion/sanitizeEntitySchema.spec.ts +96 -0
  235. package/src/utils/schemaConversion/sanitizeEntitySchema.ts +432 -0
  236. package/src/utils/toStandardSchema.ts +9 -0
  237. package/src/utils/whereSchema.ts +24 -0
  238. package/dist/collections/createApiKeysCollection.d.ts +0 -7
  239. package/dist/collections/createApiKeysCollection.d.ts.map +0 -1
  240. package/dist/collections/createApiKeysCollection.js +0 -317
  241. package/dist/collections/createApiKeysCollection.js.map +0 -1
  242. package/dist/defaults.d.ts +0 -4
  243. package/dist/defaults.d.ts.map +0 -1
  244. package/dist/defaults.js +0 -5
  245. package/dist/defaults.js.map +0 -1
  246. package/dist/endpoints/mcp.d.ts +0 -4
  247. package/dist/endpoints/mcp.d.ts.map +0 -1
  248. package/dist/endpoints/mcp.js +0 -71
  249. package/dist/endpoints/mcp.js.map +0 -1
  250. package/dist/mcp/createRequest.d.ts +0 -3
  251. package/dist/mcp/createRequest.d.ts.map +0 -1
  252. package/dist/mcp/createRequest.js +0 -14
  253. package/dist/mcp/createRequest.js.map +0 -1
  254. package/dist/mcp/getMcpHandler.d.ts +0 -4
  255. package/dist/mcp/getMcpHandler.d.ts.map +0 -1
  256. package/dist/mcp/getMcpHandler.js +0 -231
  257. package/dist/mcp/getMcpHandler.js.map +0 -1
  258. package/dist/mcp/helpers/config.d.ts +0 -22
  259. package/dist/mcp/helpers/config.d.ts.map +0 -1
  260. package/dist/mcp/helpers/config.js +0 -153
  261. package/dist/mcp/helpers/config.js.map +0 -1
  262. package/dist/mcp/helpers/fields.d.ts +0 -19
  263. package/dist/mcp/helpers/fields.d.ts.map +0 -1
  264. package/dist/mcp/helpers/fields.js +0 -102
  265. package/dist/mcp/helpers/fields.js.map +0 -1
  266. package/dist/mcp/helpers/fileValidation.d.ts +0 -67
  267. package/dist/mcp/helpers/fileValidation.d.ts.map +0 -1
  268. package/dist/mcp/helpers/fileValidation.js +0 -267
  269. package/dist/mcp/helpers/fileValidation.js.map +0 -1
  270. package/dist/mcp/registerTool.d.ts +0 -6
  271. package/dist/mcp/registerTool.d.ts.map +0 -1
  272. package/dist/mcp/registerTool.js +0 -18
  273. package/dist/mcp/registerTool.js.map +0 -1
  274. package/dist/mcp/tools/auth/auth.d.ts +0 -4
  275. package/dist/mcp/tools/auth/auth.d.ts.map +0 -1
  276. package/dist/mcp/tools/auth/auth.js +0 -57
  277. package/dist/mcp/tools/auth/auth.js.map +0 -1
  278. package/dist/mcp/tools/auth/forgotPassword.d.ts +0 -4
  279. package/dist/mcp/tools/auth/forgotPassword.d.ts.map +0 -1
  280. package/dist/mcp/tools/auth/forgotPassword.js +0 -48
  281. package/dist/mcp/tools/auth/forgotPassword.js.map +0 -1
  282. package/dist/mcp/tools/auth/login.d.ts +0 -4
  283. package/dist/mcp/tools/auth/login.d.ts.map +0 -1
  284. package/dist/mcp/tools/auth/login.js +0 -51
  285. package/dist/mcp/tools/auth/login.js.map +0 -1
  286. package/dist/mcp/tools/auth/resetPassword.d.ts +0 -4
  287. package/dist/mcp/tools/auth/resetPassword.d.ts.map +0 -1
  288. package/dist/mcp/tools/auth/resetPassword.js +0 -49
  289. package/dist/mcp/tools/auth/resetPassword.js.map +0 -1
  290. package/dist/mcp/tools/auth/unlock.d.ts +0 -4
  291. package/dist/mcp/tools/auth/unlock.d.ts.map +0 -1
  292. package/dist/mcp/tools/auth/unlock.js +0 -48
  293. package/dist/mcp/tools/auth/unlock.js.map +0 -1
  294. package/dist/mcp/tools/auth/verify.d.ts +0 -4
  295. package/dist/mcp/tools/auth/verify.d.ts.map +0 -1
  296. package/dist/mcp/tools/auth/verify.js +0 -45
  297. package/dist/mcp/tools/auth/verify.js.map +0 -1
  298. package/dist/mcp/tools/collection/create.d.ts +0 -10
  299. package/dist/mcp/tools/collection/create.d.ts.map +0 -1
  300. package/dist/mcp/tools/collection/create.js +0 -139
  301. package/dist/mcp/tools/collection/create.js.map +0 -1
  302. package/dist/mcp/tools/collection/delete.d.ts +0 -10
  303. package/dist/mcp/tools/collection/delete.d.ts.map +0 -1
  304. package/dist/mcp/tools/collection/delete.js +0 -154
  305. package/dist/mcp/tools/collection/delete.js.map +0 -1
  306. package/dist/mcp/tools/collection/find.d.ts +0 -10
  307. package/dist/mcp/tools/collection/find.d.ts.map +0 -1
  308. package/dist/mcp/tools/collection/find.js +0 -165
  309. package/dist/mcp/tools/collection/find.js.map +0 -1
  310. package/dist/mcp/tools/collection/update.d.ts +0 -10
  311. package/dist/mcp/tools/collection/update.d.ts.map +0 -1
  312. package/dist/mcp/tools/collection/update.js +0 -209
  313. package/dist/mcp/tools/collection/update.js.map +0 -1
  314. package/dist/mcp/tools/config/find.d.ts +0 -10
  315. package/dist/mcp/tools/config/find.d.ts.map +0 -1
  316. package/dist/mcp/tools/config/find.js +0 -97
  317. package/dist/mcp/tools/config/find.js.map +0 -1
  318. package/dist/mcp/tools/config/update.d.ts +0 -10
  319. package/dist/mcp/tools/config/update.d.ts.map +0 -1
  320. package/dist/mcp/tools/config/update.js +0 -215
  321. package/dist/mcp/tools/config/update.js.map +0 -1
  322. package/dist/mcp/tools/global/find.d.ts +0 -5
  323. package/dist/mcp/tools/global/find.d.ts.map +0 -1
  324. package/dist/mcp/tools/global/find.js +0 -82
  325. package/dist/mcp/tools/global/find.js.map +0 -1
  326. package/dist/mcp/tools/global/update.d.ts +0 -6
  327. package/dist/mcp/tools/global/update.d.ts.map +0 -1
  328. package/dist/mcp/tools/global/update.js +0 -124
  329. package/dist/mcp/tools/global/update.js.map +0 -1
  330. package/dist/mcp/tools/job/create.d.ts +0 -10
  331. package/dist/mcp/tools/job/create.d.ts.map +0 -1
  332. package/dist/mcp/tools/job/create.js +0 -293
  333. package/dist/mcp/tools/job/create.js.map +0 -1
  334. package/dist/mcp/tools/job/run.d.ts +0 -10
  335. package/dist/mcp/tools/job/run.d.ts.map +0 -1
  336. package/dist/mcp/tools/job/run.js +0 -129
  337. package/dist/mcp/tools/job/run.js.map +0 -1
  338. package/dist/mcp/tools/job/update.d.ts +0 -11
  339. package/dist/mcp/tools/job/update.d.ts.map +0 -1
  340. package/dist/mcp/tools/job/update.js +0 -186
  341. package/dist/mcp/tools/job/update.js.map +0 -1
  342. package/dist/mcp/tools/resource/create.d.ts +0 -6
  343. package/dist/mcp/tools/resource/create.d.ts.map +0 -1
  344. package/dist/mcp/tools/resource/create.js +0 -124
  345. package/dist/mcp/tools/resource/create.js.map +0 -1
  346. package/dist/mcp/tools/resource/delete.d.ts +0 -5
  347. package/dist/mcp/tools/resource/delete.d.ts.map +0 -1
  348. package/dist/mcp/tools/resource/delete.js +0 -151
  349. package/dist/mcp/tools/resource/delete.js.map +0 -1
  350. package/dist/mcp/tools/resource/find.d.ts +0 -5
  351. package/dist/mcp/tools/resource/find.d.ts.map +0 -1
  352. package/dist/mcp/tools/resource/find.js +0 -170
  353. package/dist/mcp/tools/resource/find.js.map +0 -1
  354. package/dist/mcp/tools/resource/update.d.ts +0 -6
  355. package/dist/mcp/tools/resource/update.d.ts.map +0 -1
  356. package/dist/mcp/tools/resource/update.js +0 -256
  357. package/dist/mcp/tools/resource/update.js.map +0 -1
  358. package/dist/mcp/tools/schemas.d.ts +0 -457
  359. package/dist/mcp/tools/schemas.d.ts.map +0 -1
  360. package/dist/mcp/tools/schemas.js +0 -243
  361. package/dist/mcp/tools/schemas.js.map +0 -1
  362. package/dist/utils/adminEntitySettings.d.ts +0 -17
  363. package/dist/utils/adminEntitySettings.d.ts.map +0 -1
  364. package/dist/utils/adminEntitySettings.js +0 -41
  365. package/dist/utils/adminEntitySettings.js.map +0 -1
  366. package/dist/utils/createApiKeyFields.d.ts +0 -15
  367. package/dist/utils/createApiKeyFields.d.ts.map +0 -1
  368. package/dist/utils/createApiKeyFields.js +0 -57
  369. package/dist/utils/createApiKeyFields.js.map +0 -1
  370. package/dist/utils/getEnabledSlugs.d.ts +0 -13
  371. package/dist/utils/getEnabledSlugs.d.ts.map +0 -1
  372. package/dist/utils/getEnabledSlugs.js +0 -32
  373. package/dist/utils/getEnabledSlugs.js.map +0 -1
  374. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.d.ts +0 -3
  375. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.d.ts.map +0 -1
  376. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.js +0 -43
  377. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.js.map +0 -1
  378. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.d.ts +0 -7
  379. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.d.ts.map +0 -1
  380. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.js +0 -20
  381. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.js.map +0 -1
  382. package/dist/utils/schemaConversion/sanitizeJsonSchema.d.ts +0 -13
  383. package/dist/utils/schemaConversion/sanitizeJsonSchema.d.ts.map +0 -1
  384. package/dist/utils/schemaConversion/sanitizeJsonSchema.js +0 -56
  385. package/dist/utils/schemaConversion/sanitizeJsonSchema.js.map +0 -1
  386. package/dist/utils/schemaConversion/simplifyRelationshipFields.d.ts +0 -20
  387. package/dist/utils/schemaConversion/simplifyRelationshipFields.d.ts.map +0 -1
  388. package/dist/utils/schemaConversion/simplifyRelationshipFields.js +0 -53
  389. package/dist/utils/schemaConversion/simplifyRelationshipFields.js.map +0 -1
  390. package/dist/utils/schemaConversion/transformPointFields.d.ts +0 -3
  391. package/dist/utils/schemaConversion/transformPointFields.d.ts.map +0 -1
  392. package/dist/utils/schemaConversion/transformPointFields.js +0 -51
  393. package/dist/utils/schemaConversion/transformPointFields.js.map +0 -1
  394. package/src/collections/createApiKeysCollection.ts +0 -373
  395. package/src/defaults.ts +0 -3
  396. package/src/endpoints/mcp.ts +0 -91
  397. package/src/mcp/createRequest.ts +0 -13
  398. package/src/mcp/getMcpHandler.ts +0 -545
  399. package/src/mcp/helpers/config.ts +0 -213
  400. package/src/mcp/helpers/fields.ts +0 -154
  401. package/src/mcp/helpers/fileValidation.ts +0 -362
  402. package/src/mcp/registerTool.ts +0 -22
  403. package/src/mcp/tools/auth/auth.ts +0 -71
  404. package/src/mcp/tools/auth/forgotPassword.ts +0 -70
  405. package/src/mcp/tools/auth/login.ts +0 -72
  406. package/src/mcp/tools/auth/resetPassword.ts +0 -61
  407. package/src/mcp/tools/auth/unlock.ts +0 -64
  408. package/src/mcp/tools/auth/verify.ts +0 -57
  409. package/src/mcp/tools/collection/create.ts +0 -210
  410. package/src/mcp/tools/collection/delete.ts +0 -211
  411. package/src/mcp/tools/collection/find.ts +0 -224
  412. package/src/mcp/tools/collection/update.ts +0 -290
  413. package/src/mcp/tools/config/find.ts +0 -128
  414. package/src/mcp/tools/config/update.ts +0 -280
  415. package/src/mcp/tools/global/find.ts +0 -128
  416. package/src/mcp/tools/global/update.ts +0 -207
  417. package/src/mcp/tools/job/create.ts +0 -416
  418. package/src/mcp/tools/job/run.ts +0 -167
  419. package/src/mcp/tools/job/update.ts +0 -274
  420. package/src/mcp/tools/resource/create.ts +0 -211
  421. package/src/mcp/tools/resource/delete.ts +0 -218
  422. package/src/mcp/tools/resource/find.ts +0 -246
  423. package/src/mcp/tools/resource/update.ts +0 -383
  424. package/src/mcp/tools/schemas.ts +0 -520
  425. package/src/utils/adminEntitySettings.ts +0 -40
  426. package/src/utils/createApiKeyFields.ts +0 -72
  427. package/src/utils/getEnabledSlugs.ts +0 -42
  428. package/src/utils/schemaConversion/convertCollectionSchemaToZod.ts +0 -52
  429. package/src/utils/schemaConversion/removeVirtualFieldsFromSchema.ts +0 -27
  430. package/src/utils/schemaConversion/sanitizeJsonSchema.ts +0 -62
  431. package/src/utils/schemaConversion/simplifyRelationshipFields.ts +0 -65
  432. package/src/utils/schemaConversion/transformPointFields.ts +0 -55
package/dist/stdio.js ADDED
@@ -0,0 +1,127 @@
1
+ /* eslint-disable no-console */ import { serveStdio } from '@modelcontextprotocol/server/stdio';
2
+ import { fileURLToPath, pathToFileURL } from 'node:url';
3
+ import { createLocalReq, getPayload } from 'payload';
4
+ import { findConfig } from 'payload/node';
5
+ import { getAuthorizedMCP } from './endpoint/access.js';
6
+ import { buildMcpServer } from './mcp/buildMcpServer.js';
7
+ import { sanitizeMCPConfig } from './mcp/sanitizeMCPConfig.js';
8
+ import { getPluginConfig } from './utils/getPluginConfig.js';
9
+ import { resolveProjectRoot } from './utils/resolveProjectRoot.js';
10
+ /**
11
+ * Starts Payload's MCP server over stdin and stdout.
12
+ *
13
+ * Set `PAYLOAD_MCP_AUTHORIZATION` to authenticate. In development,
14
+ * `PAYLOAD_MCP_OVERRIDE_ACCESS=true` skips access checks.
15
+ */ export const runMcpStdio = async (configOverride)=>{
16
+ // MCP clients may start this command from another folder. Move to the Payload
17
+ // project so findConfig() can find the config.
18
+ const projectRoot = resolveProjectRoot(fileURLToPath(import.meta.url));
19
+ if (projectRoot) {
20
+ process.chdir(projectRoot);
21
+ }
22
+ const configPath = findConfig();
23
+ const configURL = pathToFileURL(configPath).href;
24
+ const configModule = configOverride ? undefined : await import(configURL);
25
+ const config = configOverride ?? await (configModule?.default ?? configModule);
26
+ /**
27
+ * stdout is only for MCP messages. The spec says the server must not write
28
+ * logs there and may write them to stderr instead.
29
+ *
30
+ * The 2.0 client library recovers from stray stdout logs, but that behavior is not
31
+ * guaranteed. Move Payload logs to stderr so Payload does not add invalid data
32
+ * to stdout. Keep options from configurable loggers. Replace pre-built loggers
33
+ * because their output cannot be redirected.
34
+ *
35
+ * @see https://modelcontextprotocol.io/specification/2025-11-25/basic/transports#stdio
36
+ */ const loggerConfig = config;
37
+ if (loggerConfig.logger && typeof loggerConfig.logger === 'object' && 'options' in loggerConfig.logger) {
38
+ loggerConfig.logger.destination = process.stderr;
39
+ } else {
40
+ loggerConfig.logger = {
41
+ destination: process.stderr,
42
+ options: {}
43
+ };
44
+ }
45
+ const payload = await getPayload({
46
+ config,
47
+ cron: false,
48
+ disableOnInit: true
49
+ });
50
+ let pluginConfig;
51
+ try {
52
+ pluginConfig = getPluginConfig({
53
+ config: payload.config
54
+ });
55
+ } catch {
56
+ // The command also works when mcpPlugin() is not in the Payload config.
57
+ pluginConfig = sanitizeMCPConfig({
58
+ config: payload.config,
59
+ pluginConfig: {}
60
+ });
61
+ const fallbackPlugin = (config)=>config;
62
+ Object.assign(fallbackPlugin, {
63
+ slug: '@payloadcms/plugin-mcp',
64
+ sanitizedOptions: pluginConfig
65
+ });
66
+ payload.config.plugins ??= [];
67
+ payload.config.plugins.push(fallbackPlugin);
68
+ }
69
+ const overrideAccessEnv = process.env.PAYLOAD_MCP_OVERRIDE_ACCESS;
70
+ let overrideAccess = false;
71
+ if (overrideAccessEnv === 'true') {
72
+ overrideAccess = true;
73
+ } else if (overrideAccessEnv && overrideAccessEnv !== 'false') {
74
+ throw new Error('PAYLOAD_MCP_OVERRIDE_ACCESS must be "true" or "false".');
75
+ }
76
+ if (overrideAccess && process.env.NODE_ENV !== 'development') {
77
+ throw new Error('PAYLOAD_MCP_OVERRIDE_ACCESS is only available in development.');
78
+ }
79
+ const headers = new Headers();
80
+ if (process.env.PAYLOAD_MCP_AUTHORIZATION) {
81
+ headers.set('Authorization', process.env.PAYLOAD_MCP_AUTHORIZATION);
82
+ }
83
+ const req = await createLocalReq({
84
+ req: {
85
+ headers
86
+ }
87
+ }, payload);
88
+ req.payloadAPI = 'MCP';
89
+ const authorizedMCP = await getAuthorizedMCP({
90
+ overrideAccess,
91
+ req
92
+ });
93
+ const stdioServer = serveStdio(()=>buildMcpServer({
94
+ authorizedMCP,
95
+ pluginConfig,
96
+ req
97
+ }), {
98
+ onerror: (err)=>{
99
+ // MCP messages use stdout, so write SDK errors to stderr.
100
+ console.error('[payload-mcp] error serving MCP over stdio:', err);
101
+ }
102
+ });
103
+ // Close the MCP server and Payload when the client disconnects or the process stops.
104
+ let isShuttingDown = false;
105
+ const shutdown = async ()=>{
106
+ if (isShuttingDown) {
107
+ return;
108
+ }
109
+ isShuttingDown = true;
110
+ try {
111
+ await stdioServer.close();
112
+ } catch (err) {
113
+ console.error('[payload-mcp] error closing server:', err);
114
+ }
115
+ try {
116
+ await payload.destroy();
117
+ } catch (err) {
118
+ console.error('[payload-mcp] error destroying payload:', err);
119
+ }
120
+ process.exit(0);
121
+ };
122
+ process.once('SIGINT', ()=>void shutdown());
123
+ process.once('SIGTERM', ()=>void shutdown());
124
+ process.stdin.once('close', ()=>void shutdown());
125
+ };
126
+
127
+ //# sourceMappingURL=stdio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/stdio.ts"],"sourcesContent":["import type { Config, Plugin, SanitizedConfig } from 'payload'\n\n/* eslint-disable no-console */\nimport { serveStdio } from '@modelcontextprotocol/server/stdio'\nimport { fileURLToPath, pathToFileURL } from 'node:url'\nimport { createLocalReq, getPayload } from 'payload'\nimport { findConfig } from 'payload/node'\n\nimport type { SanitizedMCPPluginConfig } from './types.js'\n\nimport { getAuthorizedMCP } from './endpoint/access.js'\nimport { buildMcpServer } from './mcp/buildMcpServer.js'\nimport { sanitizeMCPConfig } from './mcp/sanitizeMCPConfig.js'\nimport { getPluginConfig } from './utils/getPluginConfig.js'\nimport { resolveProjectRoot } from './utils/resolveProjectRoot.js'\n\n/**\n * Starts Payload's MCP server over stdin and stdout.\n *\n * Set `PAYLOAD_MCP_AUTHORIZATION` to authenticate. In development,\n * `PAYLOAD_MCP_OVERRIDE_ACCESS=true` skips access checks.\n */\nexport const runMcpStdio = async (configOverride?: SanitizedConfig): Promise<void> => {\n // MCP clients may start this command from another folder. Move to the Payload\n // project so findConfig() can find the config.\n const projectRoot = resolveProjectRoot(fileURLToPath(import.meta.url))\n if (projectRoot) {\n process.chdir(projectRoot)\n }\n\n const configPath = findConfig()\n const configURL = pathToFileURL(configPath).href\n const configModule = configOverride ? undefined : await import(configURL)\n const config: SanitizedConfig = configOverride ?? (await (configModule?.default ?? configModule))\n\n /**\n * stdout is only for MCP messages. The spec says the server must not write\n * logs there and may write them to stderr instead.\n *\n * The 2.0 client library recovers from stray stdout logs, but that behavior is not\n * guaranteed. Move Payload logs to stderr so Payload does not add invalid data\n * to stdout. Keep options from configurable loggers. Replace pre-built loggers\n * because their output cannot be redirected.\n *\n * @see https://modelcontextprotocol.io/specification/2025-11-25/basic/transports#stdio\n */\n const loggerConfig: { logger?: Config['logger'] } = config\n if (\n loggerConfig.logger &&\n typeof loggerConfig.logger === 'object' &&\n 'options' in loggerConfig.logger\n ) {\n loggerConfig.logger.destination = process.stderr\n } else {\n loggerConfig.logger = { destination: process.stderr, options: {} }\n }\n\n const payload = await getPayload({ config, cron: false, disableOnInit: true })\n\n let pluginConfig: SanitizedMCPPluginConfig\n try {\n pluginConfig = getPluginConfig({ config: payload.config })\n } catch {\n // The command also works when mcpPlugin() is not in the Payload config.\n pluginConfig = sanitizeMCPConfig({ config: payload.config, pluginConfig: {} })\n\n const fallbackPlugin: Plugin = (config) => config\n Object.assign(fallbackPlugin, {\n slug: '@payloadcms/plugin-mcp',\n sanitizedOptions: pluginConfig,\n })\n payload.config.plugins ??= []\n payload.config.plugins.push(fallbackPlugin)\n }\n\n const overrideAccessEnv = process.env.PAYLOAD_MCP_OVERRIDE_ACCESS\n let overrideAccess = false\n\n if (overrideAccessEnv === 'true') {\n overrideAccess = true\n } else if (overrideAccessEnv && overrideAccessEnv !== 'false') {\n throw new Error('PAYLOAD_MCP_OVERRIDE_ACCESS must be \"true\" or \"false\".')\n }\n\n if (overrideAccess && process.env.NODE_ENV !== 'development') {\n throw new Error('PAYLOAD_MCP_OVERRIDE_ACCESS is only available in development.')\n }\n\n const headers = new Headers()\n if (process.env.PAYLOAD_MCP_AUTHORIZATION) {\n headers.set('Authorization', process.env.PAYLOAD_MCP_AUTHORIZATION)\n }\n\n const req = await createLocalReq({ req: { headers } }, payload)\n req.payloadAPI = 'MCP' as const\n const authorizedMCP = await getAuthorizedMCP({ overrideAccess, req })\n\n const stdioServer = serveStdio(() => buildMcpServer({ authorizedMCP, pluginConfig, req }), {\n onerror: (err) => {\n // MCP messages use stdout, so write SDK errors to stderr.\n console.error('[payload-mcp] error serving MCP over stdio:', err)\n },\n })\n\n // Close the MCP server and Payload when the client disconnects or the process stops.\n let isShuttingDown = false\n const shutdown = async () => {\n if (isShuttingDown) {\n return\n }\n isShuttingDown = true\n\n try {\n await stdioServer.close()\n } catch (err) {\n console.error('[payload-mcp] error closing server:', err)\n }\n\n try {\n await payload.destroy()\n } catch (err) {\n console.error('[payload-mcp] error destroying payload:', err)\n }\n\n process.exit(0)\n }\n\n process.once('SIGINT', () => void shutdown())\n process.once('SIGTERM', () => void shutdown())\n process.stdin.once('close', () => void shutdown())\n}\n"],"names":["serveStdio","fileURLToPath","pathToFileURL","createLocalReq","getPayload","findConfig","getAuthorizedMCP","buildMcpServer","sanitizeMCPConfig","getPluginConfig","resolveProjectRoot","runMcpStdio","configOverride","projectRoot","url","process","chdir","configPath","configURL","href","configModule","undefined","config","default","loggerConfig","logger","destination","stderr","options","payload","cron","disableOnInit","pluginConfig","fallbackPlugin","Object","assign","slug","sanitizedOptions","plugins","push","overrideAccessEnv","env","PAYLOAD_MCP_OVERRIDE_ACCESS","overrideAccess","Error","NODE_ENV","headers","Headers","PAYLOAD_MCP_AUTHORIZATION","set","req","payloadAPI","authorizedMCP","stdioServer","onerror","err","console","error","isShuttingDown","shutdown","close","destroy","exit","once","stdin"],"mappings":"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"}