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

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 (414) hide show
  1. package/LICENSE.md +1 -1
  2. package/bin.js +39 -0
  3. package/dist/defaultAccess.d.ts +3 -0
  4. package/dist/defaultAccess.d.ts.map +1 -0
  5. package/dist/defaultAccess.js +3 -0
  6. package/dist/defaultAccess.js.map +1 -0
  7. package/dist/defineTool.d.ts +26 -0
  8. package/dist/defineTool.d.ts.map +1 -0
  9. package/dist/defineTool.js +37 -0
  10. package/dist/defineTool.js.map +1 -0
  11. package/dist/endpoint/access.d.ts +17 -0
  12. package/dist/endpoint/access.d.ts.map +1 -0
  13. package/dist/endpoint/access.js +105 -0
  14. package/dist/endpoint/access.js.map +1 -0
  15. package/dist/endpoint/index.d.ts +3 -0
  16. package/dist/endpoint/index.d.ts.map +1 -0
  17. package/dist/endpoint/index.js +129 -0
  18. package/dist/endpoint/index.js.map +1 -0
  19. package/dist/endpoint/oauth.d.ts +35 -0
  20. package/dist/endpoint/oauth.d.ts.map +1 -0
  21. package/dist/endpoint/oauth.js +87 -0
  22. package/dist/endpoint/oauth.js.map +1 -0
  23. package/dist/exports/client.d.ts +2 -0
  24. package/dist/exports/client.d.ts.map +1 -0
  25. package/dist/exports/client.js +4 -0
  26. package/dist/exports/client.js.map +1 -0
  27. package/dist/exports/internal.d.ts +2 -0
  28. package/dist/exports/internal.d.ts.map +1 -0
  29. package/dist/exports/internal.js +3 -0
  30. package/dist/exports/internal.js.map +1 -0
  31. package/dist/index.d.ts +14 -9
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +50 -67
  34. package/dist/index.js.map +1 -1
  35. package/dist/mcp/buildMcpServer.d.ts +19 -0
  36. package/dist/mcp/buildMcpServer.d.ts.map +1 -0
  37. package/dist/mcp/buildMcpServer.js +235 -0
  38. package/dist/mcp/buildMcpServer.js.map +1 -0
  39. package/dist/mcp/builtin/collections/authTools.d.ts +7 -0
  40. package/dist/mcp/builtin/collections/authTools.d.ts.map +1 -0
  41. package/dist/mcp/builtin/collections/authTools.js +312 -0
  42. package/dist/mcp/builtin/collections/authTools.js.map +1 -0
  43. package/dist/mcp/builtin/collections/countTool.d.ts +2 -0
  44. package/dist/mcp/builtin/collections/countTool.d.ts.map +1 -0
  45. package/dist/mcp/builtin/collections/countTool.js +63 -0
  46. package/dist/mcp/builtin/collections/countTool.js.map +1 -0
  47. package/dist/mcp/builtin/collections/countVersionsTool.d.ts +2 -0
  48. package/dist/mcp/builtin/collections/countVersionsTool.d.ts.map +1 -0
  49. package/dist/mcp/builtin/collections/countVersionsTool.js +60 -0
  50. package/dist/mcp/builtin/collections/countVersionsTool.js.map +1 -0
  51. package/dist/mcp/builtin/collections/createTool.d.ts +2 -0
  52. package/dist/mcp/builtin/collections/createTool.d.ts.map +1 -0
  53. package/dist/mcp/builtin/collections/createTool.js +137 -0
  54. package/dist/mcp/builtin/collections/createTool.js.map +1 -0
  55. package/dist/mcp/builtin/collections/deleteTool.d.ts +2 -0
  56. package/dist/mcp/builtin/collections/deleteTool.d.ts.map +1 -0
  57. package/dist/mcp/builtin/collections/deleteTool.js +111 -0
  58. package/dist/mcp/builtin/collections/deleteTool.js.map +1 -0
  59. package/dist/mcp/builtin/collections/duplicateTool.d.ts +2 -0
  60. package/dist/mcp/builtin/collections/duplicateTool.d.ts.map +1 -0
  61. package/dist/mcp/builtin/collections/duplicateTool.js +90 -0
  62. package/dist/mcp/builtin/collections/duplicateTool.js.map +1 -0
  63. package/dist/mcp/builtin/collections/fileInput.d.ts +28 -0
  64. package/dist/mcp/builtin/collections/fileInput.d.ts.map +1 -0
  65. package/dist/mcp/builtin/collections/fileInput.js +88 -0
  66. package/dist/mcp/builtin/collections/fileInput.js.map +1 -0
  67. package/dist/mcp/builtin/collections/findDistinctTool.d.ts +2 -0
  68. package/dist/mcp/builtin/collections/findDistinctTool.d.ts.map +1 -0
  69. package/dist/mcp/builtin/collections/findDistinctTool.js +77 -0
  70. package/dist/mcp/builtin/collections/findDistinctTool.js.map +1 -0
  71. package/dist/mcp/builtin/collections/findTool.d.ts +2 -0
  72. package/dist/mcp/builtin/collections/findTool.d.ts.map +1 -0
  73. package/dist/mcp/builtin/collections/findTool.js +146 -0
  74. package/dist/mcp/builtin/collections/findTool.js.map +1 -0
  75. package/dist/mcp/builtin/collections/findVersionByIDTool.d.ts +2 -0
  76. package/dist/mcp/builtin/collections/findVersionByIDTool.d.ts.map +1 -0
  77. package/dist/mcp/builtin/collections/findVersionByIDTool.js +74 -0
  78. package/dist/mcp/builtin/collections/findVersionByIDTool.js.map +1 -0
  79. package/dist/mcp/builtin/collections/findVersionsTool.d.ts +2 -0
  80. package/dist/mcp/builtin/collections/findVersionsTool.d.ts.map +1 -0
  81. package/dist/mcp/builtin/collections/findVersionsTool.js +84 -0
  82. package/dist/mcp/builtin/collections/findVersionsTool.js.map +1 -0
  83. package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts +2 -0
  84. package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts.map +1 -0
  85. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js +103 -0
  86. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js.map +1 -0
  87. package/dist/mcp/builtin/collections/restoreVersionTool.d.ts +2 -0
  88. package/dist/mcp/builtin/collections/restoreVersionTool.d.ts.map +1 -0
  89. package/dist/mcp/builtin/collections/restoreVersionTool.js +69 -0
  90. package/dist/mcp/builtin/collections/restoreVersionTool.js.map +1 -0
  91. package/dist/mcp/builtin/collections/updateTool.d.ts +2 -0
  92. package/dist/mcp/builtin/collections/updateTool.d.ts.map +1 -0
  93. package/dist/mcp/builtin/collections/updateTool.js +172 -0
  94. package/dist/mcp/builtin/collections/updateTool.js.map +1 -0
  95. package/dist/mcp/builtin/collections/uploadInstructionsTool.d.ts +2 -0
  96. package/dist/mcp/builtin/collections/uploadInstructionsTool.d.ts.map +1 -0
  97. package/dist/mcp/builtin/collections/uploadInstructionsTool.js +55 -0
  98. package/dist/mcp/builtin/collections/uploadInstructionsTool.js.map +1 -0
  99. package/dist/mcp/builtin/formatEntityError.d.ts +16 -0
  100. package/dist/mcp/builtin/formatEntityError.d.ts.map +1 -0
  101. package/dist/mcp/builtin/formatEntityError.js +55 -0
  102. package/dist/mcp/builtin/formatEntityError.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 +69 -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 +60 -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 +67 -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 +68 -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 +78 -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 +81 -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 +70 -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 +78 -0
  134. package/dist/mcp/builtin/globals/updateTool.js.map +1 -0
  135. package/dist/mcp/builtinTools.d.ts +168 -0
  136. package/dist/mcp/builtinTools.d.ts.map +1 -0
  137. package/dist/mcp/builtinTools.js +169 -0
  138. package/dist/mcp/builtinTools.js.map +1 -0
  139. package/dist/mcp/sanitizeMCPConfig.d.ts +16 -0
  140. package/dist/mcp/sanitizeMCPConfig.d.ts.map +1 -0
  141. package/dist/mcp/sanitizeMCPConfig.js +234 -0
  142. package/dist/mcp/sanitizeMCPConfig.js.map +1 -0
  143. package/dist/stdio.d.ts +8 -0
  144. package/dist/stdio.d.ts.map +1 -0
  145. package/dist/stdio.js +128 -0
  146. package/dist/stdio.js.map +1 -0
  147. package/dist/types.d.ts +298 -446
  148. package/dist/types.d.ts.map +1 -1
  149. package/dist/types.js +4 -1
  150. package/dist/types.js.map +1 -1
  151. package/dist/utils/getLogger.d.ts +10 -0
  152. package/dist/utils/getLogger.d.ts.map +1 -0
  153. package/dist/utils/getLogger.js +22 -0
  154. package/dist/utils/getLogger.js.map +1 -0
  155. package/dist/utils/getPluginConfig.d.ts +12 -0
  156. package/dist/utils/getPluginConfig.d.ts.map +1 -0
  157. package/dist/utils/getPluginConfig.js +15 -0
  158. package/dist/utils/getPluginConfig.js.map +1 -0
  159. package/dist/utils/resolveProjectRoot.d.ts +7 -0
  160. package/dist/utils/resolveProjectRoot.d.ts.map +1 -0
  161. package/dist/utils/resolveProjectRoot.js +15 -0
  162. package/dist/utils/resolveProjectRoot.js.map +1 -0
  163. package/dist/utils/toStandardSchema.d.ts +5 -0
  164. package/dist/utils/toStandardSchema.d.ts.map +1 -0
  165. package/dist/utils/toStandardSchema.js +4 -0
  166. package/dist/utils/toStandardSchema.js.map +1 -0
  167. package/package.json +41 -26
  168. package/src/defaultAccess.ts +3 -0
  169. package/src/defineTool.ts +44 -0
  170. package/src/endpoint/access.ts +120 -0
  171. package/src/endpoint/index.ts +115 -0
  172. package/src/endpoint/oauth.ts +90 -0
  173. package/src/exports/client.ts +3 -0
  174. package/src/exports/internal.ts +1 -0
  175. package/src/index.ts +47 -88
  176. package/src/mcp/buildMcpServer.ts +294 -0
  177. package/src/mcp/builtin/collections/authTools.ts +280 -0
  178. package/src/mcp/builtin/collections/countTool.ts +61 -0
  179. package/src/mcp/builtin/collections/countVersionsTool.ts +60 -0
  180. package/src/mcp/builtin/collections/createTool.ts +143 -0
  181. package/src/mcp/builtin/collections/deleteTool.ts +97 -0
  182. package/src/mcp/builtin/collections/duplicateTool.ts +84 -0
  183. package/src/mcp/builtin/collections/fileInput.spec.ts +93 -0
  184. package/src/mcp/builtin/collections/fileInput.ts +127 -0
  185. package/src/mcp/builtin/collections/findDistinctTool.ts +67 -0
  186. package/src/mcp/builtin/collections/findTool.ts +134 -0
  187. package/src/mcp/builtin/collections/findVersionByIDTool.ts +66 -0
  188. package/src/mcp/builtin/collections/findVersionsTool.ts +83 -0
  189. package/src/mcp/builtin/collections/getCollectionSchemaTool.ts +91 -0
  190. package/src/mcp/builtin/collections/restoreVersionTool.ts +65 -0
  191. package/src/mcp/builtin/collections/updateTool.ts +173 -0
  192. package/src/mcp/builtin/collections/uploadInstructionsTool.ts +64 -0
  193. package/src/mcp/builtin/formatEntityError.ts +77 -0
  194. package/src/mcp/builtin/getConfigInfoTool.ts +68 -0
  195. package/src/mcp/builtin/globals/countVersionsTool.ts +60 -0
  196. package/src/mcp/builtin/globals/findTool.ts +66 -0
  197. package/src/mcp/builtin/globals/findVersionByIDTool.ts +64 -0
  198. package/src/mcp/builtin/globals/findVersionsTool.ts +69 -0
  199. package/src/mcp/builtin/globals/getGlobalSchemaTool.ts +73 -0
  200. package/src/mcp/builtin/globals/restoreVersionTool.ts +68 -0
  201. package/src/mcp/builtin/globals/updateTool.ts +92 -0
  202. package/src/mcp/builtinTools.ts +161 -0
  203. package/src/mcp/sanitizeMCPConfig.ts +282 -0
  204. package/src/stdio.ts +131 -0
  205. package/src/types.ts +346 -486
  206. package/src/utils/getLogger.ts +22 -0
  207. package/src/utils/getPluginConfig.ts +24 -0
  208. package/src/utils/resolveProjectRoot.ts +17 -0
  209. package/src/utils/toStandardSchema.ts +9 -0
  210. package/dist/collections/createApiKeysCollection.d.ts +0 -7
  211. package/dist/collections/createApiKeysCollection.d.ts.map +0 -1
  212. package/dist/collections/createApiKeysCollection.js +0 -317
  213. package/dist/collections/createApiKeysCollection.js.map +0 -1
  214. package/dist/defaults.d.ts +0 -4
  215. package/dist/defaults.d.ts.map +0 -1
  216. package/dist/defaults.js +0 -5
  217. package/dist/defaults.js.map +0 -1
  218. package/dist/endpoints/mcp.d.ts +0 -4
  219. package/dist/endpoints/mcp.d.ts.map +0 -1
  220. package/dist/endpoints/mcp.js +0 -71
  221. package/dist/endpoints/mcp.js.map +0 -1
  222. package/dist/mcp/createRequest.d.ts +0 -3
  223. package/dist/mcp/createRequest.d.ts.map +0 -1
  224. package/dist/mcp/createRequest.js +0 -14
  225. package/dist/mcp/createRequest.js.map +0 -1
  226. package/dist/mcp/getMcpHandler.d.ts +0 -4
  227. package/dist/mcp/getMcpHandler.d.ts.map +0 -1
  228. package/dist/mcp/getMcpHandler.js +0 -231
  229. package/dist/mcp/getMcpHandler.js.map +0 -1
  230. package/dist/mcp/helpers/config.d.ts +0 -22
  231. package/dist/mcp/helpers/config.d.ts.map +0 -1
  232. package/dist/mcp/helpers/config.js +0 -153
  233. package/dist/mcp/helpers/config.js.map +0 -1
  234. package/dist/mcp/helpers/fields.d.ts +0 -19
  235. package/dist/mcp/helpers/fields.d.ts.map +0 -1
  236. package/dist/mcp/helpers/fields.js +0 -102
  237. package/dist/mcp/helpers/fields.js.map +0 -1
  238. package/dist/mcp/helpers/fileValidation.d.ts +0 -67
  239. package/dist/mcp/helpers/fileValidation.d.ts.map +0 -1
  240. package/dist/mcp/helpers/fileValidation.js +0 -267
  241. package/dist/mcp/helpers/fileValidation.js.map +0 -1
  242. package/dist/mcp/registerTool.d.ts +0 -6
  243. package/dist/mcp/registerTool.d.ts.map +0 -1
  244. package/dist/mcp/registerTool.js +0 -18
  245. package/dist/mcp/registerTool.js.map +0 -1
  246. package/dist/mcp/tools/auth/auth.d.ts +0 -4
  247. package/dist/mcp/tools/auth/auth.d.ts.map +0 -1
  248. package/dist/mcp/tools/auth/auth.js +0 -57
  249. package/dist/mcp/tools/auth/auth.js.map +0 -1
  250. package/dist/mcp/tools/auth/forgotPassword.d.ts +0 -4
  251. package/dist/mcp/tools/auth/forgotPassword.d.ts.map +0 -1
  252. package/dist/mcp/tools/auth/forgotPassword.js +0 -48
  253. package/dist/mcp/tools/auth/forgotPassword.js.map +0 -1
  254. package/dist/mcp/tools/auth/login.d.ts +0 -4
  255. package/dist/mcp/tools/auth/login.d.ts.map +0 -1
  256. package/dist/mcp/tools/auth/login.js +0 -51
  257. package/dist/mcp/tools/auth/login.js.map +0 -1
  258. package/dist/mcp/tools/auth/resetPassword.d.ts +0 -4
  259. package/dist/mcp/tools/auth/resetPassword.d.ts.map +0 -1
  260. package/dist/mcp/tools/auth/resetPassword.js +0 -49
  261. package/dist/mcp/tools/auth/resetPassword.js.map +0 -1
  262. package/dist/mcp/tools/auth/unlock.d.ts +0 -4
  263. package/dist/mcp/tools/auth/unlock.d.ts.map +0 -1
  264. package/dist/mcp/tools/auth/unlock.js +0 -48
  265. package/dist/mcp/tools/auth/unlock.js.map +0 -1
  266. package/dist/mcp/tools/auth/verify.d.ts +0 -4
  267. package/dist/mcp/tools/auth/verify.d.ts.map +0 -1
  268. package/dist/mcp/tools/auth/verify.js +0 -45
  269. package/dist/mcp/tools/auth/verify.js.map +0 -1
  270. package/dist/mcp/tools/collection/create.d.ts +0 -10
  271. package/dist/mcp/tools/collection/create.d.ts.map +0 -1
  272. package/dist/mcp/tools/collection/create.js +0 -139
  273. package/dist/mcp/tools/collection/create.js.map +0 -1
  274. package/dist/mcp/tools/collection/delete.d.ts +0 -10
  275. package/dist/mcp/tools/collection/delete.d.ts.map +0 -1
  276. package/dist/mcp/tools/collection/delete.js +0 -154
  277. package/dist/mcp/tools/collection/delete.js.map +0 -1
  278. package/dist/mcp/tools/collection/find.d.ts +0 -10
  279. package/dist/mcp/tools/collection/find.d.ts.map +0 -1
  280. package/dist/mcp/tools/collection/find.js +0 -165
  281. package/dist/mcp/tools/collection/find.js.map +0 -1
  282. package/dist/mcp/tools/collection/update.d.ts +0 -10
  283. package/dist/mcp/tools/collection/update.d.ts.map +0 -1
  284. package/dist/mcp/tools/collection/update.js +0 -209
  285. package/dist/mcp/tools/collection/update.js.map +0 -1
  286. package/dist/mcp/tools/config/find.d.ts +0 -10
  287. package/dist/mcp/tools/config/find.d.ts.map +0 -1
  288. package/dist/mcp/tools/config/find.js +0 -97
  289. package/dist/mcp/tools/config/find.js.map +0 -1
  290. package/dist/mcp/tools/config/update.d.ts +0 -10
  291. package/dist/mcp/tools/config/update.d.ts.map +0 -1
  292. package/dist/mcp/tools/config/update.js +0 -215
  293. package/dist/mcp/tools/config/update.js.map +0 -1
  294. package/dist/mcp/tools/global/find.d.ts +0 -5
  295. package/dist/mcp/tools/global/find.d.ts.map +0 -1
  296. package/dist/mcp/tools/global/find.js +0 -82
  297. package/dist/mcp/tools/global/find.js.map +0 -1
  298. package/dist/mcp/tools/global/update.d.ts +0 -6
  299. package/dist/mcp/tools/global/update.d.ts.map +0 -1
  300. package/dist/mcp/tools/global/update.js +0 -124
  301. package/dist/mcp/tools/global/update.js.map +0 -1
  302. package/dist/mcp/tools/job/create.d.ts +0 -10
  303. package/dist/mcp/tools/job/create.d.ts.map +0 -1
  304. package/dist/mcp/tools/job/create.js +0 -293
  305. package/dist/mcp/tools/job/create.js.map +0 -1
  306. package/dist/mcp/tools/job/run.d.ts +0 -10
  307. package/dist/mcp/tools/job/run.d.ts.map +0 -1
  308. package/dist/mcp/tools/job/run.js +0 -129
  309. package/dist/mcp/tools/job/run.js.map +0 -1
  310. package/dist/mcp/tools/job/update.d.ts +0 -11
  311. package/dist/mcp/tools/job/update.d.ts.map +0 -1
  312. package/dist/mcp/tools/job/update.js +0 -186
  313. package/dist/mcp/tools/job/update.js.map +0 -1
  314. package/dist/mcp/tools/resource/create.d.ts +0 -6
  315. package/dist/mcp/tools/resource/create.d.ts.map +0 -1
  316. package/dist/mcp/tools/resource/create.js +0 -124
  317. package/dist/mcp/tools/resource/create.js.map +0 -1
  318. package/dist/mcp/tools/resource/delete.d.ts +0 -5
  319. package/dist/mcp/tools/resource/delete.d.ts.map +0 -1
  320. package/dist/mcp/tools/resource/delete.js +0 -151
  321. package/dist/mcp/tools/resource/delete.js.map +0 -1
  322. package/dist/mcp/tools/resource/find.d.ts +0 -5
  323. package/dist/mcp/tools/resource/find.d.ts.map +0 -1
  324. package/dist/mcp/tools/resource/find.js +0 -170
  325. package/dist/mcp/tools/resource/find.js.map +0 -1
  326. package/dist/mcp/tools/resource/update.d.ts +0 -6
  327. package/dist/mcp/tools/resource/update.d.ts.map +0 -1
  328. package/dist/mcp/tools/resource/update.js +0 -256
  329. package/dist/mcp/tools/resource/update.js.map +0 -1
  330. package/dist/mcp/tools/schemas.d.ts +0 -457
  331. package/dist/mcp/tools/schemas.d.ts.map +0 -1
  332. package/dist/mcp/tools/schemas.js +0 -243
  333. package/dist/mcp/tools/schemas.js.map +0 -1
  334. package/dist/utils/adminEntitySettings.d.ts +0 -17
  335. package/dist/utils/adminEntitySettings.d.ts.map +0 -1
  336. package/dist/utils/adminEntitySettings.js +0 -41
  337. package/dist/utils/adminEntitySettings.js.map +0 -1
  338. package/dist/utils/createApiKeyFields.d.ts +0 -15
  339. package/dist/utils/createApiKeyFields.d.ts.map +0 -1
  340. package/dist/utils/createApiKeyFields.js +0 -57
  341. package/dist/utils/createApiKeyFields.js.map +0 -1
  342. package/dist/utils/getEnabledSlugs.d.ts +0 -13
  343. package/dist/utils/getEnabledSlugs.d.ts.map +0 -1
  344. package/dist/utils/getEnabledSlugs.js +0 -32
  345. package/dist/utils/getEnabledSlugs.js.map +0 -1
  346. package/dist/utils/getVirtualFieldNames.d.ts +0 -14
  347. package/dist/utils/getVirtualFieldNames.d.ts.map +0 -1
  348. package/dist/utils/getVirtualFieldNames.js +0 -35
  349. package/dist/utils/getVirtualFieldNames.js.map +0 -1
  350. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.d.ts +0 -3
  351. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.d.ts.map +0 -1
  352. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.js +0 -43
  353. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.js.map +0 -1
  354. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.d.ts +0 -7
  355. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.d.ts.map +0 -1
  356. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.js +0 -20
  357. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.js.map +0 -1
  358. package/dist/utils/schemaConversion/sanitizeJsonSchema.d.ts +0 -13
  359. package/dist/utils/schemaConversion/sanitizeJsonSchema.d.ts.map +0 -1
  360. package/dist/utils/schemaConversion/sanitizeJsonSchema.js +0 -56
  361. package/dist/utils/schemaConversion/sanitizeJsonSchema.js.map +0 -1
  362. package/dist/utils/schemaConversion/simplifyRelationshipFields.d.ts +0 -20
  363. package/dist/utils/schemaConversion/simplifyRelationshipFields.d.ts.map +0 -1
  364. package/dist/utils/schemaConversion/simplifyRelationshipFields.js +0 -53
  365. package/dist/utils/schemaConversion/simplifyRelationshipFields.js.map +0 -1
  366. package/dist/utils/schemaConversion/transformPointFields.d.ts +0 -3
  367. package/dist/utils/schemaConversion/transformPointFields.d.ts.map +0 -1
  368. package/dist/utils/schemaConversion/transformPointFields.js +0 -51
  369. package/dist/utils/schemaConversion/transformPointFields.js.map +0 -1
  370. package/dist/utils/transformPointDataToPayload.d.ts +0 -7
  371. package/dist/utils/transformPointDataToPayload.d.ts.map +0 -1
  372. package/dist/utils/transformPointDataToPayload.js +0 -28
  373. package/dist/utils/transformPointDataToPayload.js.map +0 -1
  374. package/src/collections/createApiKeysCollection.ts +0 -373
  375. package/src/defaults.ts +0 -3
  376. package/src/endpoints/mcp.ts +0 -91
  377. package/src/mcp/createRequest.ts +0 -13
  378. package/src/mcp/getMcpHandler.ts +0 -545
  379. package/src/mcp/helpers/config.ts +0 -213
  380. package/src/mcp/helpers/fields.ts +0 -154
  381. package/src/mcp/helpers/fileValidation.ts +0 -362
  382. package/src/mcp/registerTool.ts +0 -22
  383. package/src/mcp/tools/auth/auth.ts +0 -71
  384. package/src/mcp/tools/auth/forgotPassword.ts +0 -70
  385. package/src/mcp/tools/auth/login.ts +0 -72
  386. package/src/mcp/tools/auth/resetPassword.ts +0 -61
  387. package/src/mcp/tools/auth/unlock.ts +0 -64
  388. package/src/mcp/tools/auth/verify.ts +0 -57
  389. package/src/mcp/tools/collection/create.ts +0 -210
  390. package/src/mcp/tools/collection/delete.ts +0 -211
  391. package/src/mcp/tools/collection/find.ts +0 -224
  392. package/src/mcp/tools/collection/update.ts +0 -290
  393. package/src/mcp/tools/config/find.ts +0 -128
  394. package/src/mcp/tools/config/update.ts +0 -280
  395. package/src/mcp/tools/global/find.ts +0 -128
  396. package/src/mcp/tools/global/update.ts +0 -207
  397. package/src/mcp/tools/job/create.ts +0 -416
  398. package/src/mcp/tools/job/run.ts +0 -167
  399. package/src/mcp/tools/job/update.ts +0 -274
  400. package/src/mcp/tools/resource/create.ts +0 -211
  401. package/src/mcp/tools/resource/delete.ts +0 -218
  402. package/src/mcp/tools/resource/find.ts +0 -246
  403. package/src/mcp/tools/resource/update.ts +0 -383
  404. package/src/mcp/tools/schemas.ts +0 -520
  405. package/src/utils/adminEntitySettings.ts +0 -40
  406. package/src/utils/createApiKeyFields.ts +0 -72
  407. package/src/utils/getEnabledSlugs.ts +0 -42
  408. package/src/utils/getVirtualFieldNames.ts +0 -53
  409. package/src/utils/schemaConversion/convertCollectionSchemaToZod.ts +0 -52
  410. package/src/utils/schemaConversion/removeVirtualFieldsFromSchema.ts +0 -27
  411. package/src/utils/schemaConversion/sanitizeJsonSchema.ts +0 -62
  412. package/src/utils/schemaConversion/simplifyRelationshipFields.ts +0 -65
  413. package/src/utils/schemaConversion/transformPointFields.ts +0 -55
  414. package/src/utils/transformPointDataToPayload.ts +0 -40
