@payloadcms/plugin-mcp 4.0.0-internal.688c4d0 → 4.0.0-internal.811e0a4

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 (447) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/defaultAccess.d.ts +3 -0
  3. package/dist/defaultAccess.d.ts.map +1 -0
  4. package/dist/defaultAccess.js +3 -0
  5. package/dist/defaultAccess.js.map +1 -0
  6. package/dist/endpoint/access.d.ts +17 -5
  7. package/dist/endpoint/access.d.ts.map +1 -1
  8. package/dist/endpoint/access.js +81 -103
  9. package/dist/endpoint/access.js.map +1 -1
  10. package/dist/endpoint/index.d.ts +1 -1
  11. package/dist/endpoint/index.d.ts.map +1 -1
  12. package/dist/endpoint/index.js +68 -17
  13. package/dist/endpoint/index.js.map +1 -1
  14. package/dist/exports/client.d.ts +1 -4
  15. package/dist/exports/client.d.ts.map +1 -1
  16. package/dist/exports/client.js +1 -4
  17. package/dist/exports/client.js.map +1 -1
  18. package/dist/exports/internal.d.ts +2 -0
  19. package/dist/exports/internal.d.ts.map +1 -0
  20. package/dist/exports/internal.js +3 -0
  21. package/dist/exports/internal.js.map +1 -0
  22. package/dist/index.d.ts +2 -2
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +3 -51
  25. package/dist/index.js.map +1 -1
  26. package/dist/mcp/buildMcpServer.d.ts +4 -4
  27. package/dist/mcp/buildMcpServer.d.ts.map +1 -1
  28. package/dist/mcp/buildMcpServer.js +34 -10
  29. package/dist/mcp/buildMcpServer.js.map +1 -1
  30. package/dist/mcp/builtin/collections/authTools.d.ts.map +1 -1
  31. package/dist/mcp/builtin/collections/authTools.js +44 -6
  32. package/dist/mcp/builtin/collections/authTools.js.map +1 -1
  33. package/dist/mcp/builtin/collections/countTool.d.ts +2 -0
  34. package/dist/mcp/builtin/collections/countTool.d.ts.map +1 -0
  35. package/dist/mcp/builtin/collections/countTool.js +69 -0
  36. package/dist/mcp/builtin/collections/countTool.js.map +1 -0
  37. package/dist/mcp/builtin/collections/countVersionsTool.d.ts +2 -0
  38. package/dist/mcp/builtin/collections/countVersionsTool.d.ts.map +1 -0
  39. package/dist/mcp/builtin/collections/countVersionsTool.js +65 -0
  40. package/dist/mcp/builtin/collections/countVersionsTool.js.map +1 -0
  41. package/dist/mcp/builtin/collections/createTool.d.ts.map +1 -1
  42. package/dist/mcp/builtin/collections/createTool.js +12 -19
  43. package/dist/mcp/builtin/collections/createTool.js.map +1 -1
  44. package/dist/mcp/builtin/collections/deleteTool.d.ts.map +1 -1
  45. package/dist/mcp/builtin/collections/deleteTool.js +9 -0
  46. package/dist/mcp/builtin/collections/deleteTool.js.map +1 -1
  47. package/dist/mcp/builtin/collections/duplicateTool.d.ts +2 -0
  48. package/dist/mcp/builtin/collections/duplicateTool.d.ts.map +1 -0
  49. package/dist/mcp/builtin/collections/duplicateTool.js +97 -0
  50. package/dist/mcp/builtin/collections/duplicateTool.js.map +1 -0
  51. package/dist/mcp/builtin/collections/findDistinctTool.d.ts +2 -0
  52. package/dist/mcp/builtin/collections/findDistinctTool.d.ts.map +1 -0
  53. package/dist/mcp/builtin/collections/findDistinctTool.js +93 -0
  54. package/dist/mcp/builtin/collections/findDistinctTool.js.map +1 -0
  55. package/dist/mcp/builtin/collections/findTool.d.ts.map +1 -1
  56. package/dist/mcp/builtin/collections/findTool.js +43 -22
  57. package/dist/mcp/builtin/collections/findTool.js.map +1 -1
  58. package/dist/mcp/builtin/collections/findVersionByIDTool.d.ts +2 -0
  59. package/dist/mcp/builtin/collections/findVersionByIDTool.d.ts.map +1 -0
  60. package/dist/mcp/builtin/collections/findVersionByIDTool.js +84 -0
  61. package/dist/mcp/builtin/collections/findVersionByIDTool.js.map +1 -0
  62. package/dist/mcp/builtin/collections/findVersionsTool.d.ts +2 -0
  63. package/dist/mcp/builtin/collections/findVersionsTool.d.ts.map +1 -0
  64. package/dist/mcp/builtin/collections/findVersionsTool.js +99 -0
  65. package/dist/mcp/builtin/collections/findVersionsTool.js.map +1 -0
  66. package/dist/mcp/builtin/collections/formatCollectionError.d.ts +1 -1
  67. package/dist/mcp/builtin/collections/formatCollectionError.d.ts.map +1 -1
  68. package/dist/mcp/builtin/collections/formatCollectionError.js.map +1 -1
  69. package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts.map +1 -1
  70. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js +12 -0
  71. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js.map +1 -1
  72. package/dist/mcp/builtin/collections/restoreVersionTool.d.ts +2 -0
  73. package/dist/mcp/builtin/collections/restoreVersionTool.d.ts.map +1 -0
  74. package/dist/mcp/builtin/collections/restoreVersionTool.js +82 -0
  75. package/dist/mcp/builtin/collections/restoreVersionTool.js.map +1 -0
  76. package/dist/mcp/builtin/collections/updateTool.d.ts.map +1 -1
  77. package/dist/mcp/builtin/collections/updateTool.js +14 -21
  78. package/dist/mcp/builtin/collections/updateTool.js.map +1 -1
  79. package/dist/mcp/builtin/getConfigInfoTool.d.ts.map +1 -1
  80. package/dist/mcp/builtin/getConfigInfoTool.js +27 -5
  81. package/dist/mcp/builtin/getConfigInfoTool.js.map +1 -1
  82. package/dist/mcp/builtin/globals/countVersionsTool.d.ts +2 -0
  83. package/dist/mcp/builtin/globals/countVersionsTool.d.ts.map +1 -0
  84. package/dist/mcp/builtin/globals/countVersionsTool.js +65 -0
  85. package/dist/mcp/builtin/globals/countVersionsTool.js.map +1 -0
  86. package/dist/mcp/builtin/globals/findTool.d.ts.map +1 -1
  87. package/dist/mcp/builtin/globals/findTool.js +17 -20
  88. package/dist/mcp/builtin/globals/findTool.js.map +1 -1
  89. package/dist/mcp/builtin/globals/findVersionByIDTool.d.ts +2 -0
  90. package/dist/mcp/builtin/globals/findVersionByIDTool.d.ts.map +1 -0
  91. package/dist/mcp/builtin/globals/findVersionByIDTool.js +80 -0
  92. package/dist/mcp/builtin/globals/findVersionByIDTool.js.map +1 -0
  93. package/dist/mcp/builtin/globals/findVersionsTool.d.ts +2 -0
  94. package/dist/mcp/builtin/globals/findVersionsTool.d.ts.map +1 -0
  95. package/dist/mcp/builtin/globals/findVersionsTool.js +95 -0
  96. package/dist/mcp/builtin/globals/findVersionsTool.js.map +1 -0
  97. package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts.map +1 -1
  98. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js +12 -0
  99. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js.map +1 -1
  100. package/dist/mcp/builtin/globals/restoreVersionTool.d.ts +2 -0
  101. package/dist/mcp/builtin/globals/restoreVersionTool.d.ts.map +1 -0
  102. package/dist/mcp/builtin/globals/restoreVersionTool.js +78 -0
  103. package/dist/mcp/builtin/globals/restoreVersionTool.js.map +1 -0
  104. package/dist/mcp/builtin/globals/updateTool.d.ts.map +1 -1
  105. package/dist/mcp/builtin/globals/updateTool.js +12 -19
  106. package/dist/mcp/builtin/globals/updateTool.js.map +1 -1
  107. package/dist/mcp/builtin/validateEntityData.js +1 -1
  108. package/dist/mcp/builtin/validateEntityData.js.map +1 -1
  109. package/dist/mcp/builtinTools.d.ts +69 -12
  110. package/dist/mcp/builtinTools.d.ts.map +1 -1
  111. package/dist/mcp/builtinTools.js +66 -10
  112. package/dist/mcp/builtinTools.js.map +1 -1
  113. package/dist/mcp/sanitizeMCPConfig.d.ts +0 -1
  114. package/dist/mcp/sanitizeMCPConfig.d.ts.map +1 -1
  115. package/dist/mcp/sanitizeMCPConfig.js +69 -27
  116. package/dist/mcp/sanitizeMCPConfig.js.map +1 -1
  117. package/dist/stdio.d.ts +3 -3
  118. package/dist/stdio.d.ts.map +1 -1
  119. package/dist/stdio.js +82 -45
  120. package/dist/stdio.js.map +1 -1
  121. package/dist/types.d.ts +63 -92
  122. package/dist/types.d.ts.map +1 -1
  123. package/dist/types.js +4 -4
  124. package/dist/types.js.map +1 -1
  125. package/dist/utils/getPluginConfig.d.ts +1 -1
  126. package/dist/utils/getPluginConfig.js +1 -1
  127. package/dist/utils/getPluginConfig.js.map +1 -1
  128. package/dist/utils/schemaConversion/getEntityInputSchema.d.ts.map +1 -1
  129. package/dist/utils/schemaConversion/getEntityInputSchema.js +7 -9
  130. package/dist/utils/schemaConversion/getEntityInputSchema.js.map +1 -1
  131. package/dist/utils/schemaConversion/sanitizeEntitySchema.d.ts +5 -10
  132. package/dist/utils/schemaConversion/sanitizeEntitySchema.d.ts.map +1 -1
  133. package/dist/utils/schemaConversion/sanitizeEntitySchema.js +15 -95
  134. package/dist/utils/schemaConversion/sanitizeEntitySchema.js.map +1 -1
  135. package/dist/utils/schemaConversion/sanitizeEntitySchema.spec.js +15 -40
  136. package/dist/utils/schemaConversion/sanitizeEntitySchema.spec.js.map +1 -1
  137. package/package.json +10 -16
  138. package/src/defaultAccess.ts +3 -0
  139. package/src/endpoint/access.ts +87 -112
  140. package/src/endpoint/index.ts +58 -16
  141. package/src/exports/client.ts +2 -4
  142. package/src/exports/internal.ts +1 -0
  143. package/src/index.ts +5 -59
  144. package/src/mcp/buildMcpServer.ts +48 -21
  145. package/src/mcp/builtin/collections/authTools.ts +45 -9
  146. package/src/mcp/builtin/collections/countTool.ts +74 -0
  147. package/src/mcp/builtin/collections/countVersionsTool.ts +73 -0
  148. package/src/mcp/builtin/collections/createTool.ts +13 -13
  149. package/src/mcp/builtin/collections/deleteTool.ts +10 -0
  150. package/src/mcp/builtin/collections/duplicateTool.ts +135 -0
  151. package/src/mcp/builtin/collections/findDistinctTool.ts +119 -0
  152. package/src/mcp/builtin/collections/findTool.ts +56 -16
  153. package/src/mcp/builtin/collections/findVersionByIDTool.ts +110 -0
  154. package/src/mcp/builtin/collections/findVersionsTool.ts +155 -0
  155. package/src/mcp/builtin/collections/formatCollectionError.ts +1 -1
  156. package/src/mcp/builtin/collections/getCollectionSchemaTool.ts +18 -0
  157. package/src/mcp/builtin/collections/restoreVersionTool.ts +108 -0
  158. package/src/mcp/builtin/collections/updateTool.ts +14 -14
  159. package/src/mcp/builtin/getConfigInfoTool.ts +29 -4
  160. package/src/mcp/builtin/globals/countVersionsTool.ts +72 -0
  161. package/src/mcp/builtin/globals/findTool.ts +25 -16
  162. package/src/mcp/builtin/globals/findVersionByIDTool.ts +104 -0
  163. package/src/mcp/builtin/globals/findVersionsTool.ts +148 -0
  164. package/src/mcp/builtin/globals/getGlobalSchemaTool.ts +13 -0
  165. package/src/mcp/builtin/globals/restoreVersionTool.ts +99 -0
  166. package/src/mcp/builtin/globals/updateTool.ts +14 -14
  167. package/src/mcp/builtin/validateEntityData.ts +1 -1
  168. package/src/mcp/builtinTools.ts +72 -16
  169. package/src/mcp/sanitizeMCPConfig.ts +48 -30
  170. package/src/stdio.ts +77 -45
  171. package/src/types.ts +72 -95
  172. package/src/utils/getPluginConfig.ts +1 -1
  173. package/src/utils/schemaConversion/getEntityInputSchema.ts +10 -26
  174. package/src/utils/schemaConversion/sanitizeEntitySchema.spec.ts +12 -19
  175. package/src/utils/schemaConversion/sanitizeEntitySchema.ts +17 -114
  176. package/dist/@types/assets.d.js +0 -2
  177. package/dist/@types/assets.d.js.map +0 -1
  178. package/dist/collection/getAccessField.d.ts +0 -12
  179. package/dist/collection/getAccessField.d.ts.map +0 -1
  180. package/dist/collection/getAccessField.js +0 -72
  181. package/dist/collection/getAccessField.js.map +0 -1
  182. package/dist/collection/index.d.ts +0 -6
  183. package/dist/collection/index.d.ts.map +0 -1
  184. package/dist/collection/index.js +0 -105
  185. package/dist/collection/index.js.map +0 -1
  186. package/dist/components/APIKeyField/index.client.d.ts +0 -9
  187. package/dist/components/APIKeyField/index.client.d.ts.map +0 -1
  188. package/dist/components/APIKeyField/index.client.js +0 -85
  189. package/dist/components/APIKeyField/index.client.js.map +0 -1
  190. package/dist/components/APIKeyField/index.css +0 -105
  191. package/dist/components/APIKeysEmptyState/index.client.d.ts +0 -4
  192. package/dist/components/APIKeysEmptyState/index.client.d.ts.map +0 -1
  193. package/dist/components/APIKeysEmptyState/index.client.js +0 -21
  194. package/dist/components/APIKeysEmptyState/index.client.js.map +0 -1
  195. package/dist/components/AccessField/index.client.d.ts +0 -10
  196. package/dist/components/AccessField/index.client.d.ts.map +0 -1
  197. package/dist/components/AccessField/index.client.js +0 -247
  198. package/dist/components/AccessField/index.client.js.map +0 -1
  199. package/dist/components/AccessField/index.css +0 -99
  200. package/dist/components/SettingsMenu/index.client.d.ts +0 -8
  201. package/dist/components/SettingsMenu/index.client.d.ts.map +0 -1
  202. package/dist/components/SettingsMenu/index.client.js +0 -29
  203. package/dist/components/SettingsMenu/index.client.js.map +0 -1
  204. package/dist/translations/index.d.ts +0 -11
  205. package/dist/translations/index.d.ts.map +0 -1
  206. package/dist/translations/index.js +0 -92
  207. package/dist/translations/index.js.map +0 -1
  208. package/dist/translations/languages/ar.d.ts +0 -31
  209. package/dist/translations/languages/ar.d.ts.map +0 -1
  210. package/dist/translations/languages/ar.js +0 -34
  211. package/dist/translations/languages/ar.js.map +0 -1
  212. package/dist/translations/languages/az.d.ts +0 -31
  213. package/dist/translations/languages/az.d.ts.map +0 -1
  214. package/dist/translations/languages/az.js +0 -34
  215. package/dist/translations/languages/az.js.map +0 -1
  216. package/dist/translations/languages/bg.d.ts +0 -31
  217. package/dist/translations/languages/bg.d.ts.map +0 -1
  218. package/dist/translations/languages/bg.js +0 -34
  219. package/dist/translations/languages/bg.js.map +0 -1
  220. package/dist/translations/languages/bnBd.d.ts +0 -31
  221. package/dist/translations/languages/bnBd.d.ts.map +0 -1
  222. package/dist/translations/languages/bnBd.js +0 -34
  223. package/dist/translations/languages/bnBd.js.map +0 -1
  224. package/dist/translations/languages/bnIn.d.ts +0 -31
  225. package/dist/translations/languages/bnIn.d.ts.map +0 -1
  226. package/dist/translations/languages/bnIn.js +0 -34
  227. package/dist/translations/languages/bnIn.js.map +0 -1
  228. package/dist/translations/languages/ca.d.ts +0 -31
  229. package/dist/translations/languages/ca.d.ts.map +0 -1
  230. package/dist/translations/languages/ca.js +0 -34
  231. package/dist/translations/languages/ca.js.map +0 -1
  232. package/dist/translations/languages/cs.d.ts +0 -31
  233. package/dist/translations/languages/cs.d.ts.map +0 -1
  234. package/dist/translations/languages/cs.js +0 -34
  235. package/dist/translations/languages/cs.js.map +0 -1
  236. package/dist/translations/languages/da.d.ts +0 -31
  237. package/dist/translations/languages/da.d.ts.map +0 -1
  238. package/dist/translations/languages/da.js +0 -34
  239. package/dist/translations/languages/da.js.map +0 -1
  240. package/dist/translations/languages/de.d.ts +0 -31
  241. package/dist/translations/languages/de.d.ts.map +0 -1
  242. package/dist/translations/languages/de.js +0 -34
  243. package/dist/translations/languages/de.js.map +0 -1
  244. package/dist/translations/languages/en.d.ts +0 -31
  245. package/dist/translations/languages/en.d.ts.map +0 -1
  246. package/dist/translations/languages/en.js +0 -34
  247. package/dist/translations/languages/en.js.map +0 -1
  248. package/dist/translations/languages/es.d.ts +0 -31
  249. package/dist/translations/languages/es.d.ts.map +0 -1
  250. package/dist/translations/languages/es.js +0 -34
  251. package/dist/translations/languages/es.js.map +0 -1
  252. package/dist/translations/languages/et.d.ts +0 -31
  253. package/dist/translations/languages/et.d.ts.map +0 -1
  254. package/dist/translations/languages/et.js +0 -34
  255. package/dist/translations/languages/et.js.map +0 -1
  256. package/dist/translations/languages/fa.d.ts +0 -31
  257. package/dist/translations/languages/fa.d.ts.map +0 -1
  258. package/dist/translations/languages/fa.js +0 -34
  259. package/dist/translations/languages/fa.js.map +0 -1
  260. package/dist/translations/languages/fr.d.ts +0 -31
  261. package/dist/translations/languages/fr.d.ts.map +0 -1
  262. package/dist/translations/languages/fr.js +0 -34
  263. package/dist/translations/languages/fr.js.map +0 -1
  264. package/dist/translations/languages/he.d.ts +0 -31
  265. package/dist/translations/languages/he.d.ts.map +0 -1
  266. package/dist/translations/languages/he.js +0 -34
  267. package/dist/translations/languages/he.js.map +0 -1
  268. package/dist/translations/languages/hr.d.ts +0 -31
  269. package/dist/translations/languages/hr.d.ts.map +0 -1
  270. package/dist/translations/languages/hr.js +0 -34
  271. package/dist/translations/languages/hr.js.map +0 -1
  272. package/dist/translations/languages/hu.d.ts +0 -31
  273. package/dist/translations/languages/hu.d.ts.map +0 -1
  274. package/dist/translations/languages/hu.js +0 -34
  275. package/dist/translations/languages/hu.js.map +0 -1
  276. package/dist/translations/languages/hy.d.ts +0 -31
  277. package/dist/translations/languages/hy.d.ts.map +0 -1
  278. package/dist/translations/languages/hy.js +0 -34
  279. package/dist/translations/languages/hy.js.map +0 -1
  280. package/dist/translations/languages/id.d.ts +0 -31
  281. package/dist/translations/languages/id.d.ts.map +0 -1
  282. package/dist/translations/languages/id.js +0 -34
  283. package/dist/translations/languages/id.js.map +0 -1
  284. package/dist/translations/languages/is.d.ts +0 -31
  285. package/dist/translations/languages/is.d.ts.map +0 -1
  286. package/dist/translations/languages/is.js +0 -34
  287. package/dist/translations/languages/is.js.map +0 -1
  288. package/dist/translations/languages/it.d.ts +0 -31
  289. package/dist/translations/languages/it.d.ts.map +0 -1
  290. package/dist/translations/languages/it.js +0 -34
  291. package/dist/translations/languages/it.js.map +0 -1
  292. package/dist/translations/languages/ja.d.ts +0 -31
  293. package/dist/translations/languages/ja.d.ts.map +0 -1
  294. package/dist/translations/languages/ja.js +0 -34
  295. package/dist/translations/languages/ja.js.map +0 -1
  296. package/dist/translations/languages/ko.d.ts +0 -31
  297. package/dist/translations/languages/ko.d.ts.map +0 -1
  298. package/dist/translations/languages/ko.js +0 -34
  299. package/dist/translations/languages/ko.js.map +0 -1
  300. package/dist/translations/languages/lt.d.ts +0 -31
  301. package/dist/translations/languages/lt.d.ts.map +0 -1
  302. package/dist/translations/languages/lt.js +0 -34
  303. package/dist/translations/languages/lt.js.map +0 -1
  304. package/dist/translations/languages/lv.d.ts +0 -31
  305. package/dist/translations/languages/lv.d.ts.map +0 -1
  306. package/dist/translations/languages/lv.js +0 -34
  307. package/dist/translations/languages/lv.js.map +0 -1
  308. package/dist/translations/languages/my.d.ts +0 -31
  309. package/dist/translations/languages/my.d.ts.map +0 -1
  310. package/dist/translations/languages/my.js +0 -34
  311. package/dist/translations/languages/my.js.map +0 -1
  312. package/dist/translations/languages/nb.d.ts +0 -31
  313. package/dist/translations/languages/nb.d.ts.map +0 -1
  314. package/dist/translations/languages/nb.js +0 -34
  315. package/dist/translations/languages/nb.js.map +0 -1
  316. package/dist/translations/languages/nl.d.ts +0 -31
  317. package/dist/translations/languages/nl.d.ts.map +0 -1
  318. package/dist/translations/languages/nl.js +0 -34
  319. package/dist/translations/languages/nl.js.map +0 -1
  320. package/dist/translations/languages/pl.d.ts +0 -31
  321. package/dist/translations/languages/pl.d.ts.map +0 -1
  322. package/dist/translations/languages/pl.js +0 -34
  323. package/dist/translations/languages/pl.js.map +0 -1
  324. package/dist/translations/languages/pt.d.ts +0 -31
  325. package/dist/translations/languages/pt.d.ts.map +0 -1
  326. package/dist/translations/languages/pt.js +0 -34
  327. package/dist/translations/languages/pt.js.map +0 -1
  328. package/dist/translations/languages/ro.d.ts +0 -31
  329. package/dist/translations/languages/ro.d.ts.map +0 -1
  330. package/dist/translations/languages/ro.js +0 -34
  331. package/dist/translations/languages/ro.js.map +0 -1
  332. package/dist/translations/languages/rs.d.ts +0 -31
  333. package/dist/translations/languages/rs.d.ts.map +0 -1
  334. package/dist/translations/languages/rs.js +0 -34
  335. package/dist/translations/languages/rs.js.map +0 -1
  336. package/dist/translations/languages/rsLatin.d.ts +0 -31
  337. package/dist/translations/languages/rsLatin.d.ts.map +0 -1
  338. package/dist/translations/languages/rsLatin.js +0 -34
  339. package/dist/translations/languages/rsLatin.js.map +0 -1
  340. package/dist/translations/languages/ru.d.ts +0 -31
  341. package/dist/translations/languages/ru.d.ts.map +0 -1
  342. package/dist/translations/languages/ru.js +0 -34
  343. package/dist/translations/languages/ru.js.map +0 -1
  344. package/dist/translations/languages/sk.d.ts +0 -31
  345. package/dist/translations/languages/sk.d.ts.map +0 -1
  346. package/dist/translations/languages/sk.js +0 -34
  347. package/dist/translations/languages/sk.js.map +0 -1
  348. package/dist/translations/languages/sl.d.ts +0 -31
  349. package/dist/translations/languages/sl.d.ts.map +0 -1
  350. package/dist/translations/languages/sl.js +0 -34
  351. package/dist/translations/languages/sl.js.map +0 -1
  352. package/dist/translations/languages/sv.d.ts +0 -31
  353. package/dist/translations/languages/sv.d.ts.map +0 -1
  354. package/dist/translations/languages/sv.js +0 -34
  355. package/dist/translations/languages/sv.js.map +0 -1
  356. package/dist/translations/languages/ta.d.ts +0 -31
  357. package/dist/translations/languages/ta.d.ts.map +0 -1
  358. package/dist/translations/languages/ta.js +0 -34
  359. package/dist/translations/languages/ta.js.map +0 -1
  360. package/dist/translations/languages/th.d.ts +0 -31
  361. package/dist/translations/languages/th.d.ts.map +0 -1
  362. package/dist/translations/languages/th.js +0 -34
  363. package/dist/translations/languages/th.js.map +0 -1
  364. package/dist/translations/languages/tr.d.ts +0 -31
  365. package/dist/translations/languages/tr.d.ts.map +0 -1
  366. package/dist/translations/languages/tr.js +0 -34
  367. package/dist/translations/languages/tr.js.map +0 -1
  368. package/dist/translations/languages/uk.d.ts +0 -31
  369. package/dist/translations/languages/uk.d.ts.map +0 -1
  370. package/dist/translations/languages/uk.js +0 -34
  371. package/dist/translations/languages/uk.js.map +0 -1
  372. package/dist/translations/languages/vi.d.ts +0 -31
  373. package/dist/translations/languages/vi.d.ts.map +0 -1
  374. package/dist/translations/languages/vi.js +0 -34
  375. package/dist/translations/languages/vi.js.map +0 -1
  376. package/dist/translations/languages/zh.d.ts +0 -31
  377. package/dist/translations/languages/zh.d.ts.map +0 -1
  378. package/dist/translations/languages/zh.js +0 -34
  379. package/dist/translations/languages/zh.js.map +0 -1
  380. package/dist/translations/languages/zhTw.d.ts +0 -31
  381. package/dist/translations/languages/zhTw.d.ts.map +0 -1
  382. package/dist/translations/languages/zhTw.js +0 -34
  383. package/dist/translations/languages/zhTw.js.map +0 -1
  384. package/dist/translations/types.d.ts +0 -32
  385. package/dist/translations/types.d.ts.map +0 -1
  386. package/dist/translations/types.js +0 -3
  387. package/dist/translations/types.js.map +0 -1
  388. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.d.ts +0 -7
  389. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.d.ts.map +0 -1
  390. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.js +0 -20
  391. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.js.map +0 -1
  392. package/src/@types/assets.d.ts +0 -3
  393. package/src/collection/getAccessField.ts +0 -84
  394. package/src/collection/index.ts +0 -105
  395. package/src/components/APIKeyField/index.client.tsx +0 -73
  396. package/src/components/APIKeyField/index.css +0 -105
  397. package/src/components/APIKeysEmptyState/index.client.tsx +0 -36
  398. package/src/components/AccessField/index.client.tsx +0 -299
  399. package/src/components/AccessField/index.css +0 -99
  400. package/src/components/SettingsMenu/index.client.tsx +0 -34
  401. package/src/translations/index.ts +0 -108
  402. package/src/translations/languages/ar.ts +0 -35
  403. package/src/translations/languages/az.ts +0 -35
  404. package/src/translations/languages/bg.ts +0 -35
  405. package/src/translations/languages/bnBd.ts +0 -35
  406. package/src/translations/languages/bnIn.ts +0 -35
  407. package/src/translations/languages/ca.ts +0 -35
  408. package/src/translations/languages/cs.ts +0 -35
  409. package/src/translations/languages/da.ts +0 -35
  410. package/src/translations/languages/de.ts +0 -35
  411. package/src/translations/languages/en.ts +0 -35
  412. package/src/translations/languages/es.ts +0 -35
  413. package/src/translations/languages/et.ts +0 -35
  414. package/src/translations/languages/fa.ts +0 -35
  415. package/src/translations/languages/fr.ts +0 -35
  416. package/src/translations/languages/he.ts +0 -35
  417. package/src/translations/languages/hr.ts +0 -35
  418. package/src/translations/languages/hu.ts +0 -35
  419. package/src/translations/languages/hy.ts +0 -35
  420. package/src/translations/languages/id.ts +0 -35
  421. package/src/translations/languages/is.ts +0 -35
  422. package/src/translations/languages/it.ts +0 -35
  423. package/src/translations/languages/ja.ts +0 -35
  424. package/src/translations/languages/ko.ts +0 -35
  425. package/src/translations/languages/lt.ts +0 -35
  426. package/src/translations/languages/lv.ts +0 -35
  427. package/src/translations/languages/my.ts +0 -35
  428. package/src/translations/languages/nb.ts +0 -35
  429. package/src/translations/languages/nl.ts +0 -35
  430. package/src/translations/languages/pl.ts +0 -35
  431. package/src/translations/languages/pt.ts +0 -35
  432. package/src/translations/languages/ro.ts +0 -35
  433. package/src/translations/languages/rs.ts +0 -35
  434. package/src/translations/languages/rsLatin.ts +0 -35
  435. package/src/translations/languages/ru.ts +0 -35
  436. package/src/translations/languages/sk.ts +0 -35
  437. package/src/translations/languages/sl.ts +0 -35
  438. package/src/translations/languages/sv.ts +0 -35
  439. package/src/translations/languages/ta.ts +0 -35
  440. package/src/translations/languages/th.ts +0 -35
  441. package/src/translations/languages/tr.ts +0 -35
  442. package/src/translations/languages/uk.ts +0 -35
  443. package/src/translations/languages/vi.ts +0 -35
  444. package/src/translations/languages/zh.ts +0 -35
  445. package/src/translations/languages/zhTw.ts +0 -35
  446. package/src/translations/types.ts +0 -34
  447. package/src/utils/schemaConversion/removeVirtualFieldsFromSchema.ts +0 -27
