@payloadcms/plugin-mcp 4.0.0-internal.40de3ec → 4.0.0-internal.4804abd

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 (214) hide show
  1. package/dist/defaultAccess.d.ts +3 -0
  2. package/dist/defaultAccess.d.ts.map +1 -0
  3. package/dist/defaultAccess.js +3 -0
  4. package/dist/defaultAccess.js.map +1 -0
  5. package/dist/endpoint/access.d.ts +17 -5
  6. package/dist/endpoint/access.d.ts.map +1 -1
  7. package/dist/endpoint/access.js +82 -88
  8. package/dist/endpoint/access.js.map +1 -1
  9. package/dist/endpoint/index.d.ts.map +1 -1
  10. package/dist/endpoint/index.js +11 -0
  11. package/dist/endpoint/index.js.map +1 -1
  12. package/dist/exports/client.d.ts +1 -1
  13. package/dist/exports/client.d.ts.map +1 -1
  14. package/dist/exports/client.js +1 -1
  15. package/dist/exports/client.js.map +1 -1
  16. package/dist/exports/internal.d.ts +2 -0
  17. package/dist/exports/internal.d.ts.map +1 -0
  18. package/dist/exports/internal.js +3 -0
  19. package/dist/exports/internal.js.map +1 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +13 -18
  22. package/dist/index.js.map +1 -1
  23. package/dist/mcp/buildMcpServer.d.ts.map +1 -1
  24. package/dist/mcp/buildMcpServer.js +102 -71
  25. package/dist/mcp/buildMcpServer.js.map +1 -1
  26. package/dist/mcp/builtin/collections/authTools.d.ts.map +1 -1
  27. package/dist/mcp/builtin/collections/authTools.js +44 -6
  28. package/dist/mcp/builtin/collections/authTools.js.map +1 -1
  29. package/dist/mcp/builtin/collections/countTool.d.ts +2 -0
  30. package/dist/mcp/builtin/collections/countTool.d.ts.map +1 -0
  31. package/dist/mcp/builtin/collections/countTool.js +69 -0
  32. package/dist/mcp/builtin/collections/countTool.js.map +1 -0
  33. package/dist/mcp/builtin/collections/countVersionsTool.d.ts +2 -0
  34. package/dist/mcp/builtin/collections/countVersionsTool.d.ts.map +1 -0
  35. package/dist/mcp/builtin/collections/countVersionsTool.js +65 -0
  36. package/dist/mcp/builtin/collections/countVersionsTool.js.map +1 -0
  37. package/dist/mcp/builtin/collections/createTool.d.ts +1 -1
  38. package/dist/mcp/builtin/collections/createTool.d.ts.map +1 -1
  39. package/dist/mcp/builtin/collections/createTool.js +38 -42
  40. package/dist/mcp/builtin/collections/createTool.js.map +1 -1
  41. package/dist/mcp/builtin/collections/deleteTool.d.ts +1 -1
  42. package/dist/mcp/builtin/collections/deleteTool.d.ts.map +1 -1
  43. package/dist/mcp/builtin/collections/deleteTool.js +14 -20
  44. package/dist/mcp/builtin/collections/deleteTool.js.map +1 -1
  45. package/dist/mcp/builtin/collections/duplicateTool.d.ts +2 -0
  46. package/dist/mcp/builtin/collections/duplicateTool.d.ts.map +1 -0
  47. package/dist/mcp/builtin/collections/duplicateTool.js +97 -0
  48. package/dist/mcp/builtin/collections/duplicateTool.js.map +1 -0
  49. package/dist/mcp/builtin/collections/findDistinctTool.d.ts +2 -0
  50. package/dist/mcp/builtin/collections/findDistinctTool.d.ts.map +1 -0
  51. package/dist/mcp/builtin/collections/findDistinctTool.js +93 -0
  52. package/dist/mcp/builtin/collections/findDistinctTool.js.map +1 -0
  53. package/dist/mcp/builtin/collections/findTool.d.ts +1 -1
  54. package/dist/mcp/builtin/collections/findTool.d.ts.map +1 -1
  55. package/dist/mcp/builtin/collections/findTool.js +49 -43
  56. package/dist/mcp/builtin/collections/findTool.js.map +1 -1
  57. package/dist/mcp/builtin/collections/findVersionByIDTool.d.ts +2 -0
  58. package/dist/mcp/builtin/collections/findVersionByIDTool.d.ts.map +1 -0
  59. package/dist/mcp/builtin/collections/findVersionByIDTool.js +84 -0
  60. package/dist/mcp/builtin/collections/findVersionByIDTool.js.map +1 -0
  61. package/dist/mcp/builtin/collections/findVersionsTool.d.ts +2 -0
  62. package/dist/mcp/builtin/collections/findVersionsTool.d.ts.map +1 -0
  63. package/dist/mcp/builtin/collections/findVersionsTool.js +99 -0
  64. package/dist/mcp/builtin/collections/findVersionsTool.js.map +1 -0
  65. package/dist/mcp/builtin/collections/formatCollectionError.d.ts +9 -0
  66. package/dist/mcp/builtin/collections/formatCollectionError.d.ts.map +1 -0
  67. package/dist/mcp/builtin/collections/formatCollectionError.js +60 -0
  68. package/dist/mcp/builtin/collections/formatCollectionError.js.map +1 -0
  69. package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts +2 -0
  70. package/dist/mcp/builtin/collections/getCollectionSchemaTool.d.ts.map +1 -0
  71. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js +47 -0
  72. package/dist/mcp/builtin/collections/getCollectionSchemaTool.js.map +1 -0
  73. package/dist/mcp/builtin/collections/restoreVersionTool.d.ts +2 -0
  74. package/dist/mcp/builtin/collections/restoreVersionTool.d.ts.map +1 -0
  75. package/dist/mcp/builtin/collections/restoreVersionTool.js +82 -0
  76. package/dist/mcp/builtin/collections/restoreVersionTool.js.map +1 -0
  77. package/dist/mcp/builtin/collections/updateTool.d.ts +1 -1
  78. package/dist/mcp/builtin/collections/updateTool.d.ts.map +1 -1
  79. package/dist/mcp/builtin/collections/updateTool.js +87 -86
  80. package/dist/mcp/builtin/collections/updateTool.js.map +1 -1
  81. package/dist/mcp/builtin/getConfigInfoTool.d.ts +2 -0
  82. package/dist/mcp/builtin/getConfigInfoTool.d.ts.map +1 -0
  83. package/dist/mcp/builtin/getConfigInfoTool.js +71 -0
  84. package/dist/mcp/builtin/getConfigInfoTool.js.map +1 -0
  85. package/dist/mcp/builtin/globals/countVersionsTool.d.ts +2 -0
  86. package/dist/mcp/builtin/globals/countVersionsTool.d.ts.map +1 -0
  87. package/dist/mcp/builtin/globals/countVersionsTool.js +65 -0
  88. package/dist/mcp/builtin/globals/countVersionsTool.js.map +1 -0
  89. package/dist/mcp/builtin/globals/findTool.d.ts.map +1 -1
  90. package/dist/mcp/builtin/globals/findTool.js +18 -21
  91. package/dist/mcp/builtin/globals/findTool.js.map +1 -1
  92. package/dist/mcp/builtin/globals/findVersionByIDTool.d.ts +2 -0
  93. package/dist/mcp/builtin/globals/findVersionByIDTool.d.ts.map +1 -0
  94. package/dist/mcp/builtin/globals/findVersionByIDTool.js +80 -0
  95. package/dist/mcp/builtin/globals/findVersionByIDTool.js.map +1 -0
  96. package/dist/mcp/builtin/globals/findVersionsTool.d.ts +2 -0
  97. package/dist/mcp/builtin/globals/findVersionsTool.d.ts.map +1 -0
  98. package/dist/mcp/builtin/globals/findVersionsTool.js +95 -0
  99. package/dist/mcp/builtin/globals/findVersionsTool.js.map +1 -0
  100. package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts +2 -0
  101. package/dist/mcp/builtin/globals/getGlobalSchemaTool.d.ts.map +1 -0
  102. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js +47 -0
  103. package/dist/mcp/builtin/globals/getGlobalSchemaTool.js.map +1 -0
  104. package/dist/mcp/builtin/globals/restoreVersionTool.d.ts +2 -0
  105. package/dist/mcp/builtin/globals/restoreVersionTool.d.ts.map +1 -0
  106. package/dist/mcp/builtin/globals/restoreVersionTool.js +78 -0
  107. package/dist/mcp/builtin/globals/restoreVersionTool.js.map +1 -0
  108. package/dist/mcp/builtin/globals/updateTool.d.ts.map +1 -1
  109. package/dist/mcp/builtin/globals/updateTool.js +31 -40
  110. package/dist/mcp/builtin/globals/updateTool.js.map +1 -1
  111. package/dist/mcp/builtin/validateEntityData.d.ts +14 -0
  112. package/dist/mcp/builtin/validateEntityData.d.ts.map +1 -0
  113. package/dist/mcp/builtin/validateEntityData.js +82 -0
  114. package/dist/mcp/builtin/validateEntityData.js.map +1 -0
  115. package/dist/mcp/builtinTools.d.ts +144 -19
  116. package/dist/mcp/builtinTools.d.ts.map +1 -1
  117. package/dist/mcp/builtinTools.js +119 -20
  118. package/dist/mcp/builtinTools.js.map +1 -1
  119. package/dist/mcp/sanitizeMCPConfig.d.ts +0 -1
  120. package/dist/mcp/sanitizeMCPConfig.d.ts.map +1 -1
  121. package/dist/mcp/sanitizeMCPConfig.js +120 -58
  122. package/dist/mcp/sanitizeMCPConfig.js.map +1 -1
  123. package/dist/stdio.d.ts +3 -2
  124. package/dist/stdio.d.ts.map +1 -1
  125. package/dist/stdio.js +27 -8
  126. package/dist/stdio.js.map +1 -1
  127. package/dist/types.d.ts +62 -108
  128. package/dist/types.d.ts.map +1 -1
  129. package/dist/types.js +4 -4
  130. package/dist/types.js.map +1 -1
  131. package/dist/utils/getPluginConfig.d.ts +1 -1
  132. package/dist/utils/getPluginConfig.js +1 -1
  133. package/dist/utils/getPluginConfig.js.map +1 -1
  134. package/dist/utils/schemaConversion/getEntityInputSchema.d.ts +11 -0
  135. package/dist/utils/schemaConversion/getEntityInputSchema.d.ts.map +1 -0
  136. package/dist/utils/schemaConversion/getEntityInputSchema.js +32 -0
  137. package/dist/utils/schemaConversion/getEntityInputSchema.js.map +1 -0
  138. package/dist/utils/schemaConversion/sanitizeEntitySchema.d.ts +5 -10
  139. package/dist/utils/schemaConversion/sanitizeEntitySchema.d.ts.map +1 -1
  140. package/dist/utils/schemaConversion/sanitizeEntitySchema.js +15 -95
  141. package/dist/utils/schemaConversion/sanitizeEntitySchema.js.map +1 -1
  142. package/dist/utils/schemaConversion/sanitizeEntitySchema.spec.js +15 -40
  143. package/dist/utils/schemaConversion/sanitizeEntitySchema.spec.js.map +1 -1
  144. package/dist/utils/whereSchema.d.ts +9 -0
  145. package/dist/utils/whereSchema.d.ts.map +1 -0
  146. package/dist/utils/whereSchema.js +13 -0
  147. package/dist/utils/whereSchema.js.map +1 -0
  148. package/package.json +8 -11
  149. package/src/defaultAccess.ts +3 -0
  150. package/src/endpoint/access.ts +88 -101
  151. package/src/endpoint/index.ts +14 -1
  152. package/src/exports/client.ts +2 -1
  153. package/src/exports/internal.ts +1 -0
  154. package/src/index.ts +8 -16
  155. package/src/mcp/buildMcpServer.ts +131 -96
  156. package/src/mcp/builtin/collections/authTools.ts +45 -9
  157. package/src/mcp/builtin/collections/countTool.ts +74 -0
  158. package/src/mcp/builtin/collections/countVersionsTool.ts +70 -0
  159. package/src/mcp/builtin/collections/createTool.ts +55 -59
  160. package/src/mcp/builtin/collections/deleteTool.ts +19 -16
  161. package/src/mcp/builtin/collections/duplicateTool.ts +135 -0
  162. package/src/mcp/builtin/collections/findDistinctTool.ts +120 -0
  163. package/src/mcp/builtin/collections/findTool.ts +63 -33
  164. package/src/mcp/builtin/collections/findVersionByIDTool.ts +110 -0
  165. package/src/mcp/builtin/collections/findVersionsTool.ts +155 -0
  166. package/src/mcp/builtin/collections/formatCollectionError.ts +84 -0
  167. package/src/mcp/builtin/collections/getCollectionSchemaTool.ts +46 -0
  168. package/src/mcp/builtin/collections/restoreVersionTool.ts +108 -0
  169. package/src/mcp/builtin/collections/updateTool.ts +111 -110
  170. package/src/mcp/builtin/getConfigInfoTool.ts +69 -0
  171. package/src/mcp/builtin/globals/countVersionsTool.ts +69 -0
  172. package/src/mcp/builtin/globals/findTool.ts +26 -17
  173. package/src/mcp/builtin/globals/findVersionByIDTool.ts +104 -0
  174. package/src/mcp/builtin/globals/findVersionsTool.ts +148 -0
  175. package/src/mcp/builtin/globals/getGlobalSchemaTool.ts +41 -0
  176. package/src/mcp/builtin/globals/restoreVersionTool.ts +100 -0
  177. package/src/mcp/builtin/globals/updateTool.ts +50 -55
  178. package/src/mcp/builtin/validateEntityData.ts +132 -0
  179. package/src/mcp/builtinTools.ts +111 -41
  180. package/src/mcp/sanitizeMCPConfig.ts +116 -78
  181. package/src/stdio.ts +23 -8
  182. package/src/types.ts +77 -112
  183. package/src/utils/getPluginConfig.ts +1 -1
  184. package/src/utils/schemaConversion/getEntityInputSchema.ts +62 -0
  185. package/src/utils/schemaConversion/sanitizeEntitySchema.spec.ts +12 -19
  186. package/src/utils/schemaConversion/sanitizeEntitySchema.ts +17 -114
  187. package/src/utils/whereSchema.ts +24 -0
  188. package/dist/collection/getAccessField.d.ts +0 -12
  189. package/dist/collection/getAccessField.d.ts.map +0 -1
  190. package/dist/collection/getAccessField.js +0 -57
  191. package/dist/collection/getAccessField.js.map +0 -1
  192. package/dist/collection/index.d.ts +0 -6
  193. package/dist/collection/index.d.ts.map +0 -1
  194. package/dist/collection/index.js +0 -60
  195. package/dist/collection/index.js.map +0 -1
  196. package/dist/components/AccessField/index.client.d.ts +0 -10
  197. package/dist/components/AccessField/index.client.d.ts.map +0 -1
  198. package/dist/components/AccessField/index.client.js +0 -305
  199. package/dist/components/AccessField/index.client.js.map +0 -1
  200. package/dist/components/AccessField/index.css +0 -93
  201. package/dist/utils/schemaConversion/buildToolInput.d.ts +0 -29
  202. package/dist/utils/schemaConversion/buildToolInput.d.ts.map +0 -1
  203. package/dist/utils/schemaConversion/buildToolInput.js +0 -51
  204. package/dist/utils/schemaConversion/buildToolInput.js.map +0 -1
  205. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.d.ts +0 -7
  206. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.d.ts.map +0 -1
  207. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.js +0 -20
  208. package/dist/utils/schemaConversion/removeVirtualFieldsFromSchema.js.map +0 -1
  209. package/src/collection/getAccessField.ts +0 -64
  210. package/src/collection/index.ts +0 -64
  211. package/src/components/AccessField/index.client.tsx +0 -344
  212. package/src/components/AccessField/index.css +0 -93
  213. package/src/utils/schemaConversion/buildToolInput.ts +0 -68
  214. package/src/utils/schemaConversion/removeVirtualFieldsFromSchema.ts +0 -27
