@payloadcms/plugin-mcp 4.0.0-internal.e16cf59 → 4.0.0-internal.e38d3ac

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 (429) hide show
  1. package/LICENSE.md +1 -1
  2. package/bin.js +46 -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 +93 -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 +87 -0
  18. package/dist/endpoint/index.js.map +1 -0
  19. package/dist/exports/client.d.ts +2 -0
  20. package/dist/exports/client.d.ts.map +1 -0
  21. package/dist/exports/client.js +4 -0
  22. package/dist/exports/client.js.map +1 -0
  23. package/dist/exports/internal.d.ts +2 -0
  24. package/dist/exports/internal.d.ts.map +1 -0
  25. package/dist/exports/internal.js +3 -0
  26. package/dist/exports/internal.js.map +1 -0
  27. package/dist/index.d.ts +6 -9
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +39 -67
  30. package/dist/index.js.map +1 -1
  31. package/dist/mcp/buildMcpServer.d.ts +19 -0
  32. package/dist/mcp/buildMcpServer.d.ts.map +1 -0
  33. package/dist/mcp/buildMcpServer.js +223 -0
  34. package/dist/mcp/buildMcpServer.js.map +1 -0
  35. package/dist/mcp/builtin/collections/authTools.d.ts +7 -0
  36. package/dist/mcp/builtin/collections/authTools.d.ts.map +1 -0
  37. package/dist/mcp/builtin/collections/authTools.js +288 -0
  38. package/dist/mcp/builtin/collections/authTools.js.map +1 -0
  39. package/dist/mcp/builtin/collections/countTool.d.ts +2 -0
  40. package/dist/mcp/builtin/collections/countTool.d.ts.map +1 -0
  41. package/dist/mcp/builtin/collections/countTool.js +68 -0
  42. package/dist/mcp/builtin/collections/countTool.js.map +1 -0
  43. package/dist/mcp/builtin/collections/countVersionsTool.d.ts +2 -0
  44. package/dist/mcp/builtin/collections/countVersionsTool.d.ts.map +1 -0
  45. package/dist/mcp/builtin/collections/countVersionsTool.js +64 -0
  46. package/dist/mcp/builtin/collections/countVersionsTool.js.map +1 -0
  47. package/dist/mcp/builtin/collections/createTool.d.ts +2 -0
  48. package/dist/mcp/builtin/collections/createTool.d.ts.map +1 -0
  49. package/dist/mcp/builtin/collections/createTool.js +138 -0
  50. package/dist/mcp/builtin/collections/createTool.js.map +1 -0
  51. package/dist/mcp/builtin/collections/deleteTool.d.ts +2 -0
  52. package/dist/mcp/builtin/collections/deleteTool.d.ts.map +1 -0
  53. package/dist/mcp/builtin/collections/deleteTool.js +110 -0
  54. package/dist/mcp/builtin/collections/deleteTool.js.map +1 -0
  55. package/dist/mcp/builtin/collections/duplicateTool.d.ts +2 -0
  56. package/dist/mcp/builtin/collections/duplicateTool.d.ts.map +1 -0
  57. package/dist/mcp/builtin/collections/duplicateTool.js +96 -0
  58. package/dist/mcp/builtin/collections/duplicateTool.js.map +1 -0
  59. package/dist/mcp/builtin/collections/fileInput.d.ts +28 -0
  60. package/dist/mcp/builtin/collections/fileInput.d.ts.map +1 -0
  61. package/dist/mcp/builtin/collections/fileInput.js +124 -0
  62. package/dist/mcp/builtin/collections/fileInput.js.map +1 -0
  63. package/dist/mcp/builtin/collections/fileInput.spec.js +86 -0
  64. package/dist/mcp/builtin/collections/fileInput.spec.js.map +1 -0
  65. package/dist/mcp/builtin/collections/findDistinctTool.d.ts +2 -0
  66. package/dist/mcp/builtin/collections/findDistinctTool.d.ts.map +1 -0
  67. package/dist/mcp/builtin/collections/findDistinctTool.js +92 -0
  68. package/dist/mcp/builtin/collections/findDistinctTool.js.map +1 -0
  69. package/dist/mcp/builtin/collections/findTool.d.ts +2 -0
  70. package/dist/mcp/builtin/collections/findTool.d.ts.map +1 -0
  71. package/dist/mcp/builtin/collections/findTool.js +164 -0
  72. package/dist/mcp/builtin/collections/findTool.js.map +1 -0
  73. package/dist/mcp/builtin/collections/findVersionByIDTool.d.ts +2 -0
  74. package/dist/mcp/builtin/collections/findVersionByIDTool.d.ts.map +1 -0
  75. package/dist/mcp/builtin/collections/findVersionByIDTool.js +83 -0
  76. package/dist/mcp/builtin/collections/findVersionByIDTool.js.map +1 -0
  77. package/dist/mcp/builtin/collections/findVersionsTool.d.ts +2 -0
  78. package/dist/mcp/builtin/collections/findVersionsTool.d.ts.map +1 -0
  79. package/dist/mcp/builtin/collections/findVersionsTool.js +98 -0
  80. package/dist/mcp/builtin/collections/findVersionsTool.js.map +1 -0
  81. package/dist/mcp/builtin/collections/formatCollectionError.d.ts +9 -0
  82. package/dist/mcp/builtin/collections/formatCollectionError.d.ts.map +1 -0
  83. package/dist/mcp/builtin/collections/formatCollectionError.js +60 -0
  84. package/dist/mcp/builtin/collections/formatCollectionError.js.map +1 -0
  85. package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts +2 -0
  86. package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts.map +1 -0
  87. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js +87 -0
  88. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js.map +1 -0
  89. package/dist/mcp/builtin/collections/restoreVersionTool.d.ts +2 -0
  90. package/dist/mcp/builtin/collections/restoreVersionTool.d.ts.map +1 -0
  91. package/dist/mcp/builtin/collections/restoreVersionTool.js +81 -0
  92. package/dist/mcp/builtin/collections/restoreVersionTool.js.map +1 -0
  93. package/dist/mcp/builtin/collections/updateTool.d.ts +2 -0
  94. package/dist/mcp/builtin/collections/updateTool.d.ts.map +1 -0
  95. package/dist/mcp/builtin/collections/updateTool.js +204 -0
  96. package/dist/mcp/builtin/collections/updateTool.js.map +1 -0
  97. package/dist/mcp/builtin/collections/uploadInstructionsTool.d.ts +2 -0
  98. package/dist/mcp/builtin/collections/uploadInstructionsTool.d.ts.map +1 -0
  99. package/dist/mcp/builtin/collections/uploadInstructionsTool.js +55 -0
  100. package/dist/mcp/builtin/collections/uploadInstructionsTool.js.map +1 -0
  101. package/dist/mcp/builtin/getConfigInfoTool.d.ts +2 -0
  102. package/dist/mcp/builtin/getConfigInfoTool.d.ts.map +1 -0
  103. package/dist/mcp/builtin/getConfigInfoTool.js +68 -0
  104. package/dist/mcp/builtin/getConfigInfoTool.js.map +1 -0
  105. package/dist/mcp/builtin/globals/countVersionsTool.d.ts +2 -0
  106. package/dist/mcp/builtin/globals/countVersionsTool.d.ts.map +1 -0
  107. package/dist/mcp/builtin/globals/countVersionsTool.js +64 -0
  108. package/dist/mcp/builtin/globals/countVersionsTool.js.map +1 -0
  109. package/dist/mcp/builtin/globals/findTool.d.ts +2 -0
  110. package/dist/mcp/builtin/globals/findTool.d.ts.map +1 -0
  111. package/dist/mcp/builtin/globals/findTool.js +73 -0
  112. package/dist/mcp/builtin/globals/findTool.js.map +1 -0
  113. package/dist/mcp/builtin/globals/findVersionByIDTool.d.ts +2 -0
  114. package/dist/mcp/builtin/globals/findVersionByIDTool.d.ts.map +1 -0
  115. package/dist/mcp/builtin/globals/findVersionByIDTool.js +79 -0
  116. package/dist/mcp/builtin/globals/findVersionByIDTool.js.map +1 -0
  117. package/dist/mcp/builtin/globals/findVersionsTool.d.ts +2 -0
  118. package/dist/mcp/builtin/globals/findVersionsTool.d.ts.map +1 -0
  119. package/dist/mcp/builtin/globals/findVersionsTool.js +94 -0
  120. package/dist/mcp/builtin/globals/findVersionsTool.js.map +1 -0
  121. package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts +2 -0
  122. package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts.map +1 -0
  123. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js +65 -0
  124. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js.map +1 -0
  125. package/dist/mcp/builtin/globals/restoreVersionTool.d.ts +2 -0
  126. package/dist/mcp/builtin/globals/restoreVersionTool.d.ts.map +1 -0
  127. package/dist/mcp/builtin/globals/restoreVersionTool.js +77 -0
  128. package/dist/mcp/builtin/globals/restoreVersionTool.js.map +1 -0
  129. package/dist/mcp/builtin/globals/updateTool.d.ts +2 -0
  130. package/dist/mcp/builtin/globals/updateTool.d.ts.map +1 -0
  131. package/dist/mcp/builtin/globals/updateTool.js +87 -0
  132. package/dist/mcp/builtin/globals/updateTool.js.map +1 -0
  133. package/dist/mcp/builtin/validateEntityData.d.ts +14 -0
  134. package/dist/mcp/builtin/validateEntityData.d.ts.map +1 -0
  135. package/dist/mcp/builtin/validateEntityData.js +82 -0
  136. package/dist/mcp/builtin/validateEntityData.js.map +1 -0
  137. package/dist/mcp/builtinTools.d.ts +168 -0
  138. package/dist/mcp/builtinTools.d.ts.map +1 -0
  139. package/dist/mcp/builtinTools.js +169 -0
  140. package/dist/mcp/builtinTools.js.map +1 -0
  141. package/dist/mcp/sanitizeMCPConfig.d.ts +16 -0
  142. package/dist/mcp/sanitizeMCPConfig.d.ts.map +1 -0
  143. package/dist/mcp/sanitizeMCPConfig.js +233 -0
  144. package/dist/mcp/sanitizeMCPConfig.js.map +1 -0
  145. package/dist/stdio.d.ts +8 -0
  146. package/dist/stdio.d.ts.map +1 -0
  147. package/dist/stdio.js +127 -0
  148. package/dist/stdio.js.map +1 -0
  149. package/dist/types.d.ts +256 -447
  150. package/dist/types.d.ts.map +1 -1
  151. package/dist/types.js +4 -1
  152. package/dist/types.js.map +1 -1
  153. package/dist/utils/getLogger.d.ts +10 -0
  154. package/dist/utils/getLogger.d.ts.map +1 -0
  155. package/dist/utils/getLogger.js +22 -0
  156. package/dist/utils/getLogger.js.map +1 -0
  157. package/dist/utils/getPluginConfig.d.ts +12 -0
  158. package/dist/utils/getPluginConfig.d.ts.map +1 -0
  159. package/dist/utils/getPluginConfig.js +15 -0
  160. package/dist/utils/getPluginConfig.js.map +1 -0
  161. package/dist/utils/resolveProjectRoot.d.ts +7 -0
  162. package/dist/utils/resolveProjectRoot.d.ts.map +1 -0
  163. package/dist/utils/resolveProjectRoot.js +15 -0
  164. package/dist/utils/resolveProjectRoot.js.map +1 -0
  165. package/dist/utils/schemaConversion/filterFieldsByAccess.d.ts +28 -0
  166. package/dist/utils/schemaConversion/filterFieldsByAccess.d.ts.map +1 -0
  167. package/dist/utils/schemaConversion/filterFieldsByAccess.js +71 -0
  168. package/dist/utils/schemaConversion/filterFieldsByAccess.js.map +1 -0
  169. package/dist/utils/schemaConversion/getEntityInputSchema.d.ts +13 -0
  170. package/dist/utils/schemaConversion/getEntityInputSchema.d.ts.map +1 -0
  171. package/dist/utils/schemaConversion/getEntityInputSchema.js +66 -0
  172. package/dist/utils/schemaConversion/getEntityInputSchema.js.map +1 -0
  173. package/dist/utils/schemaConversion/sanitizeEntitySchema.d.ts +10 -0
  174. package/dist/utils/schemaConversion/sanitizeEntitySchema.d.ts.map +1 -0
  175. package/dist/utils/schemaConversion/sanitizeEntitySchema.js +384 -0
  176. package/dist/utils/schemaConversion/sanitizeEntitySchema.js.map +1 -0
  177. package/dist/utils/schemaConversion/sanitizeEntitySchema.spec.js +133 -0
  178. package/dist/utils/schemaConversion/sanitizeEntitySchema.spec.js.map +1 -0
  179. package/dist/utils/toStandardSchema.d.ts +5 -0
  180. package/dist/utils/toStandardSchema.d.ts.map +1 -0
  181. package/dist/utils/toStandardSchema.js +4 -0
  182. package/dist/utils/toStandardSchema.js.map +1 -0
  183. package/dist/utils/whereSchema.d.ts +9 -0
  184. package/dist/utils/whereSchema.d.ts.map +1 -0
  185. package/dist/utils/whereSchema.js +13 -0
  186. package/dist/utils/whereSchema.js.map +1 -0
  187. package/package.json +30 -10
  188. package/src/defaultAccess.ts +3 -0
  189. package/src/defineTool.ts +44 -0
  190. package/src/endpoint/access.ts +112 -0
  191. package/src/endpoint/index.ts +77 -0
  192. package/src/exports/client.ts +3 -0
  193. package/src/exports/internal.ts +1 -0
  194. package/src/index.ts +31 -89
  195. package/src/mcp/buildMcpServer.ts +284 -0
  196. package/src/mcp/builtin/collections/authTools.ts +269 -0
  197. package/src/mcp/builtin/collections/countTool.ts +73 -0
  198. package/src/mcp/builtin/collections/countVersionsTool.ts +69 -0
  199. package/src/mcp/builtin/collections/createTool.ts +168 -0
  200. package/src/mcp/builtin/collections/deleteTool.ts +125 -0
  201. package/src/mcp/builtin/collections/duplicateTool.ts +134 -0
  202. package/src/mcp/builtin/collections/fileInput.spec.ts +93 -0
  203. package/src/mcp/builtin/collections/fileInput.ts +164 -0
  204. package/src/mcp/builtin/collections/findDistinctTool.ts +119 -0
  205. package/src/mcp/builtin/collections/findTool.ts +216 -0
  206. package/src/mcp/builtin/collections/findVersionByIDTool.ts +109 -0
  207. package/src/mcp/builtin/collections/findVersionsTool.ts +154 -0
  208. package/src/mcp/builtin/collections/formatCollectionError.ts +84 -0
  209. package/src/mcp/builtin/collections/getCollectionSchemaTool.ts +80 -0
  210. package/src/mcp/builtin/collections/restoreVersionTool.ts +107 -0
  211. package/src/mcp/builtin/collections/updateTool.ts +227 -0
  212. package/src/mcp/builtin/collections/uploadInstructionsTool.ts +64 -0
  213. package/src/mcp/builtin/getConfigInfoTool.ts +67 -0
  214. package/src/mcp/builtin/globals/countVersionsTool.ts +68 -0
  215. package/src/mcp/builtin/globals/findTool.ts +105 -0
  216. package/src/mcp/builtin/globals/findVersionByIDTool.ts +103 -0
  217. package/src/mcp/builtin/globals/findVersionsTool.ts +147 -0
  218. package/src/mcp/builtin/globals/getGlobalSchemaTool.ts +63 -0
  219. package/src/mcp/builtin/globals/restoreVersionTool.ts +99 -0
  220. package/src/mcp/builtin/globals/updateTool.ts +115 -0
  221. package/src/mcp/builtin/validateEntityData.ts +132 -0
  222. package/src/mcp/builtinTools.ts +161 -0
  223. package/src/mcp/sanitizeMCPConfig.ts +281 -0
  224. package/src/stdio.ts +131 -0
  225. package/src/types.ts +304 -486
  226. package/src/utils/getLogger.ts +22 -0
  227. package/src/utils/getPluginConfig.ts +24 -0
  228. package/src/utils/resolveProjectRoot.ts +17 -0
  229. package/src/utils/schemaConversion/filterFieldsByAccess.ts +123 -0
  230. package/src/utils/schemaConversion/getEntityInputSchema.ts +96 -0
  231. package/src/utils/schemaConversion/sanitizeEntitySchema.spec.ts +96 -0
  232. package/src/utils/schemaConversion/sanitizeEntitySchema.ts +432 -0
  233. package/src/utils/toStandardSchema.ts +9 -0
  234. package/src/utils/whereSchema.ts +24 -0
  235. package/dist/collections/createApiKeysCollection.d.ts +0 -7
  236. package/dist/collections/createApiKeysCollection.d.ts.map +0 -1
  237. package/dist/collections/createApiKeysCollection.js +0 -317
  238. package/dist/collections/createApiKeysCollection.js.map +0 -1
  239. package/dist/defaults.d.ts +0 -4
  240. package/dist/defaults.d.ts.map +0 -1
  241. package/dist/defaults.js +0 -5
  242. package/dist/defaults.js.map +0 -1
  243. package/dist/endpoints/mcp.d.ts +0 -4
  244. package/dist/endpoints/mcp.d.ts.map +0 -1
  245. package/dist/endpoints/mcp.js +0 -71
  246. package/dist/endpoints/mcp.js.map +0 -1
  247. package/dist/mcp/createRequest.d.ts +0 -3
  248. package/dist/mcp/createRequest.d.ts.map +0 -1
  249. package/dist/mcp/createRequest.js +0 -14
  250. package/dist/mcp/createRequest.js.map +0 -1
  251. package/dist/mcp/getMcpHandler.d.ts +0 -4
  252. package/dist/mcp/getMcpHandler.d.ts.map +0 -1
  253. package/dist/mcp/getMcpHandler.js +0 -231
  254. package/dist/mcp/getMcpHandler.js.map +0 -1
  255. package/dist/mcp/helpers/config.d.ts +0 -22
  256. package/dist/mcp/helpers/config.d.ts.map +0 -1
  257. package/dist/mcp/helpers/config.js +0 -153
  258. package/dist/mcp/helpers/config.js.map +0 -1
  259. package/dist/mcp/helpers/fields.d.ts +0 -19
  260. package/dist/mcp/helpers/fields.d.ts.map +0 -1
  261. package/dist/mcp/helpers/fields.js +0 -102
  262. package/dist/mcp/helpers/fields.js.map +0 -1
  263. package/dist/mcp/helpers/fileValidation.d.ts +0 -67
  264. package/dist/mcp/helpers/fileValidation.d.ts.map +0 -1
  265. package/dist/mcp/helpers/fileValidation.js +0 -267
  266. package/dist/mcp/helpers/fileValidation.js.map +0 -1
  267. package/dist/mcp/registerTool.d.ts +0 -6
  268. package/dist/mcp/registerTool.d.ts.map +0 -1
  269. package/dist/mcp/registerTool.js +0 -18
  270. package/dist/mcp/registerTool.js.map +0 -1
  271. package/dist/mcp/tools/auth/auth.d.ts +0 -4
  272. package/dist/mcp/tools/auth/auth.d.ts.map +0 -1
  273. package/dist/mcp/tools/auth/auth.js +0 -57
  274. package/dist/mcp/tools/auth/auth.js.map +0 -1
  275. package/dist/mcp/tools/auth/forgotPassword.d.ts +0 -4
  276. package/dist/mcp/tools/auth/forgotPassword.d.ts.map +0 -1
  277. package/dist/mcp/tools/auth/forgotPassword.js +0 -48
  278. package/dist/mcp/tools/auth/forgotPassword.js.map +0 -1
  279. package/dist/mcp/tools/auth/login.d.ts +0 -4
  280. package/dist/mcp/tools/auth/login.d.ts.map +0 -1
  281. package/dist/mcp/tools/auth/login.js +0 -51
  282. package/dist/mcp/tools/auth/login.js.map +0 -1
  283. package/dist/mcp/tools/auth/resetPassword.d.ts +0 -4
  284. package/dist/mcp/tools/auth/resetPassword.d.ts.map +0 -1
  285. package/dist/mcp/tools/auth/resetPassword.js +0 -49
  286. package/dist/mcp/tools/auth/resetPassword.js.map +0 -1
  287. package/dist/mcp/tools/auth/unlock.d.ts +0 -4
  288. package/dist/mcp/tools/auth/unlock.d.ts.map +0 -1
  289. package/dist/mcp/tools/auth/unlock.js +0 -48
  290. package/dist/mcp/tools/auth/unlock.js.map +0 -1
  291. package/dist/mcp/tools/auth/verify.d.ts +0 -4
  292. package/dist/mcp/tools/auth/verify.d.ts.map +0 -1
  293. package/dist/mcp/tools/auth/verify.js +0 -45
  294. package/dist/mcp/tools/auth/verify.js.map +0 -1
  295. package/dist/mcp/tools/collection/create.d.ts +0 -10
  296. package/dist/mcp/tools/collection/create.d.ts.map +0 -1
  297. package/dist/mcp/tools/collection/create.js +0 -139
  298. package/dist/mcp/tools/collection/create.js.map +0 -1
  299. package/dist/mcp/tools/collection/delete.d.ts +0 -10
  300. package/dist/mcp/tools/collection/delete.d.ts.map +0 -1
  301. package/dist/mcp/tools/collection/delete.js +0 -154
  302. package/dist/mcp/tools/collection/delete.js.map +0 -1
  303. package/dist/mcp/tools/collection/find.d.ts +0 -10
  304. package/dist/mcp/tools/collection/find.d.ts.map +0 -1
  305. package/dist/mcp/tools/collection/find.js +0 -165
  306. package/dist/mcp/tools/collection/find.js.map +0 -1
  307. package/dist/mcp/tools/collection/update.d.ts +0 -10
  308. package/dist/mcp/tools/collection/update.d.ts.map +0 -1
  309. package/dist/mcp/tools/collection/update.js +0 -209
  310. package/dist/mcp/tools/collection/update.js.map +0 -1
  311. package/dist/mcp/tools/config/find.d.ts +0 -10
  312. package/dist/mcp/tools/config/find.d.ts.map +0 -1
  313. package/dist/mcp/tools/config/find.js +0 -97
  314. package/dist/mcp/tools/config/find.js.map +0 -1
  315. package/dist/mcp/tools/config/update.d.ts +0 -10
  316. package/dist/mcp/tools/config/update.d.ts.map +0 -1
  317. package/dist/mcp/tools/config/update.js +0 -215
  318. package/dist/mcp/tools/config/update.js.map +0 -1
  319. package/dist/mcp/tools/global/find.d.ts +0 -5
  320. package/dist/mcp/tools/global/find.d.ts.map +0 -1
  321. package/dist/mcp/tools/global/find.js +0 -82
  322. package/dist/mcp/tools/global/find.js.map +0 -1
  323. package/dist/mcp/tools/global/update.d.ts +0 -6
  324. package/dist/mcp/tools/global/update.d.ts.map +0 -1
  325. package/dist/mcp/tools/global/update.js +0 -124
  326. package/dist/mcp/tools/global/update.js.map +0 -1
  327. package/dist/mcp/tools/job/create.d.ts +0 -10
  328. package/dist/mcp/tools/job/create.d.ts.map +0 -1
  329. package/dist/mcp/tools/job/create.js +0 -293
  330. package/dist/mcp/tools/job/create.js.map +0 -1
  331. package/dist/mcp/tools/job/run.d.ts +0 -10
  332. package/dist/mcp/tools/job/run.d.ts.map +0 -1
  333. package/dist/mcp/tools/job/run.js +0 -129
  334. package/dist/mcp/tools/job/run.js.map +0 -1
  335. package/dist/mcp/tools/job/update.d.ts +0 -11
  336. package/dist/mcp/tools/job/update.d.ts.map +0 -1
  337. package/dist/mcp/tools/job/update.js +0 -186
  338. package/dist/mcp/tools/job/update.js.map +0 -1
  339. package/dist/mcp/tools/resource/create.d.ts +0 -6
  340. package/dist/mcp/tools/resource/create.d.ts.map +0 -1
  341. package/dist/mcp/tools/resource/create.js +0 -124
  342. package/dist/mcp/tools/resource/create.js.map +0 -1
  343. package/dist/mcp/tools/resource/delete.d.ts +0 -5
  344. package/dist/mcp/tools/resource/delete.d.ts.map +0 -1
  345. package/dist/mcp/tools/resource/delete.js +0 -151
  346. package/dist/mcp/tools/resource/delete.js.map +0 -1
  347. package/dist/mcp/tools/resource/find.d.ts +0 -5
  348. package/dist/mcp/tools/resource/find.d.ts.map +0 -1
  349. package/dist/mcp/tools/resource/find.js +0 -170
  350. package/dist/mcp/tools/resource/find.js.map +0 -1
  351. package/dist/mcp/tools/resource/update.d.ts +0 -6
  352. package/dist/mcp/tools/resource/update.d.ts.map +0 -1
  353. package/dist/mcp/tools/resource/update.js +0 -256
  354. package/dist/mcp/tools/resource/update.js.map +0 -1
  355. package/dist/mcp/tools/schemas.d.ts +0 -457
  356. package/dist/mcp/tools/schemas.d.ts.map +0 -1
  357. package/dist/mcp/tools/schemas.js +0 -243
  358. package/dist/mcp/tools/schemas.js.map +0 -1
  359. package/dist/utils/adminEntitySettings.d.ts +0 -17
  360. package/dist/utils/adminEntitySettings.d.ts.map +0 -1
  361. package/dist/utils/adminEntitySettings.js +0 -41
  362. package/dist/utils/adminEntitySettings.js.map +0 -1
  363. package/dist/utils/createApiKeyFields.d.ts +0 -15
  364. package/dist/utils/createApiKeyFields.d.ts.map +0 -1
  365. package/dist/utils/createApiKeyFields.js +0 -57
  366. package/dist/utils/createApiKeyFields.js.map +0 -1
  367. package/dist/utils/getEnabledSlugs.d.ts +0 -13
  368. package/dist/utils/getEnabledSlugs.d.ts.map +0 -1
  369. package/dist/utils/getEnabledSlugs.js +0 -32
  370. package/dist/utils/getEnabledSlugs.js.map +0 -1
  371. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.d.ts +0 -3
  372. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.d.ts.map +0 -1
  373. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.js +0 -43
  374. package/dist/utils/schemaConversion/convertCollectionSchemaToZod.js.map +0 -1
  375. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.d.ts +0 -7
  376. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.d.ts.map +0 -1
  377. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.js +0 -20
  378. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.js.map +0 -1
  379. package/dist/utils/schemaConversion/sanitizeJsonSchema.d.ts +0 -13
  380. package/dist/utils/schemaConversion/sanitizeJsonSchema.d.ts.map +0 -1
  381. package/dist/utils/schemaConversion/sanitizeJsonSchema.js +0 -56
  382. package/dist/utils/schemaConversion/sanitizeJsonSchema.js.map +0 -1
  383. package/dist/utils/schemaConversion/simplifyRelationshipFields.d.ts +0 -20
  384. package/dist/utils/schemaConversion/simplifyRelationshipFields.d.ts.map +0 -1
  385. package/dist/utils/schemaConversion/simplifyRelationshipFields.js +0 -53
  386. package/dist/utils/schemaConversion/simplifyRelationshipFields.js.map +0 -1
  387. package/dist/utils/schemaConversion/transformPointFields.d.ts +0 -3
  388. package/dist/utils/schemaConversion/transformPointFields.d.ts.map +0 -1
  389. package/dist/utils/schemaConversion/transformPointFields.js +0 -51
  390. package/dist/utils/schemaConversion/transformPointFields.js.map +0 -1
  391. package/src/collections/createApiKeysCollection.ts +0 -373
  392. package/src/defaults.ts +0 -3
  393. package/src/endpoints/mcp.ts +0 -91
  394. package/src/mcp/createRequest.ts +0 -13
  395. package/src/mcp/getMcpHandler.ts +0 -545
  396. package/src/mcp/helpers/config.ts +0 -213
  397. package/src/mcp/helpers/fields.ts +0 -154
  398. package/src/mcp/helpers/fileValidation.ts +0 -362
  399. package/src/mcp/registerTool.ts +0 -22
  400. package/src/mcp/tools/auth/auth.ts +0 -71
  401. package/src/mcp/tools/auth/forgotPassword.ts +0 -70
  402. package/src/mcp/tools/auth/login.ts +0 -72
  403. package/src/mcp/tools/auth/resetPassword.ts +0 -61
  404. package/src/mcp/tools/auth/unlock.ts +0 -64
  405. package/src/mcp/tools/auth/verify.ts +0 -57
  406. package/src/mcp/tools/collection/create.ts +0 -210
  407. package/src/mcp/tools/collection/delete.ts +0 -211
  408. package/src/mcp/tools/collection/find.ts +0 -224
  409. package/src/mcp/tools/collection/update.ts +0 -290
  410. package/src/mcp/tools/config/find.ts +0 -128
  411. package/src/mcp/tools/config/update.ts +0 -280
  412. package/src/mcp/tools/global/find.ts +0 -128
  413. package/src/mcp/tools/global/update.ts +0 -207
  414. package/src/mcp/tools/job/create.ts +0 -416
  415. package/src/mcp/tools/job/run.ts +0 -167
  416. package/src/mcp/tools/job/update.ts +0 -274
  417. package/src/mcp/tools/resource/create.ts +0 -211
  418. package/src/mcp/tools/resource/delete.ts +0 -218
  419. package/src/mcp/tools/resource/find.ts +0 -246
  420. package/src/mcp/tools/resource/update.ts +0 -383
  421. package/src/mcp/tools/schemas.ts +0 -520
  422. package/src/utils/adminEntitySettings.ts +0 -40
  423. package/src/utils/createApiKeyFields.ts +0 -72
  424. package/src/utils/getEnabledSlugs.ts +0 -42
  425. package/src/utils/schemaConversion/convertCollectionSchemaToZod.ts +0 -52
  426. package/src/utils/schemaConversion/removeVirtualFieldsFromSchema.ts +0 -27
  427. package/src/utils/schemaConversion/sanitizeJsonSchema.ts +0 -62
  428. package/src/utils/schemaConversion/simplifyRelationshipFields.ts +0 -65
  429. package/src/utils/schemaConversion/transformPointFields.ts +0 -55