@@ -1,373 +0,0 @@
1
- import type { CollectionConfig, CollectionSlug } from 'payload'
2
-
3
- import type { MCPPluginConfig } from '../types.js'
4
-
5
- import { toCamelCase } from '../utils/camelCase.js'
6
- import { createApiKeyFields } from '../utils/createApiKeyFields.js'
7
-
8
- export const createAPIKeysCollection = (
9
- collections: MCPPluginConfig['collections'],
10
- globals: MCPPluginConfig['globals'],
11
- customTools: Array<{ description: string; name: string }> = [],
12
- experimentalTools: NonNullable<MCPPluginConfig['experimental']>['tools'] = {},
13
- pluginOptions: MCPPluginConfig,
14
- ): CollectionConfig => {
15
- const customToolsFields = customTools.map((tool) => {
16
- const camelCasedName = toCamelCase(tool.name)
17
- return {
18
- name: camelCasedName,
19
- type: 'checkbox' as const,
20
- admin: {
21
- description: tool.description,
22
- },
23
- defaultValue: true,
24
- label: camelCasedName,
25
- }
26
- })
27
-
28
- const customResourceFields =
29
- pluginOptions.mcp?.resources?.map((resource) => {
30
- const camelCasedName = toCamelCase(resource.name)
31
- return {
32
- name: camelCasedName,
33
- type: 'checkbox' as const,
34
- admin: {
35
- description: resource.description,
36
- },
37
- defaultValue: true,
38
- label: camelCasedName,
39
- }
40
- }) || []
41
-
42
- const customPromptFields =
43
- pluginOptions.mcp?.prompts?.map((prompt) => {
44
- const camelCasedName = toCamelCase(prompt.name)
45
- return {
46
- name: camelCasedName,
47
- type: 'checkbox' as const,
48
- admin: {
49
- description: prompt.description,
50
- },
51
- defaultValue: true,
52
- label: camelCasedName,
53
- }
54
- }) || []
55
-
56
- const userCollection = pluginOptions.userCollection
57
-
58
- return {
59
- slug: 'payload-mcp-api-keys',
60
- admin: {
61
- description:
62
- 'API keys control which collections, resources, tools, and prompts MCP clients can access',
63
- group: 'MCP',
64
- useAsTitle: 'label',
65
- },
66
- auth: {
67
- disableLocalStrategy: true,
68
- useAPIKey: true,
69
- },
70
- fields: [
71
- {
72
- name: 'user',
73
- type: 'relationship',
74
- admin: {
75
- description: 'The user that the API key is associated with.',
76
- },
77
- relationTo: userCollection as CollectionSlug,
78
- required: true,
79
- },
80
- {
81
- name: 'label',
82
- type: 'text',
83
- admin: {
84
- description: 'A useful label for the API key.',
85
- },
86
- },
87
- {
88
- name: 'description',
89
- type: 'text',
90
- admin: {
91
- description: 'The purpose of the API key.',
92
- },
93
- },
94
-
95
- ...createApiKeyFields({
96
- config: collections,
97
- configType: 'collection',
98
- }),
99
-
100
- ...createApiKeyFields({
101
- config: globals,
102
- configType: 'global',
103
- }),
104
-
105
- ...(customTools.length > 0
106
- ? [
107
- {
108
- type: 'collapsible' as const,
109
- admin: {
110
- description: 'Manage client access to tools',
111
- position: 'sidebar' as const,
112
- },
113
- fields: [
114
- {
115
- name: 'payload-mcp-tool',
116
- type: 'group' as const,
117
- fields: customToolsFields,
118
- label: false as const,
119
- },
120
- ],
121
- label: 'Tools',
122
- },
123
- ]
124
- : []),
125
-
126
- ...(pluginOptions.mcp?.resources && pluginOptions.mcp?.resources.length > 0
127
- ? [
128
- {
129
- type: 'collapsible' as const,
130
- admin: {
131
- description: 'Manage client access to resources',
132
- position: 'sidebar' as const,
133
- },
134
- fields: [
135
- {
136
- name: 'payload-mcp-resource',
137
- type: 'group' as const,
138
- fields: customResourceFields,
139
- label: false as const,
140
- },
141
- ],
142
- label: 'Resources',
143
- },
144
- ]
145
- : []),
146
-
147
- ...(pluginOptions.mcp?.prompts && pluginOptions.mcp?.prompts.length > 0
148
- ? [
149
- {
150
- type: 'collapsible' as const,
151
- admin: {
152
- description: 'Manage client access to prompts',
153
- position: 'sidebar' as const,
154
- },
155
- fields: [
156
- {
157
- name: 'payload-mcp-prompt',
158
- type: 'group' as const,
159
- fields: customPromptFields,
160
- label: false as const,
161
- },
162
- ],
163
- label: 'Prompts',
164
- },
165
- ]
166
- : []),
167
-
168
- // Experimental Tools
169
- ...(process.env.NODE_ENV === 'development' &&
170
- (experimentalTools?.collections?.enabled ||
171
- experimentalTools?.jobs?.enabled ||
172
- experimentalTools?.config?.enabled ||
173
- experimentalTools?.auth?.enabled)
174
- ? [
175
- {
176
- type: 'collapsible' as const,
177
- admin: {
178
- description: 'Manage client access to experimental tools',
179
- position: 'sidebar' as const,
180
- },
181
- fields: [
182
- ...(experimentalTools?.collections?.enabled
183
- ? [
184
- {
185
- name: 'collections',
186
- type: 'group' as const,
187
- fields: [
188
- {
189
- name: 'find',
190
- type: 'checkbox' as const,
191
- admin: {
192
- description:
193
- 'Allow LLMs to find and list Payload collections with optional content and document counts.',
194
- },
195
- defaultValue: false,
196
- },
197
- {
198
- name: 'create',
199
- type: 'checkbox' as const,
200
- admin: {
201
- description:
202
- 'Allow LLMs to create new Payload collections with specified fields and configuration.',
203
- },
204
- defaultValue: false,
205
- },
206
- {
207
- name: 'update',
208
- type: 'checkbox' as const,
209
- admin: {
210
- description:
211
- 'Allow LLMs to update existing Payload collections with new fields, modifications, or configuration changes.',
212
- },
213
- defaultValue: false,
214
- },
215
- {
216
- name: 'delete',
217
- type: 'checkbox' as const,
218
- admin: {
219
- description:
220
- 'Allow LLMs to delete Payload collections and optionally update the configuration.',
221
- },
222
- defaultValue: false,
223
- },
224
- ],
225
- },
226
- ]
227
- : []),
228
- ...(experimentalTools?.jobs?.enabled
229
- ? [
230
- {
231
- name: 'jobs',
232
- type: 'group' as const,
233
- fields: [
234
- {
235
- name: 'create',
236
- type: 'checkbox' as const,
237
- admin: {
238
- description:
239
- 'Allow LLMs to create new Payload jobs (tasks and workflows) with custom schemas and configuration.',
240
- },
241
- defaultValue: false,
242
- },
243
- {
244
- name: 'run',
245
- type: 'checkbox' as const,
246
- admin: {
247
- description:
248
- 'Allow LLMs to execute Payload jobs with custom input data and queue options.',
249
- },
250
- defaultValue: false,
251
- },
252
- {
253
- name: 'update',
254
- type: 'checkbox' as const,
255
- admin: {
256
- description:
257
- 'Allow LLMs to update existing Payload jobs with new schemas, configuration, or handler code.',
258
- },
259
- defaultValue: false,
260
- },
261
- ],
262
- },
263
- ]
264
- : []),
265
- ...(experimentalTools?.config?.enabled
266
- ? [
267
- {
268
- name: 'config',
269
- type: 'group' as const,
270
- fields: [
271
- {
272
- name: 'find',
273
- type: 'checkbox' as const,
274
- admin: {
275
- description:
276
- 'Allow LLMs to read and display a Payload configuration file.',
277
- },
278
- defaultValue: false,
279
- },
280
- {
281
- name: 'update',
282
- type: 'checkbox' as const,
283
- admin: {
284
- description:
285
- 'Allow LLMs to update a Payload configuration file with various modifications.',
286
- },
287
- defaultValue: false,
288
- },
289
- ],
290
- },
291
- ]
292
- : []),
293
- ...(experimentalTools?.auth?.enabled
294
- ? [
295
- {
296
- name: 'auth',
297
- type: 'group' as const,
298
- fields: [
299
- {
300
- name: 'auth',
301
- type: 'checkbox' as const,
302
- admin: {
303
- description:
304
- 'Allow LLMs to check authentication status for a user by setting custom headers. (e.g. {"Authorization": "Bearer <token>"})',
305
- },
306
- defaultValue: false,
307
- label: 'Check Auth Status',
308
- },
309
- {
310
- name: 'login',
311
- type: 'checkbox' as const,
312
- admin: {
313
- description:
314
- 'Allow LLMs to authenticate a user with email and password.',
315
- },
316
- defaultValue: false,
317
- label: 'User Login',
318
- },
319
- {
320
- name: 'verify',
321
- type: 'checkbox' as const,
322
- admin: {
323
- description:
324
- 'Allow LLMs to verify a user email with a verification token.',
325
- },
326
- defaultValue: false,
327
- label: 'Email Verification',
328
- },
329
- {
330
- name: 'resetPassword',
331
- type: 'checkbox' as const,
332
- admin: {
333
- description:
334
- 'Allow LLMs to reset a user password with a reset token.',
335
- },
336
- defaultValue: false,
337
- label: 'Reset Password',
338
- },
339
- {
340
- name: 'forgotPassword',
341
- type: 'checkbox' as const,
342
- admin: {
343
- description: 'Allow LLMs to send a password reset email to a user.',
344
- },
345
- defaultValue: false,
346
- label: 'Forgot Password',
347
- },
348
- {
349
- name: 'unlock',
350
- type: 'checkbox' as const,
351
- admin: {
352
- description:
353
- 'Allow LLMs to unlock a user account that has been locked due to failed login attempts.',
354
- },
355
- defaultValue: false,
356
- label: 'Unlock Account',
357
- },
358
- ],
359
- },
360
- ]
361
- : []),
362
- ],
363
- label: 'Experimental Tools',
364
- },
365
- ]
366
- : []),
367
- ],
368
- labels: {
369
- plural: 'API Keys',
370
- singular: 'API Key',
371
- },
372
- }
373
- }
package/src/defaults.ts DELETED
@@ -1,3 +0,0 @@
1
- export const defaults = {
2
- userCollection: 'users',
3
- }
@@ -1,91 +0,0 @@
1
- import crypto from 'crypto'
2
- import { type PayloadHandler, type TypedUser, UnauthorizedError, type Where } from 'payload'
3
-
4
- import type { MCPAccessSettings, MCPPluginConfig } from '../types.js'
5
-
6
- import { createRequestFromPayloadRequest } from '../mcp/createRequest.js'
7
- import { getMCPHandler } from '../mcp/getMcpHandler.js'
8
-
9
- export const initializeMCPHandler = (pluginOptions: MCPPluginConfig) => {
10
- const mcpHandler: PayloadHandler = async (req) => {
11
- const { payload } = req
12
- const MCPOptions = pluginOptions.mcp || {}
13
- const MCPHandlerOptions = MCPOptions.handlerOptions || {}
14
- const useVerboseLogs = MCPHandlerOptions.verboseLogs ?? false
15
-
16
- req.payloadAPI = 'MCP' as const
17
-
18
- const getDefaultMcpAccessSettings = async (overrideApiKey?: null | string) => {
19
- const apiKey =
20
- (overrideApiKey ?? req.headers.get('Authorization')?.startsWith('Bearer '))
21
- ? req.headers.get('Authorization')?.replace('Bearer ', '').trim()
22
- : null
23
-
24
- if (apiKey === null) {
25
- throw new UnauthorizedError()
26
- }
27
-
28
- const sha256APIKeyIndex = crypto
29
- .createHmac('sha256', payload.secret)
30
- .update(apiKey || '')
31
- .digest('hex')
32
-
33
- const where: Where = {
34
- apiKeyIndex: {
35
- equals: sha256APIKeyIndex,
36
- },
37
- }
38
-
39
- const { docs } = await payload.find({
40
- collection: 'payload-mcp-api-keys',
41
- depth: 1,
42
- limit: 1,
43
- pagination: false,
44
- where,
45
- })
46
-
47
- if (docs.length === 0) {
48
- throw new UnauthorizedError()
49
- }
50
-
51
- if (useVerboseLogs) {
52
- payload.logger.info('[payload-mcp] API Key is valid')
53
- }
54
-
55
- const user = docs[0]?.user as TypedUser
56
- user.collection = pluginOptions.userCollection as string
57
- user._strategy = 'mcp-api-key' as const
58
-
59
- return docs[0] as unknown as MCPAccessSettings
60
- }
61
-
62
- const mcpAccessSettings = pluginOptions.overrideAuth
63
- ? await pluginOptions.overrideAuth(req, getDefaultMcpAccessSettings)
64
- : await getDefaultMcpAccessSettings()
65
-
66
- // @modelcontextprotocol/sdk's StreamableHTTPServerTransport uses @hono/node-server's
67
- // getRequestListener, which replaces global.Request and global.Response with Hono
68
- // custom classes. Unfortunately, we cannot pass overrideGlobalObjects: false because the option is
69
- // consumed inside the SDK transport and is not exposed to callers.
70
- // Save originals here and restore after the handler resolves so that Next.js
71
- // instanceof Response checks on subsequent route handlers keep working.
72
- const globals = globalThis as Record<string, unknown>
73
- const originalResponse = globals['Response']
74
- const originalRequest = globals['Request']
75
-
76
- const handler = getMCPHandler(pluginOptions, mcpAccessSettings, req)
77
- const request = createRequestFromPayloadRequest(req)
78
-
79
- try {
80
- return await handler(request)
81
- } finally {
82
- if (globals['Response'] !== originalResponse) {
83
- Object.defineProperty(globalThis, 'Response', { value: originalResponse })
84
- }
85
- if (globals['Request'] !== originalRequest) {
86
- Object.defineProperty(globalThis, 'Request', { value: originalRequest })
87
- }
88
- }
89
- }
90
- return mcpHandler
91
- }
@@ -1,13 +0,0 @@
1
- import { AuthenticationError, type PayloadRequest } from 'payload'
2
-
3
- export const createRequestFromPayloadRequest = (req: PayloadRequest) => {
4
- if (!req.url) {
5
- throw new AuthenticationError()
6
- }
7
- return new Request(req.url, {
8
- body: req.body,
9
- duplex: 'half',
10
- headers: req.headers,
11
- method: req.method,
12
- } as { duplex: 'half' } & RequestInit)
13
- }