@@ -1,93 +0,0 @@
1
- @layer payload-default {
2
- .mcp-access-field {
3
- display: flex;
4
- flex-direction: column;
5
- gap: var(--base);
6
- }
7
-
8
- .mcp-access-field__section {
9
- display: flex;
10
- flex-direction: column;
11
- gap: calc(var(--base) / 2);
12
- padding-bottom: var(--base);
13
- /* Full-bleed separator: extend past the sidebar's horizontal gutter so the
14
- border-block-end spans the entire sidebar width. */
15
- margin-inline-start: calc(-1 * var(--sidebar-gutter-h-left, var(--gutter-h)));
16
- margin-inline-end: calc(-1 * var(--sidebar-gutter-h-right, var(--gutter-h)));
17
- padding-inline-start: var(--sidebar-gutter-h-left, var(--gutter-h));
18
- padding-inline-end: var(--sidebar-gutter-h-right, var(--gutter-h));
19
- border-block-end: 1px solid var(--theme-elevation-100);
20
- }
21
-
22
- .mcp-access-field__section:last-child {
23
- border-block-end: none;
24
- }
25
-
26
- .mcp-access-field__section-header {
27
- display: flex;
28
- flex-direction: column;
29
- }
30
-
31
- .mcp-access-field__section-header h4 {
32
- margin: 0;
33
- color: var(--color-text);
34
- font-family: var(--text-heading-small-font-family);
35
- font-size: var(--text-heading-small-font-size);
36
- font-weight: var(--text-heading-small-font-weight);
37
- line-height: var(--text-heading-small-line-height);
38
- letter-spacing: var(--text-heading-small-letter-spacing);
39
- }
40
-
41
- .mcp-access-field__section-header p {
42
- margin: 0;
43
- color: var(--color-text-secondary);
44
- font-family: var(--text-body-medium-font-family);
45
- font-size: var(--text-body-medium-font-size);
46
- font-weight: var(--text-body-medium-font-weight);
47
- line-height: var(--text-body-medium-line-height);
48
- letter-spacing: var(--text-body-medium-letter-spacing);
49
- }
50
-
51
- .mcp-access-field__group {
52
- margin-block-end: calc(var(--base) / 2);
53
- }
54
-
55
- .mcp-access-field__group-label {
56
- font-weight: 600;
57
- }
58
-
59
- .mcp-access-field__group-actions {
60
- display: flex;
61
- align-items: center;
62
- gap: calc(var(--base) / 6);
63
- }
64
-
65
- .mcp-access-field__action {
66
- appearance: none;
67
- background: none;
68
- border: none;
69
- color: var(--theme-elevation-500);
70
- cursor: pointer;
71
- font-size: 0.75rem;
72
- padding: 0;
73
- }
74
-
75
- .mcp-access-field__action:hover {
76
- color: var(--theme-text);
77
- text-decoration: underline;
78
- }
79
-
80
- .mcp-access-field__action-sep {
81
- color: var(--theme-elevation-300);
82
- font-size: 0.75rem;
83
- }
84
-
85
- .mcp-access-field__list {
86
- list-style: none;
87
- margin: 0;
88
- padding: 0;
89
- display: flex;
90
- flex-direction: column;
91
- gap: calc(var(--base) / 3);
92
- }
93
- }
@@ -1,68 +0,0 @@
1
- import type { StandardSchemaWithJSON } from '@modelcontextprotocol/server'
2
-
3
- import { z } from 'zod'
4
-
5
- import type { JsonSchemaType } from '../../types.js'
6
-
7
- /**
8
- * Builds a create/update tool's `input`: a `data` field (the document's fields) plus controls like
9
- * `depth` and `draft`. Using just `z.fromJSONSchema(ourJSONSchema)` has a few problems which are mitigated
10
- * in this function. z.fromJSONSchema is both bigger and lossier (≈40% larger on the lexical schema).
11
- * Each example below is `what we publish` => `what a plain zod round-trip would publish instead`.
12
- *
13
- * @example
14
- * Bigger - zod inlines shared defs instead of keeping our `$ref`s (and adds junk integer bounds), so a
15
- * reused def is duplicated at every use:
16
- * `{ $ref: '#/$defs/author' }` => `{ type: 'object', properties: { id, name }, additionalProperties: false }`
17
- *
18
- * @example
19
- * Lossier - zod drops the `description` on `enum`/`const` fields:
20
- * `{ enum: ['draft', 'published'], description: 'Publish state' }` → `{ enum: ['draft', 'published'] }`
21
- */
22
- export const buildToolInput = <TControls extends z.ZodRawShape>({
23
- controls,
24
- dataDescription,
25
- dataSchema,
26
- }: {
27
- /** Tool options alongside `data` (depth, draft, where, …) as plain zod - inferred into `input`. */
28
- controls: TControls
29
- dataDescription: string
30
- dataSchema: JsonSchemaType
31
- }) => {
32
- // `sanitizeEntitySchema` already emits draft 2020-12 with `$defs`, which is what zod's `fromJSONSchema`
33
- // and MCP clients both expect. Drop only the root `$schema` keyword, redundant once it's a sub-schema.
34
- const { $schema: _schema, ...entitySchema } = dataSchema as Record<string, unknown>
35
-
36
- const schema = z.object({
37
- data: z.fromJSONSchema(entitySchema as unknown as z.core.JSONSchema.JSONSchema),
38
- ...controls,
39
- })
40
- const standard = (schema as unknown as StandardSchemaWithJSON)['~standard']
41
-
42
- return {
43
- '~standard': {
44
- ...standard,
45
- jsonSchema: {
46
- ...standard.jsonSchema,
47
- input: (options) => {
48
- // Start from zod's JSON Schema for the whole input, then replace its lossy `data` schema with
49
- // the sanitized entity schema. The entity's `$defs` move to the root so the `$ref`s resolve.
50
- const generated = standard.jsonSchema.input(options)
51
- const { $defs, ...entityBody } = entitySchema
52
- ;(generated.properties as Record<string, unknown>).data = {
53
- ...entityBody,
54
- description: dataDescription,
55
- }
56
- if ($defs) {
57
- generated.$defs = $defs as object
58
- } else {
59
- delete generated.$defs
60
- }
61
- return generated
62
- },
63
- },
64
- },
65
- } as StandardSchemaWithJSON<
66
- { data: Record<string, unknown> } & Omit<z.output<typeof schema>, 'data'>
67
- >
68
- }
@@ -1,27 +0,0 @@
1
- import type { JsonSchemaType } from '../../types.js'
2
-
3
- /**
4
- * Removes virtual fields from a JSON Schema by name so they don't appear
5
- * in the generated MCP tool input schema.
6
- */
7
- export function removeVirtualFieldsFromSchema(
8
- schema: JsonSchemaType,
9
- virtualFieldNames: string[],
10
- ): JsonSchemaType {
11
- if (virtualFieldNames.length === 0) {
12
- return schema
13
- }
14
-
15
- for (const name of virtualFieldNames) {
16
- delete schema?.properties?.[name]
17
- }
18
-
19
- if (Array.isArray(schema.required)) {
20
- schema.required = schema.required.filter((field) => !virtualFieldNames.includes(field))
21
- if (schema.required.length === 0) {
22
- delete schema.required
23
- }
24
- }
25
-
26
- return schema
27
- }