@@ -0,0 +1,104 @@
1
+ import type { PopulateType, SelectType } from 'payload'
2
+
3
+ import { z } from 'zod'
4
+
5
+ import { defaultAccess } from '../../../defaultAccess.js'
6
+ import { defineGlobalTool } from '../../../defineTool.js'
7
+ import { getLogger } from '../../../utils/getLogger.js'
8
+ import { localAPIDefaults } from '../../../utils/localAPIDefaults.js'
9
+
10
+ const DEFAULT_DESCRIPTION =
11
+ 'Find a specific global version in any version-enabled global by passing the global slug and version ID.'
12
+
13
+ export const findGlobalVersionByIDTool = defineGlobalTool({
14
+ access: (args) =>
15
+ defaultAccess(args) && Boolean(args.permissions?.globals?.[args.globalSlug]?.readVersions),
16
+ annotations: {
17
+ destructiveHint: false,
18
+ idempotentHint: true,
19
+ openWorldHint: false,
20
+ readOnlyHint: true,
21
+ title: 'Find Global Version By ID',
22
+ },
23
+ description: DEFAULT_DESCRIPTION,
24
+ input: z.object({
25
+ id: z.string().describe('The ID of the global version to retrieve'),
26
+ depth: z
27
+ .number()
28
+ .int()
29
+ .min(0)
30
+ .max(10)
31
+ .describe('How many levels deep to populate relationships in the global version document')
32
+ .optional()
33
+ .default(0),
34
+ fallbackLocale: z
35
+ .string()
36
+ .describe('Optional: fallback locale code to use when requested locale is not available')
37
+ .optional(),
38
+ locale: z
39
+ .string()
40
+ .describe(
41
+ 'Optional: locale code to retrieve data in (e.g., "en", "es"). Use "all" to retrieve all locales for localized fields',
42
+ )
43
+ .optional(),
44
+ populate: z
45
+ .record(z.string(), z.unknown())
46
+ .describe(
47
+ 'Optional: control which fields to include from populated relationship or upload documents.',
48
+ )
49
+ .optional(),
50
+ select: z
51
+ .record(z.string(), z.unknown())
52
+ .describe(
53
+ 'Optional: define exactly which fields you\'d like to return in the response, e.g., {"version.siteName": true}',
54
+ )
55
+ .optional(),
56
+ showHiddenFields: z
57
+ .boolean()
58
+ .describe('Optional: include hidden fields in the returned global version document')
59
+ .optional(),
60
+ }),
61
+ }).handler(async ({ authorizedMCP, globalSlug, input, req }) => {
62
+ const payload = req.payload
63
+ const logger = getLogger({ payload })
64
+ const { id, depth, fallbackLocale, locale, populate, select, showHiddenFields } = input
65
+
66
+ logger.info(`Finding version for global: ${globalSlug} with ID: ${id}`)
67
+
68
+ try {
69
+ const result = await payload.findGlobalVersionByID({
70
+ id,
71
+ slug: globalSlug,
72
+ depth,
73
+ req,
74
+ ...localAPIDefaults(authorizedMCP),
75
+ ...(fallbackLocale ? { fallbackLocale } : {}),
76
+ ...(locale ? { locale } : {}),
77
+ ...(populate ? { populate: populate as PopulateType } : {}),
78
+ ...(select ? { select: select as SelectType } : {}),
79
+ ...(showHiddenFields !== undefined ? { showHiddenFields } : {}),
80
+ })
81
+
82
+ return {
83
+ content: [
84
+ {
85
+ type: 'text',
86
+ text: `Version "${id}" from global "${globalSlug}":\n\`\`\`json\n${JSON.stringify(result)}\n\`\`\``,
87
+ },
88
+ ],
89
+ doc: result as unknown as Record<string, unknown>,
90
+ }
91
+ } catch (error) {
92
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error'
93
+ logger.error(`Error finding version ${id} for global ${globalSlug}: ${errorMessage}`)
94
+ return {
95
+ content: [
96
+ {
97
+ type: 'text',
98
+ text: `❌ **Error finding version "${id}" for global "${globalSlug}":** ${errorMessage}`,
99
+ },
100
+ ],
101
+ isError: true,
102
+ }
103
+ }
104
+ })
@@ -0,0 +1,148 @@
1
+ import type { PopulateType, SelectType } from 'payload'
2
+
3
+ import { z } from 'zod'
4
+
5
+ import { defaultAccess } from '../../../defaultAccess.js'
6
+ import { defineGlobalTool } from '../../../defineTool.js'
7
+ import { getLogger } from '../../../utils/getLogger.js'
8
+ import { localAPIDefaults } from '../../../utils/localAPIDefaults.js'
9
+ import { whereSchema } from '../../../utils/whereSchema.js'
10
+
11
+ const DEFAULT_DESCRIPTION =
12
+ 'Find global versions in any version-enabled global by passing the global slug and optional where clause.'
13
+
14
+ export const findGlobalVersionsTool = defineGlobalTool({
15
+ access: (args) =>
16
+ defaultAccess(args) && Boolean(args.permissions?.globals?.[args.globalSlug]?.readVersions),
17
+ annotations: {
18
+ destructiveHint: false,
19
+ idempotentHint: true,
20
+ openWorldHint: false,
21
+ readOnlyHint: true,
22
+ title: 'Find Global Versions',
23
+ },
24
+ description: DEFAULT_DESCRIPTION,
25
+ input: z.object({
26
+ depth: z
27
+ .number()
28
+ .int()
29
+ .min(0)
30
+ .max(10)
31
+ .describe('How many levels deep to populate relationships in global version documents')
32
+ .optional()
33
+ .default(0),
34
+ fallbackLocale: z
35
+ .string()
36
+ .describe('Optional: fallback locale code to use when requested locale is not available')
37
+ .optional(),
38
+ limit: z
39
+ .number()
40
+ .int()
41
+ .min(1)
42
+ .max(100)
43
+ .describe('Maximum number of versions to return (default: 10, max: 100)')
44
+ .optional()
45
+ .default(10),
46
+ locale: z
47
+ .string()
48
+ .describe(
49
+ 'Optional: locale code to retrieve data in (e.g., "en", "es"). Use "all" to retrieve all locales for localized fields',
50
+ )
51
+ .optional(),
52
+ page: z
53
+ .number()
54
+ .int()
55
+ .min(1)
56
+ .describe('Page number for pagination (default: 1)')
57
+ .optional()
58
+ .default(1),
59
+ pagination: z
60
+ .boolean()
61
+ .describe('Optional: set to false to skip the count query overhead')
62
+ .optional(),
63
+ populate: z
64
+ .record(z.string(), z.unknown())
65
+ .describe(
66
+ 'Optional: control which fields to include from populated relationship or upload documents.',
67
+ )
68
+ .optional(),
69
+ select: z
70
+ .record(z.string(), z.unknown())
71
+ .describe(
72
+ 'Optional: define exactly which fields you\'d like to return in the response, e.g., {"version.siteName": true}',
73
+ )
74
+ .optional(),
75
+ showHiddenFields: z
76
+ .boolean()
77
+ .describe('Optional: include hidden fields in returned global version documents')
78
+ .optional(),
79
+ sort: z
80
+ .string()
81
+ .describe('Field to sort by (e.g., "-updatedAt", "-version.updatedAt" for descending)')
82
+ .optional(),
83
+ where: whereSchema
84
+ .describe(
85
+ 'Optional: where clause for filtering versions. Version document fields are usually under "version". Example: {"version.siteName":{"contains":"test"}}',
86
+ )
87
+ .optional(),
88
+ }),
89
+ }).handler(async ({ authorizedMCP, globalSlug, input, req }) => {
90
+ const payload = req.payload
91
+ const logger = getLogger({ payload })
92
+ const {
93
+ depth,
94
+ fallbackLocale,
95
+ limit,
96
+ locale,
97
+ page,
98
+ pagination,
99
+ populate,
100
+ select,
101
+ showHiddenFields,
102
+ sort,
103
+ where,
104
+ } = input
105
+
106
+ logger.info(`Finding versions for global: ${globalSlug}, limit: ${limit}, page: ${page}`)
107
+
108
+ try {
109
+ const result = await payload.findGlobalVersions({
110
+ slug: globalSlug,
111
+ depth,
112
+ limit,
113
+ page,
114
+ req,
115
+ ...localAPIDefaults(authorizedMCP),
116
+ ...(fallbackLocale ? { fallbackLocale } : {}),
117
+ ...(locale ? { locale } : {}),
118
+ ...(pagination !== undefined ? { pagination } : {}),
119
+ ...(populate ? { populate: populate as PopulateType } : {}),
120
+ ...(select ? { select: select as SelectType } : {}),
121
+ ...(showHiddenFields !== undefined ? { showHiddenFields } : {}),
122
+ ...(sort ? { sort } : {}),
123
+ ...(where ? { where } : {}),
124
+ })
125
+
126
+ return {
127
+ content: [
128
+ {
129
+ type: 'text',
130
+ text: `Versions for global "${globalSlug}":\n\`\`\`json\n${JSON.stringify(result)}\n\`\`\``,
131
+ },
132
+ ],
133
+ doc: result as unknown as Record<string, unknown>,
134
+ }
135
+ } catch (error) {
136
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error'
137
+ logger.error(`Error finding versions for global ${globalSlug}: ${errorMessage}`)
138
+ return {
139
+ content: [
140
+ {
141
+ type: 'text',
142
+ text: `❌ **Error finding versions for global "${globalSlug}":** ${errorMessage}`,
143
+ },
144
+ ],
145
+ isError: true,
146
+ }
147
+ }
148
+ })
@@ -1,7 +1,20 @@
1
+ import { defaultAccess } from '../../../defaultAccess.js'
1
2
  import { defineGlobalTool } from '../../../defineTool.js'