@@ -1,224 +0,0 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
2
- import type { PayloadRequest } from 'payload'
3
-
4
- import { readdirSync, readFileSync, statSync } from 'fs'
5
- import { extname, join } from 'path'
6
-
7
- import { toolSchemas } from '../schemas.js'
8
-
9
- export const readCollections = (
10
- req: PayloadRequest,
11
- verboseLogs: boolean,
12
- collectionsDirPath: string,
13
- collectionName?: string,
14
- includeContent: boolean = false,
15
- includeCount: boolean = false,
16
- ) => {
17
- const payload = req.payload
18
-
19
- if (verboseLogs) {
20
- payload.logger.info(
21
- `[payload-mcp] Reading collections${collectionName ? ` for: ${collectionName}` : ''}, includeContent: ${includeContent}, includeCount: ${includeCount}`,
22
- )
23
- }
24
-
25
- try {
26
- // Read specific Collection (optional)
27
- if (collectionName) {
28
- const fileName = `${collectionName.charAt(0).toUpperCase() + collectionName.slice(1)}.ts`
29
- const filePath = join(collectionsDirPath, fileName)
30
-
31
- if (!filePath.startsWith(collectionsDirPath)) {
32
- payload.logger.error(`[payload-mcp] Invalid collection name attempted: ${collectionName}`)
33
- return {
34
- content: [{ type: 'text' as const, text: 'Error: Invalid collection name' }],
35
- }
36
- }
37
-
38
- try {
39
- const content = readFileSync(filePath, 'utf8')
40
- if (verboseLogs) {
41
- payload.logger.info(`[payload-mcp] Successfully read collection: ${collectionName}`)
42
- }
43
-
44
- return {
45
- content: [
46
- {
47
- type: 'text' as const,
48
- text: `Collection: ${collectionName}
49
- File: ${fileName}
50
- ---
51
- ${content}`,
52
- },
53
- ],
54
- }
55
- } catch (_error) {
56
- payload.logger.warn(`[payload-mcp] Collection not found: ${collectionName}`)
57
- return {
58
- content: [
59
- {
60
- type: 'text' as const,
61
- text: `Error: Collection '${collectionName}' not found`,
62
- },
63
- ],
64
- }
65
- }
66
- }
67
-
68
- // Read all Collections
69
- const files = readdirSync(collectionsDirPath)
70
- .filter((file) => extname(file) === '.ts')
71
- .sort()
72
-
73
- if (verboseLogs) {
74
- payload.logger.info(`[payload-mcp] Found ${files.length} collection files in directory`)
75
- }
76
-
77
- if (files.length === 0) {
78
- payload.logger.warn('[payload-mcp] No collection files found in src/collections directory')
79
- return {
80
- content: [
81
- {
82
- type: 'text' as const,
83
- text: 'No collection files found in src/collections directory',
84
- },
85
- ],
86
- }
87
- }
88
-
89
- const results = []
90
-
91
- // Build complete table as a single markdown string
92
- let tableContent = `Found ${files.length} collection file(s):\n\n`
93
-
94
- // Build table header
95
- let tableHeader = '| Collection | File | Size | Modified'
96
- let tableSeparator = '|------------|------|------|----------'
97
-
98
- if (includeCount) {
99
- tableHeader += ' | Documents'
100
- tableSeparator += ' |----------'
101
- }
102
- tableHeader += ' |'
103
- tableSeparator += ' |'
104
-
105
- tableContent += tableHeader + '\n'
106
- tableContent += tableSeparator + '\n'
107
-
108
- for (const file of files) {
109
- const filePath = join(collectionsDirPath, file)
110
- const stats = statSync(filePath)
111
- const fileSize = stats.size
112
- const lastModified = stats.mtime
113
-
114
- const collectionName = file.replace('.ts', '')
115
-
116
- // Build table row
117
- let tableRow = `| **${collectionName}** | ${file} | ${fileSize.toLocaleString()} bytes | ${lastModified.toISOString()}`
118
-
119
- // Add document count if requested
120
- if (includeCount) {
121
- try {
122
- // For now, we'll skip document counting since we don't have access to payload instance
123
- tableRow += ' | -'
124
- } catch (error) {
125
- tableRow += ` | Error: ${(error as Error).message}`
126
- }
127
- }
128
- tableRow += ' |'
129
-
130
- tableContent += tableRow + '\n'
131
-
132
- if (includeContent) {
133
- try {
134
- const content = readFileSync(filePath, 'utf8')
135
- tableContent += `\n**${collectionName} Content:**\n\`\`\`typescript\n${content}\n\`\`\`\n\n`
136
- } catch (error) {
137
- tableContent += `\nError reading content: ${(error as Error).message}\n\n`
138
- }
139
- }
140
- }
141
-
142
- results.push({
143
- type: 'text' as const,
144
- text: tableContent,
145
- })
146
-
147
- return {
148
- content: results,
149
- }
150
- } catch (error) {
151
- const errorMessage = (error as Error).message
152
- payload.logger.error(`[payload-mcp] Error reading collections: ${errorMessage}`)
153
- return {
154
- content: [
155
- {
156
- type: 'text' as const,
157
- text: `❌ **Error reading collections**: ${errorMessage}`,
158
- },
159
- ],
160
- }
161
- }
162
- }
163
-
164
- // MCP Server tool registration
165
- export const findCollectionTool = (
166
- server: McpServer,
167
- req: PayloadRequest,
168
- verboseLogs: boolean,
169
- collectionsDirPath: string,
170
- ) => {
171
- const tool = (
172
- collectionName?: string,
173
- includeContent: boolean = false,
174
- includeCount: boolean = false,
175
- ) => {
176
- const payload = req.payload
177
-
178
- if (verboseLogs) {
179
- payload.logger.info(
180
- `[payload-mcp] Finding collections${collectionName ? ` for: ${collectionName}` : ''}, includeContent: ${includeContent}, includeCount: ${includeCount}`,
181
- )
182
- }
183
-
184
- try {
185
- const result = readCollections(
186
- req,
187
- verboseLogs,
188
- collectionsDirPath,
189
- collectionName,
190
- includeContent,
191
- includeCount,
192
- )
193
-
194
- if (verboseLogs) {
195
- payload.logger.info(`[payload-mcp] Collection search completed`)
196
- }
197
-
198
- return result
199
- } catch (error) {
200
- const errorMessage = error instanceof Error ? error.message : 'Unknown error'
201
- payload.logger.error(`[payload-mcp] Error finding collections: ${errorMessage}`)
202
-
203
- return {
204
- content: [
205
- {
206
- type: 'text' as const,
207
- text: `Error finding collections: ${errorMessage}`,
208
- },
209
- ],
210
- }
211
- }
212
- }
213
-
214
- server.registerTool(
215
- 'findCollections',
216
- {
217
- description: toolSchemas.findCollections.description,
218
- inputSchema: toolSchemas.findCollections.parameters.shape,
219
- },
220
- ({ collectionName, includeContent, includeCount }) => {
221
- return tool(collectionName, includeContent, includeCount)
222
- },
223
- )
224
- }
@@ -1,290 +0,0 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
2
- import type { PayloadRequest } from 'payload'
3
-
4
- import { readFileSync, writeFileSync } from 'fs'
5
- import { join } from 'path'
6
-
7
- import {
8
- addFieldsToCollection,
9
- modifyFieldsInCollection,
10
- removeFieldsFromCollection,
11
- } from '../../helpers/fields.js'
12
- import { validateCollectionFile } from '../../helpers/fileValidation.js'
13
- import { toolSchemas } from '../schemas.js'
14
-
15
- export const updateCollection = async (
16
- req: PayloadRequest,
17
- verboseLogs: boolean,
18
- collectionsDirPath: string,
19
- configFilePath: string,
20
- collectionName: string,
21
- updateType: string,
22
- newFields?: any[],
23
- fieldNamesToRemove?: string[],
24
- fieldModifications?: any[],
25
- configUpdates?: any,
26
- newContent?: string,
27
- ) => {
28
- const payload = req.payload
29
- if (verboseLogs) {
30
- payload.logger.info(
31
- `[payload-mcp] Updating collection: ${collectionName}, updateType: ${updateType}`,
32
- )
33
- }
34
-
35
- const capitalizedName = collectionName.charAt(0).toUpperCase() + collectionName.slice(1)
36
- const fileName = `${capitalizedName}.ts`
37
- const filePath = join(collectionsDirPath, fileName)
38
-
39
- // Security check: ensure we're working with the collections directory
40
- if (!filePath.startsWith(collectionsDirPath)) {
41
- payload.logger.error(`[payload-mcp] Invalid collection path attempted: ${filePath}`)
42
- return {
43
- content: [
44
- {
45
- type: 'text' as const,
46
- text: '❌ **Error**: Invalid collection path',
47
- },
48
- ],
49
- }
50
- }
51
-
52
- try {
53
- // Check if collection file exists
54
- let currentContent: string
55
- try {
56
- currentContent = readFileSync(filePath, 'utf8')
57
- } catch (_ignore) {
58
- return {
59
- content: [
60
- {
61
- type: 'text' as const,
62
- text: `❌ **Error**: Collection file not found: ${fileName}`,
63
- },
64
- ],
65
- }
66
- }
67
-
68
- let updatedContent: string
69
- let updateSummary: string[] = []
70
-
71
- switch (updateType) {
72
- case 'add_field':
73
- if (!newFields || newFields.length === 0) {
74
- return {
75
- content: [
76
- {
77
- type: 'text' as const,
78
- text: '❌ **Error**: No fields provided for add_field update type',
79
- },
80
- ],
81
- }
82
- }
83
- updatedContent = addFieldsToCollection(currentContent, newFields)
84
- updateSummary = newFields.map((field: any) => `Added field: ${field.name} (${field.type})`)
85
- break
86
-
87
- case 'modify_field':
88
- if (!fieldModifications || fieldModifications.length === 0) {
89
- return {
90
- content: [
91
- {
92
- type: 'text' as const,
93
- text: '❌ **Error**: No field modifications provided for modify_field update type',
94
- },
95
- ],
96
- }
97
- }
98
- updatedContent = modifyFieldsInCollection(currentContent, fieldModifications)
99
- updateSummary = fieldModifications.map((mod: any) => `Modified field: ${mod.fieldName}`)
100
- break
101
-
102
- case 'remove_field':
103
- if (!fieldNamesToRemove || fieldNamesToRemove.length === 0) {
104
- return {
105
- content: [
106
- {
107
- type: 'text' as const,
108
- text: '❌ **Error**: No field names provided for remove_field update type',
109
- },
110
- ],
111
- }
112
- }
113
- updatedContent = removeFieldsFromCollection(currentContent, fieldNamesToRemove)
114
- updateSummary = fieldNamesToRemove.map((fieldName: string) => `Removed field: ${fieldName}`)
115
- break
116
-
117
- case 'replace_content':
118
- if (!newContent) {
119
- return {
120
- content: [
121
- {
122
- type: 'text' as const,
123
- text: '❌ **Error**: No new content provided for replace_content update type',
124
- },
125
- ],
126
- }
127
- }
128
- updatedContent = newContent
129
- updateSummary = ['Replaced entire collection content']
130
- break
131
-
132
- case 'update_config':
133
- if (!configUpdates) {
134
- return {
135
- content: [
136
- {
137
- type: 'text' as const,
138
- text: '❌ **Error**: No config updates provided for update_config update type',
139
- },
140
- ],
141
- }
142
- }
143
- // For now, we'll use a simple approach since the config helper might not have this functionality
144
- updatedContent = currentContent
145
- updateSummary = Object.keys(configUpdates).map((key) => `Updated config: ${key}`)
146
- break
147
-
148
- default:
149
- return {
150
- content: [
151
- {
152
- type: 'text' as const,
153
- text: `❌ **Error**: Unknown update type: ${updateType}`,
154
- },
155
- ],
156
- }
157
- }
158
-
159
- // Write the updated content back to the file
160
- writeFileSync(filePath, updatedContent, 'utf8')
161
- if (verboseLogs) {
162
- payload.logger.info(`[payload-mcp] Successfully updated collection file: ${filePath}`)
163
- }
164
-
165
- // Validate the updated file
166
- const validationResult = await validateCollectionFile(fileName)
167
- if (validationResult.error) {
168
- return {
169
- content: [
170
- {
171
- type: 'text' as const,
172
- text: `❌ **Error**: Updated collection has validation issues:\n\n${validationResult.error}`,
173
- },
174
- ],
175
- }
176
- }
177
-
178
- return {
179
- content: [
180
- {
181
- type: 'text' as const,
182
- text: `✅ **Collection updated successfully!**
183
-
184
- **File**: \`${fileName}\`
185
- **Update Type**: ${updateType}
186
-
187
- **Changes Made**:
188
- ${updateSummary.map((summary) => `- ${summary}`).join('\n')}
189
-
190
- **Updated Collection Code:**
191
- \`\`\`typescript
192
- ${updatedContent}
193
- \`\`\``,
194
- },
195
- ],
196
- }
197
- } catch (error) {
198
- const errorMessage = (error as Error).message
199
- payload.logger.error(`[payload-mcp] Error updating collection: ${errorMessage}`)
200
- return {
201
- content: [
202
- {
203
- type: 'text' as const,
204
- text: `❌ **Error updating collection**: ${errorMessage}`,
205
- },
206
- ],
207
- }
208
- }
209
- }
210
-
211
- export const updateCollectionTool = (
212
- server: McpServer,
213
- req: PayloadRequest,
214
- verboseLogs: boolean,
215
- collectionsDirPath: string,
216
- configFilePath: string,
217
- ) => {
218
- const tool = async ({
219
- collectionName,
220
- configUpdates,
221
- fieldModifications,
222
- fieldNamesToRemove,
223
- newContent,
224
- newFields,
225
- updateType,
226
- }: {
227
- collectionName: string
228
- configUpdates?: any
229
- fieldModifications?: any[]
230
- fieldNamesToRemove?: string[]
231
- newContent?: string
232
- newFields?: any[]
233
- updateType: string
234
- }) => {
235
- const payload = req.payload
236
-
237
- if (verboseLogs) {
238
- payload.logger.info(
239
- `[payload-mcp] Updating collection: ${collectionName}, updateType: ${updateType}`,
240
- )
241
- }
242
-
243
- try {
244
- const result = await updateCollection(
245
- req,
246
- verboseLogs,
247
- collectionsDirPath,
248
- configFilePath,
249
- collectionName,
250
- updateType,
251
- newFields,
252
- fieldNamesToRemove,
253
- fieldModifications,
254
- configUpdates,
255
- newContent,
256
- )
257
-
258
- if (verboseLogs) {
259
- payload.logger.info(`[payload-mcp] Collection update completed for: ${collectionName}`)
260
- }
261
-
262
- return result
263
- } catch (error) {
264
- const errorMessage = error instanceof Error ? error.message : 'Unknown error'
265
- payload.logger.error(
266
- `[payload-mcp] Error updating collection ${collectionName}: ${errorMessage}`,
267
- )
268
-
269
- return {
270
- content: [
271
- {
272
- type: 'text' as const,
273
- text: `Error updating collection "${collectionName}": ${errorMessage}`,
274
- },
275
- ],
276
- }
277
- }
278
- }
279
-
280
- server.registerTool(
281
- 'updateCollection',
282
- {
283
- description: toolSchemas.updateCollection.description,
284
- inputSchema: toolSchemas.updateCollection.parameters.shape,
285
- },
286
- async (args) => {
287
- return await tool(args)
288
- },
289
- )
290
- }
@@ -1,128 +0,0 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
2
- import type { PayloadRequest } from 'payload'
3
-
4
- import { readFileSync, statSync } from 'fs'
5
-
6
- import { toolSchemas } from '../schemas.js'
7
-
8
- export const readConfigFile = (
9
- req: PayloadRequest,
10
- verboseLogs: boolean,
11
- configFilePath: string,
12
- includeMetadata: boolean = false,
13
- ) => {
14
- const payload = req.payload
15
- if (verboseLogs) {
16
- payload.logger.info(`[payload-mcp] Reading config file, includeMetadata: ${includeMetadata}`)
17
- }
18
-
19
- try {
20
- // Security check: ensure we're working with the specified config file
21
- if (!configFilePath.startsWith(process.cwd()) && !configFilePath.startsWith('/')) {
22
- payload.logger.error(`[payload-mcp] Invalid config path attempted: ${configFilePath}`)
23
- return {
24
- content: [
25
- {
26
- type: 'text' as const,
27
- text: '❌ **Error**: Invalid config path',
28
- },
29
- ],
30
- }
31
- }
32
-
33
- const content = readFileSync(configFilePath, 'utf8')
34
- const stats = statSync(configFilePath)
35
-
36
- if (verboseLogs) {
37
- payload.logger.info(`[payload-mcp] Successfully read config file. Size: ${stats.size} bytes`)
38
- }
39
-
40
- let responseText = `# Payload Configuration
41
-
42
- **File**: \`${configFilePath}\``
43
-
44
- if (includeMetadata) {
45
- responseText += `
46
- **Size**: ${stats.size.toLocaleString()} bytes
47
- **Modified**: ${stats.mtime.toISOString()}
48
- **Created**: ${stats.birthtime.toISOString()}`
49
- }
50
-
51
- responseText += `
52
- ---
53
-
54
- **Configuration Content:**
55
- \`\`\`typescript
56
- ${content}
57
- \`\`\``
58
-
59
- return {
60
- content: [
61
- {
62
- type: 'text' as const,
63
- text: responseText,
64
- },
65
- ],
66
- }
67
- } catch (error) {
68
- const errorMessage = (error as Error).message
69
- payload.logger.error(`[payload-mcp] Error reading config file: ${errorMessage}`)
70
- return {
71
- content: [
72
- {
73
- type: 'text' as const,
74
- text: `❌ **Error reading config file**: ${errorMessage}`,
75
- },
76
- ],
77
- }
78
- }
79
- }
80
-
81
- // MCP Server tool registration
82
- export const findConfigTool = (
83
- server: McpServer,
84
- req: PayloadRequest,
85
- verboseLogs: boolean,
86
- configFilePath: string,
87
- ) => {
88
- const tool = (includeMetadata: boolean = false) => {
89
- const payload = req.payload
90
-
91
- if (verboseLogs) {
92
- payload.logger.info(`[payload-mcp] Finding config, includeMetadata: ${includeMetadata}`)
93
- }
94
-
95
- try {
96
- const result = readConfigFile(req, verboseLogs, configFilePath, includeMetadata)
97
-
98
- if (verboseLogs) {
99
- payload.logger.info(`[payload-mcp] Config search completed`)
100
- }
101
-
102
- return result
103
- } catch (error) {
104
- const errorMessage = error instanceof Error ? error.message : 'Unknown error'
105
- payload.logger.error(`[payload-mcp] Error finding config: ${errorMessage}`)
106
-
107
- return {
108
- content: [
109
- {
110
- type: 'text' as const,
111
- text: `Error finding config: ${errorMessage}`,
112
- },
113
- ],
114
- }
115
- }
116
- }
117
-
118
- server.registerTool(
119
- 'findConfig',
120
- {
121
- description: toolSchemas.findConfig.description,
122
- inputSchema: toolSchemas.findConfig.parameters.shape,
123
- },
124
- ({ includeMetadata }) => {
125
- return tool(includeMetadata)
126
- },
127
- )
128
- }