2
3
  import { getGlobalInputSchema } from '../../../utils/schemaConversion/getEntityInputSchema.js'
3
4
 
4
5
  export const getGlobalSchemaTool = defineGlobalTool({
6
+ access: (args) => {
7
+ const permissions = args.permissions?.globals?.[args.globalSlug]
8
+
9
+ return defaultAccess(args) && Boolean(permissions?.read || permissions?.update)
10
+ },
11
+ annotations: {
12
+ destructiveHint: false,
13
+ idempotentHint: true,
14
+ openWorldHint: false,
15
+ readOnlyHint: true,
16
+ title: 'Get Global Schema',
17
+ },
5
18
  description: 'Get the input schema for updating a global.',
6
19
  }).handler(({ globalSlug, req }) => {
7
20
  const inputSchema = getGlobalInputSchema({ globalSlug, req })
@@ -0,0 +1,99 @@
1
+ import type { PopulateType } from 'payload'
2
+
3
+ import { z } from 'zod'
4
+
5
+ import { defaultAccess } from '../../../defaultAccess.js'
6
+ import { defineGlobalTool } from '../../../defineTool.js'
7
+ import { getLogger } from '../../../utils/getLogger.js'
8
+ import { localAPIDefaults } from '../../../utils/localAPIDefaults.js'
9
+
10
+ const DEFAULT_DESCRIPTION = 'Restore a global from a previous version in any version-enabled global.'
11
+
12
+ export const restoreGlobalVersionTool = defineGlobalTool({
13
+ access: (args) =>
14
+ defaultAccess(args) && Boolean(args.permissions?.globals?.[args.globalSlug]?.update),
15
+ annotations: {
16
+ destructiveHint: true,
17
+ idempotentHint: false,
18
+ openWorldHint: false,
19
+ readOnlyHint: false,
20
+ title: 'Restore Global Version',
21
+ },
22
+ description: DEFAULT_DESCRIPTION,
23
+ input: z.object({
24
+ id: z.string().describe('The ID of the global version to restore'),
25
+ depth: z
26
+ .number()
27
+ .int()
28
+ .min(0)
29
+ .max(10)
30
+ .describe('How many levels deep to populate relationships in response')
31
+ .optional()
32
+ .default(0),
33
+ fallbackLocale: z
34
+ .string()
35
+ .describe('Optional: fallback locale code to use when requested locale is not available')
36
+ .optional(),
37
+ locale: z
38
+ .string()
39
+ .describe('Optional: locale code to restore in (e.g., "en", "es")')
40
+ .optional(),
41
+ populate: z
42
+ .record(z.string(), z.unknown())
43
+ .describe(
44
+ 'Optional: control which fields to include from populated relationship or upload documents.',
45
+ )
46
+ .optional(),
47
+ showHiddenFields: z
48
+ .boolean()
49
+ .describe('Optional: include hidden fields in the restored global response')
50
+ .optional(),
51
+ }),
52
+ }).handler(async ({ authorizedMCP, globalSlug, input, req }) => {
53
+ const payload = req.payload
54
+ const logger = getLogger({ payload })
55
+ const { id, depth, fallbackLocale, locale, populate, showHiddenFields } = input
56
+
57
+ logger.info(`Restoring version for global: ${globalSlug} with ID: ${id}`)
58
+
59
+ try {
60
+ const result = await payload.restoreGlobalVersion({
61
+ id,
62
+ slug: globalSlug,
63
+ depth,
64
+ req,
65
+ ...localAPIDefaults(authorizedMCP),
66
+ ...(fallbackLocale ? { fallbackLocale } : {}),
67
+ ...(locale ? { locale } : {}),
68
+ ...(populate ? { populate: populate as PopulateType } : {}),
69
+ ...(showHiddenFields !== undefined ? { showHiddenFields } : {}),
70
+ })
71
+ const resultObject = result as Record<string, unknown>
72
+ const restoredGlobal =
73
+ resultObject.version && typeof resultObject.version === 'object'
74
+ ? (resultObject.version as Record<string, unknown>)
75
+ : resultObject
76
+
77
+ return {
78
+ content: [
79
+ {
80
+ type: 'text',
81
+ text: `Version "${id}" restored successfully for global "${globalSlug}"!\nRestored global:\n\`\`\`json\n${JSON.stringify(restoredGlobal)}\n\`\`\``,
82
+ },
83
+ ],
84
+ doc: restoredGlobal,
85
+ }
86
+ } catch (error) {
87
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error'
88
+ logger.error(`Error restoring version ${id} for global ${globalSlug}: ${errorMessage}`)
89
+ return {
90
+ content: [
91
+ {
92
+ type: 'text',
93
+ text: `❌ **Error restoring version "${id}" for global "${globalSlug}":** ${errorMessage}`,
94
+ },
95
+ ],
96
+ isError: true,
97
+ }
98
+ }
99
+ })
@@ -2,6 +2,7 @@ import type { SelectType } from 'payload'
2
2
 
3
3
  import { z } from 'zod'
4
4
 
5
+ import { defaultAccess } from '../../../defaultAccess.js'
5
6
  import { defineGlobalTool } from '../../../defineTool.js'
6
7
  import { getLogger } from '../../../utils/getLogger.js'
7
8
  import {
@@ -15,6 +16,15 @@ import { validateGlobalData } from '../validateEntityData.js'
15
16
  const DEFAULT_DESCRIPTION = 'Update any Payload global by passing the global slug and data.'
16
17
 
17
18
  export const updateGlobalTool = defineGlobalTool({
19
+ access: (args) =>
20
+ defaultAccess(args) && Boolean(args.permissions?.globals?.[args.globalSlug]?.update),
21
+ annotations: {
22
+ destructiveHint: true,
23
+ idempotentHint: false,
24
+ openWorldHint: false,
25
+ readOnlyHint: false,
26
+ title: 'Update Global',
27
+ },
18
28
  description: DEFAULT_DESCRIPTION,
19
29
  input: z.object({
20
30
  data: z.record(z.string(), z.unknown()).describe('The global fields to update'),
@@ -39,9 +49,9 @@ export const updateGlobalTool = defineGlobalTool({
39
49
  )
40
50
  .optional(),
41
51
  select: z
42
- .string()
52
+ .record(z.string(), z.unknown())
43
53
  .describe(
44
- "Optional: define exactly which fields you'd like to return in the response (JSON), e.g., '{\"siteName\": true}'",
54
+ 'Optional: define exactly which fields you\'d like to return in the response, e.g., {"siteName": true}',
45
55
  )
46
56
  .optional(),
47
57
  }),
@@ -66,16 +76,6 @@ export const updateGlobalTool = defineGlobalTool({
66
76
 
67
77
  const parsedData = transformPointDataToPayload(inputData)
68
78
 
69
- let selectClause: SelectType | undefined
70
- if (select) {
71
- try {
72
- selectClause = JSON.parse(select) as SelectType
73
- } catch {
74
- logger.warn(`Invalid select clause JSON for global: ${select}`)
75
- return { content: [{ type: 'text', text: 'Error: Invalid JSON in select clause' }] }
76
- }
77
- }
78
-
79
79
  const updateOptions: Parameters<typeof payload.updateGlobal>[0] = {
80
80
  slug: globalSlug,
81
81
  data: parsedData,
@@ -90,8 +90,8 @@ export const updateGlobalTool = defineGlobalTool({
90
90
  if (fallbackLocale) {
91
91
  updateOptions.fallbackLocale = fallbackLocale
92
92
  }
93
- if (selectClause) {
94
- updateOptions.select = selectClause
93
+ if (select) {
94
+ updateOptions.select = select as SelectType
95
95
  }
96
96
 
97
97
  const result = await payload.updateGlobal(updateOptions)
@@ -1,6 +1,6 @@
1
1
  import type { CollectionSlug, GlobalSlug, PayloadRequest, SanitizedConfig } from 'payload'
2
2
 
3
- import { CfWorkerJsonSchemaValidator } from '@modelcontextprotocol/server'
3
+ import { CfWorkerJsonSchemaValidator } from '@modelcontextprotocol/server/validators/cf-worker'
4
4
 
5
5
  import type { JsonSchemaType, MCPToolResponse } from '../../types.js'
6
6
 
@@ -8,19 +8,43 @@ import {
8
8
  unlockCollectionTool,
9
9
  verifyCollectionTool,
10
10
  } from './builtin/collections/authTools.js'
11
+ import { countDocumentsTool } from './builtin/collections/countTool.js'
12
+ import { countVersionsTool } from './builtin/collections/countVersionsTool.js'
11
13
  import { createDocumentTool } from './builtin/collections/createTool.js'
12
14
  import { deleteDocumentsTool } from './builtin/collections/deleteTool.js'
15
+ import { duplicateDocumentTool } from './builtin/collections/duplicateTool.js'
16
+ import { findDistinctTool } from './builtin/collections/findDistinctTool.js'
13
17
  import { findDocumentsTool } from './builtin/collections/findTool.js'
18
+ import { findVersionByIDTool } from './builtin/collections/findVersionByIDTool.js'
19
+ import { findVersionsTool } from './builtin/collections/findVersionsTool.js'
14
20
  import { getCollectionSchemaTool } from './builtin/collections/getCollectionSchemaTool.js'
21
+ import { restoreVersionTool } from './builtin/collections/restoreVersionTool.js'
15
22
  import { updateDocumentTool } from './builtin/collections/updateTool.js'
16
23
  import { getConfigInfoTool } from './builtin/getConfigInfoTool.js'
24
+ import { countGlobalVersionsTool } from './builtin/globals/countVersionsTool.js'
17
25
  import { findGlobalTool } from './builtin/globals/findTool.js'
26
+ import { findGlobalVersionByIDTool } from './builtin/globals/findVersionByIDTool.js'
27
+ import { findGlobalVersionsTool } from './builtin/globals/findVersionsTool.js'
18
28
  import { getGlobalSchemaTool } from './builtin/globals/getGlobalSchemaTool.js'
29
+ import { restoreGlobalVersionTool } from './builtin/globals/restoreVersionTool.js'
19
30
  import { updateGlobalTool } from './builtin/globals/updateTool.js'
20
31
 
32
+ type CollectionBuiltin = {
33
+ mcpName: string
34
+ requiresDuplicateEnabled?: boolean
35
+ requiresVersions?: boolean
36
+ tool: CollectionTool
37
+ }
38
+
39
+ type GlobalBuiltin = {
40
+ mcpName: string
41
+ requiresVersions?: boolean
42
+ tool: GlobalTool
43
+ }
44
+
21
45
  export const TOOL_BUILTINS = {
22
- getConfigInfo: { label: 'Config Info', mcpName: 'getConfigInfo', tool: getConfigInfoTool },
23
- } satisfies Record<string, { label: string; mcpName: string; tool: Tool }>
46
+ getConfigInfo: { mcpName: 'getConfigInfo', tool: getConfigInfoTool },
47
+ } satisfies Record<string, { mcpName: string; tool: Tool }>
24
48
 
25
49
  /**
26
50
  * The static built-in collection CRUD tools. Keys here are the source of truth
@@ -28,44 +52,76 @@ export const TOOL_BUILTINS = {
28
52
  * automatically.
29
53
  */
30
54
  export const COLLECTION_BUILTINS = {
55
+ count: { mcpName: 'countDocuments', tool: countDocumentsTool },
56
+ countVersions: { mcpName: 'countVersions', requiresVersions: true, tool: countVersionsTool },
31
57
  create: { mcpName: 'createDocument', tool: createDocumentTool },
32
58
  delete: { mcpName: 'deleteDocuments', tool: deleteDocumentsTool },
59
+ duplicate: {
60
+ mcpName: 'duplicateDocument',
61
+ requiresDuplicateEnabled: true,
62
+ tool: duplicateDocumentTool,
63
+ },
33
64
  find: { mcpName: 'findDocuments', tool: findDocumentsTool },
65
+ findDistinct: { mcpName: 'findDistinct', tool: findDistinctTool },
66
+ findVersionByID: {
67
+ mcpName: 'findVersionByID',
68
+ requiresVersions: true,
69
+ tool: findVersionByIDTool,
70
+ },
71
+ findVersions: { mcpName: 'findVersions', requiresVersions: true, tool: findVersionsTool },
34
72
  getCollectionSchema: { mcpName: 'getCollectionSchema', tool: getCollectionSchemaTool },
73
+ restoreVersion: { mcpName: 'restoreVersion', requiresVersions: true, tool: restoreVersionTool },
35
74
  update: { mcpName: 'updateDocument', tool: updateDocumentTool },
36
- } satisfies Record<string, { mcpName: string; tool: CollectionTool }>
75
+ } satisfies Record<string, CollectionBuiltin>
37
76
 
38
77
  /**
39
- * The static auth tools surfaced under auth-enabled collections. Each entry
40
- * carries the admin-UI label alongside the tool. Keys are the source of truth
41
- * for `MCPCollectionAuthToolName`.
78
+ * The static auth tools surfaced under auth-enabled collections. Keys are the
79
+ * source of truth for `MCPCollectionAuthToolName`.
42
80
  */
43
81
  export const COLLECTION_AUTH_BUILTINS = {
44
- auth: { label: 'Check Auth Status', mcpName: 'auth', tool: authCollectionTool },
82
+ auth: { mcpName: 'auth', tool: authCollectionTool },
45
83
  forgotPassword: {
46
- label: 'Forgot Password',
47
84
  mcpName: 'forgotPassword',
48
85
  tool: forgotPasswordCollectionTool,
49
86
  },
50
- login: { label: 'User Login', mcpName: 'login', tool: loginCollectionTool },
87
+ login: { mcpName: 'login', tool: loginCollectionTool },
51
88
  resetPassword: {
52
- label: 'Reset Password',
53
89
  mcpName: 'resetPassword',
54
90
  tool: resetPasswordCollectionTool,
55
91
  },
56
- unlock: { label: 'Unlock Account', mcpName: 'unlock', tool: unlockCollectionTool },
57
- verify: { label: 'Email Verification', mcpName: 'verify', tool: verifyCollectionTool },
58
- } satisfies Record<string, { label: string; mcpName: string; tool: CollectionTool }>
92
+ unlock: { mcpName: 'unlock', tool: unlockCollectionTool },
93
+ verify: { mcpName: 'verify', tool: verifyCollectionTool },
94
+ } satisfies Record<string, { mcpName: string; tool: CollectionTool }>
59
95
 
60
96
  /**
61
97
  * The static built-in global tools. Keys are the source of truth for
62
98
  * `MCPGlobalBuiltinName`.
63
99
  */
64
100
  export const GLOBAL_BUILTINS = {
101
+ countGlobalVersions: {
102
+ mcpName: 'countGlobalVersions',
103
+ requiresVersions: true,
104
+ tool: countGlobalVersionsTool,
105
+ },
65
106
  find: { mcpName: 'findGlobal', tool: findGlobalTool },
107
+ findGlobalVersionByID: {
108
+ mcpName: 'findGlobalVersionByID',
109
+ requiresVersions: true,
110
+ tool: findGlobalVersionByIDTool,
111
+ },
112
+ findGlobalVersions: {
113
+ mcpName: 'findGlobalVersions',
114
+ requiresVersions: true,
115
+ tool: findGlobalVersionsTool,
116
+ },
66
117
  getGlobalSchema: { mcpName: 'getGlobalSchema', tool: getGlobalSchemaTool },
118
+ restoreGlobalVersion: {
119
+ mcpName: 'restoreGlobalVersion',
120
+ requiresVersions: true,
121
+ tool: restoreGlobalVersionTool,
122
+ },
67
123
  update: { mcpName: 'updateGlobal', tool: updateGlobalTool },
68
- } satisfies Record<string, { mcpName: string; tool: GlobalTool }>
124
+ } satisfies Record<string, GlobalBuiltin>
69
125
 
70
126
  export type MCPCollectionBuiltinName = keyof typeof COLLECTION_BUILTINS
71
127
 
@@ -86,7 +142,7 @@ export const TOOL_BUILTIN_ENTRIES = Object.entries(TOOL_BUILTINS) as Array<
86
142
  >
87
143
 
88
144
  export const COLLECTION_BUILTIN_ENTRIES = Object.entries(COLLECTION_BUILTINS) as Array<
89
- [MCPCollectionBuiltinName, (typeof COLLECTION_BUILTINS)[MCPCollectionBuiltinName]]
145
+ [MCPCollectionBuiltinName, CollectionBuiltin]
90
146
  >
91
147
 
92
148
  export const COLLECTION_AUTH_BUILTIN_ENTRIES = Object.entries(COLLECTION_AUTH_BUILTINS) as Array<
@@ -94,5 +150,5 @@ export const COLLECTION_AUTH_BUILTIN_ENTRIES = Object.entries(COLLECTION_AUTH_BU
94
150
  >
95
151
 
96
152
  export const GLOBAL_BUILTIN_ENTRIES = Object.entries(GLOBAL_BUILTINS) as Array<
97
- [MCPGlobalBuiltinName, (typeof GLOBAL_BUILTINS)[MCPGlobalBuiltinName]]
153
+ [MCPGlobalBuiltinName, GlobalBuiltin]
98
154
  >