@cmssy/mcp-server 0.3.1 → 0.5.0

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.
package/README.md CHANGED
@@ -75,9 +75,40 @@ Instead of CLI args, you can set:
75
75
  | ------------------------ | --------------------------------------------------------------- |
76
76
  | `add_block_to_page` | Insert a block at position (auto-generates UUID + translations) |
77
77
  | `update_block_content` | Merge content into an existing block |
78
+ | `patch_block_content` | Surgical HTML patch (insert/replace around unique markers) |
78
79
  | `remove_block_from_page` | Remove a block by ID |
79
80
  | `update_page_layout` | Update layout blocks and overrides |
80
81
 
82
+ #### `patch_block_content`
83
+
84
+ For small edits on long HTML content strings (e.g. a `docs-article` body),
85
+ `patch_block_content` is ~10x cheaper in tokens than `update_block_content`
86
+ and catches marker mistakes before anything writes to the DB.
87
+
88
+ ```jsonc
89
+ {
90
+ "pageId": "...",
91
+ "blockId": "...",
92
+ "locale": "en",
93
+ "operations": [
94
+ {
95
+ "op": "insert_before",
96
+ "marker": "<h2>Environment Variables</h2>",
97
+ "html": "<hr><h2>cmssy skills install</h2><p>...</p>",
98
+ },
99
+ ],
100
+ }
101
+ ```
102
+
103
+ Three ops: `insert_before`, `insert_after`, `replace_section`. Every
104
+ marker must match **exactly once** - 0 or 2+ matches error out with the
105
+ actual count (no silent half-applied state). For `replace_section`,
106
+ `startMarker` is inclusive and `endMarker` is exclusive.
107
+
108
+ Requires `@cmssy/cli`-registered workspace with `PAGES_EDIT` permission.
109
+ Default `fieldPath` is `"content"` (the HTML body on docs-article); override
110
+ if patching a different string field.
111
+
81
112
  ## Resources
82
113
 
83
114
  | URI | Description |
package/dist/queries.d.ts CHANGED
@@ -6,10 +6,20 @@ export declare const SITE_CONFIG_QUERY = "\n query SiteConfig {\n siteConfig
6
6
  export declare const CURRENT_WORKSPACE_QUERY = "\n query CurrentWorkspace {\n currentWorkspace {\n id\n name\n slug\n plan\n limits {\n maxPages\n maxUsers\n maxStorageMb\n maxAiTokensMonth\n maxWorkspacesOwned\n canUseCustomDomain\n canRemoveBranding\n canUseCustomScripts\n maxCustomBlocks\n maxCustomBlocksStorageMb\n }\n }\n }\n";
7
7
  export declare const MEDIA_ASSETS_QUERY = "\n query MediaAssets($limit: Int, $offset: Int) {\n mediaAssets(limit: $limit, offset: $offset) {\n items {\n id\n url\n filename\n type\n mimeType\n size\n width\n height\n alt\n tags\n }\n total\n hasMore\n }\n }\n";
8
8
  export declare const SAVE_PAGE_MUTATION = "\n mutation SavePage($input: SavePageInput!) {\n savePage(input: $input) {\n id\n name\n slug\n description\n displayName\n seoTitle\n seoDescription\n seoKeywords\n published\n hasUnpublishedChanges\n pageType\n parentId\n blocks {\n id\n type\n content\n settings\n style\n advanced\n translations\n defaultLanguage\n metadata {\n createdAt\n updatedAt\n createdBy\n version\n }\n blockVersion\n }\n createdAt\n updatedAt\n }\n }\n";
9
+ export declare const PATCH_BLOCK_CONTENT_MUTATION = "\n mutation PatchBlockContent($input: PatchBlockContentInput!) {\n patchBlockContent(input: $input) {\n id\n slug\n hasUnpublishedChanges\n updatedAt\n }\n }\n";
9
10
  export declare const UPDATE_PAGE_SETTINGS_MUTATION = "\n mutation UpdatePageSettings($input: UpdatePageSettingsInput!) {\n updatePageSettings(input: $input) {\n id\n name\n slug\n description\n displayName\n seoTitle\n seoDescription\n seoKeywords\n pageType\n parentId\n updatedAt\n }\n }\n";
10
11
  export declare const TOGGLE_PUBLISH_MUTATION = "\n mutation TogglePublish($id: ID!) {\n togglePublish(id: $id) {\n id\n published\n publishedAt\n hasUnpublishedChanges\n }\n }\n";
11
12
  export declare const PUBLISH_PAGE_MUTATION = "\n mutation PublishPage($id: ID!, $blocks: [BlockDataInput!]!) {\n publishPage(id: $id, blocks: $blocks) {\n id\n published\n publishedAt\n hasUnpublishedChanges\n blocks {\n id\n type\n content\n settings\n style\n advanced\n translations\n defaultLanguage\n metadata {\n createdAt\n updatedAt\n createdBy\n version\n }\n blockVersion\n }\n }\n }\n";
12
13
  export declare const REVERT_TO_PUBLISHED_MUTATION = "\n mutation RevertToPublished($id: ID!) {\n revertToPublished(id: $id) {\n id\n name\n slug\n hasUnpublishedChanges\n blocks {\n id type content settings style advanced\n translations defaultLanguage blockVersion\n }\n }\n }\n";
13
14
  export declare const REMOVE_PAGE_MUTATION = "\n mutation RemovePage($id: ID!) {\n removePage(id: $id)\n }\n";
14
15
  export declare const UPDATE_PAGE_LAYOUT_MUTATION = "\n mutation UpdatePageLayout($input: UpdatePageLayoutInput!) {\n updatePageLayout(input: $input) {\n id\n layoutBlocks {\n id type position order isActive\n content settings style advanced\n translations defaultLanguage\n metadata { createdAt updatedAt createdBy version }\n blockVersion\n }\n layoutOverrides { position action blockId }\n inheritsLayout\n }\n }\n";
16
+ export declare const FORMS_QUERY = "\n query Forms($status: String, $skip: Int, $limit: Int) {\n forms(status: $status, skip: $skip, limit: $limit) {\n forms { \n id\n name\n slug\n description\n status\n fields {\n id name fieldType\n label placeholder helpText\n defaultValue\n validation { required minLength maxLength minValue maxValue pattern customMessage }\n options { value label disabled }\n width order showIf\n }\n settings {\n actionType webhookUrl emailRecipients newsletterListId\n submitButtonLabel successMessage errorMessage\n redirectUrl enableCaptcha requireLogin\n saveSubmissions sendEmailNotification emailConfigurationId\n }\n submissionCount\n createdAt updatedAt createdBy updatedBy\n }\n total\n hasMore\n }\n }\n";
17
+ export declare const FORM_BY_ID_QUERY = "\n query Form($formId: ID!) {\n form(formId: $formId) {\n \n id\n name\n slug\n description\n status\n fields {\n id name fieldType\n label placeholder helpText\n defaultValue\n validation { required minLength maxLength minValue maxValue pattern customMessage }\n options { value label disabled }\n width order showIf\n }\n settings {\n actionType webhookUrl emailRecipients newsletterListId\n submitButtonLabel successMessage errorMessage\n redirectUrl enableCaptcha requireLogin\n saveSubmissions sendEmailNotification emailConfigurationId\n }\n submissionCount\n createdAt updatedAt createdBy updatedBy\n\n }\n }\n";
18
+ export declare const FORM_SUBMISSIONS_QUERY = "\n query FormSubmissions($formId: ID, $status: String, $skip: Int, $limit: Int) {\n formSubmissions(formId: $formId, status: $status, skip: $skip, limit: $limit) {\n submissions {\n id formId formSlug data status\n ipAddress userAgent referrer customerId\n processedAt emailSent webhookSent createdAt\n }\n total\n hasMore\n }\n }\n";
19
+ export declare const FORM_SUBMISSION_BY_ID_QUERY = "\n query FormSubmission($submissionId: ID!) {\n formSubmission(submissionId: $submissionId) {\n id formId formSlug data status\n ipAddress userAgent referrer customerId\n processedAt emailSent webhookSent createdAt\n }\n }\n";
20
+ export declare const CREATE_FORM_MUTATION = "\n mutation CreateForm($input: CreateFormInput!) {\n createForm(input: $input) {\n \n id\n name\n slug\n description\n status\n fields {\n id name fieldType\n label placeholder helpText\n defaultValue\n validation { required minLength maxLength minValue maxValue pattern customMessage }\n options { value label disabled }\n width order showIf\n }\n settings {\n actionType webhookUrl emailRecipients newsletterListId\n submitButtonLabel successMessage errorMessage\n redirectUrl enableCaptcha requireLogin\n saveSubmissions sendEmailNotification emailConfigurationId\n }\n submissionCount\n createdAt updatedAt createdBy updatedBy\n\n }\n }\n";
21
+ export declare const UPDATE_FORM_MUTATION = "\n mutation UpdateForm($formId: ID!, $input: UpdateFormInput!) {\n updateForm(formId: $formId, input: $input) {\n \n id\n name\n slug\n description\n status\n fields {\n id name fieldType\n label placeholder helpText\n defaultValue\n validation { required minLength maxLength minValue maxValue pattern customMessage }\n options { value label disabled }\n width order showIf\n }\n settings {\n actionType webhookUrl emailRecipients newsletterListId\n submitButtonLabel successMessage errorMessage\n redirectUrl enableCaptcha requireLogin\n saveSubmissions sendEmailNotification emailConfigurationId\n }\n submissionCount\n createdAt updatedAt createdBy updatedBy\n\n }\n }\n";
22
+ export declare const DELETE_FORM_MUTATION = "\n mutation DeleteForm($formId: ID!) {\n deleteForm(formId: $formId)\n }\n";
23
+ export declare const UPDATE_FORM_SUBMISSION_STATUS_MUTATION = "\n mutation UpdateFormSubmissionStatus($submissionId: ID!, $status: String!) {\n updateFormSubmissionStatus(submissionId: $submissionId, status: $status)\n }\n";
24
+ export declare const DELETE_FORM_SUBMISSION_MUTATION = "\n mutation DeleteFormSubmission($submissionId: ID!) {\n deleteFormSubmission(submissionId: $submissionId)\n }\n";
15
25
  //# sourceMappingURL=queries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,WAAW,2SAkBvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,0+CAuE5B,CAAC;AAIF,eAAO,MAAM,sBAAsB,QAkBlC,CAAC;AAEF,eAAO,MAAM,6BAA6B,QAkBzC,CAAC;AAIF,eAAO,MAAM,iBAAiB,2JAU7B,CAAC;AAIF,eAAO,MAAM,uBAAuB,6YAqBnC,CAAC;AAIF,eAAO,MAAM,kBAAkB,+TAmB9B,CAAC;AAIF,eAAO,MAAM,kBAAkB,+nBAoC9B,CAAC;AAEF,eAAO,MAAM,6BAA6B,iTAgBzC,CAAC;AAEF,eAAO,MAAM,uBAAuB,kKASnC,CAAC;AAEF,eAAO,MAAM,qBAAqB,yfA0BjC,CAAC;AAEF,eAAO,MAAM,4BAA4B,2RAaxC,CAAC;AAEF,eAAO,MAAM,oBAAoB,wEAIhC,CAAC;AAEF,eAAO,MAAM,2BAA2B,qbAevC,CAAC"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,WAAW,2SAkBvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,0+CAuE5B,CAAC;AAIF,eAAO,MAAM,sBAAsB,QAkBlC,CAAC;AAEF,eAAO,MAAM,6BAA6B,QAkBzC,CAAC;AAIF,eAAO,MAAM,iBAAiB,2JAU7B,CAAC;AAIF,eAAO,MAAM,uBAAuB,6YAqBnC,CAAC;AAIF,eAAO,MAAM,kBAAkB,+TAmB9B,CAAC;AAIF,eAAO,MAAM,kBAAkB,+nBAoC9B,CAAC;AAOF,eAAO,MAAM,4BAA4B,gMASxC,CAAC;AAEF,eAAO,MAAM,6BAA6B,iTAgBzC,CAAC;AAEF,eAAO,MAAM,uBAAuB,kKASnC,CAAC;AAEF,eAAO,MAAM,qBAAqB,yfA0BjC,CAAC;AAEF,eAAO,MAAM,4BAA4B,2RAaxC,CAAC;AAEF,eAAO,MAAM,oBAAoB,wEAIhC,CAAC;AAEF,eAAO,MAAM,2BAA2B,qbAevC,CAAC;AA4BF,eAAO,MAAM,WAAW,owBAQvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,oqBAM5B,CAAC;AAEF,eAAO,MAAM,sBAAsB,kYAYlC,CAAC;AAEF,eAAO,MAAM,2BAA2B,4PAQvC,CAAC;AAIF,eAAO,MAAM,oBAAoB,6rBAMhC,CAAC;AAEF,eAAO,MAAM,oBAAoB,4tBAMhC,CAAC;AAEF,eAAO,MAAM,oBAAoB,oFAIhC,CAAC;AAEF,eAAO,MAAM,sCAAsC,yKAIlD,CAAC;AAEF,eAAO,MAAM,+BAA+B,0HAI3C,CAAC"}
package/dist/queries.js CHANGED
@@ -225,6 +225,21 @@ export const SAVE_PAGE_MUTATION = `
225
225
  }
226
226
  }
227
227
  `;
228
+ // Minimal selection set on purpose - patch_block_content exists to avoid
229
+ // round-tripping multi-KB HTML content, so we only confirm the mutation
230
+ // landed (id, draft state, timestamp) instead of pulling every block's
231
+ // content back. Callers who need the full page can fetch it with
232
+ // PAGE_BY_ID_QUERY afterwards.
233
+ export const PATCH_BLOCK_CONTENT_MUTATION = `
234
+ mutation PatchBlockContent($input: PatchBlockContentInput!) {
235
+ patchBlockContent(input: $input) {
236
+ id
237
+ slug
238
+ hasUnpublishedChanges
239
+ updatedAt
240
+ }
241
+ }
242
+ `;
228
243
  export const UPDATE_PAGE_SETTINGS_MUTATION = `
229
244
  mutation UpdatePageSettings($input: UpdatePageSettingsInput!) {
230
245
  updatePageSettings(input: $input) {
@@ -314,4 +329,96 @@ export const UPDATE_PAGE_LAYOUT_MUTATION = `
314
329
  }
315
330
  }
316
331
  `;
332
+ // ─── Form Queries ────────────────────────────────────────────
333
+ const FORM_FIELDS_FRAGMENT = `
334
+ id
335
+ name
336
+ slug
337
+ description
338
+ status
339
+ fields {
340
+ id name fieldType
341
+ label placeholder helpText
342
+ defaultValue
343
+ validation { required minLength maxLength minValue maxValue pattern customMessage }
344
+ options { value label disabled }
345
+ width order showIf
346
+ }
347
+ settings {
348
+ actionType webhookUrl emailRecipients newsletterListId
349
+ submitButtonLabel successMessage errorMessage
350
+ redirectUrl enableCaptcha requireLogin
351
+ saveSubmissions sendEmailNotification emailConfigurationId
352
+ }
353
+ submissionCount
354
+ createdAt updatedAt createdBy updatedBy
355
+ `;
356
+ export const FORMS_QUERY = `
357
+ query Forms($status: String, $skip: Int, $limit: Int) {
358
+ forms(status: $status, skip: $skip, limit: $limit) {
359
+ forms { ${FORM_FIELDS_FRAGMENT} }
360
+ total
361
+ hasMore
362
+ }
363
+ }
364
+ `;
365
+ export const FORM_BY_ID_QUERY = `
366
+ query Form($formId: ID!) {
367
+ form(formId: $formId) {
368
+ ${FORM_FIELDS_FRAGMENT}
369
+ }
370
+ }
371
+ `;
372
+ export const FORM_SUBMISSIONS_QUERY = `
373
+ query FormSubmissions($formId: ID, $status: String, $skip: Int, $limit: Int) {
374
+ formSubmissions(formId: $formId, status: $status, skip: $skip, limit: $limit) {
375
+ submissions {
376
+ id formId formSlug data status
377
+ ipAddress userAgent referrer customerId
378
+ processedAt emailSent webhookSent createdAt
379
+ }
380
+ total
381
+ hasMore
382
+ }
383
+ }
384
+ `;
385
+ export const FORM_SUBMISSION_BY_ID_QUERY = `
386
+ query FormSubmission($submissionId: ID!) {
387
+ formSubmission(submissionId: $submissionId) {
388
+ id formId formSlug data status
389
+ ipAddress userAgent referrer customerId
390
+ processedAt emailSent webhookSent createdAt
391
+ }
392
+ }
393
+ `;
394
+ // ─── Form Mutations ──────────────────────────────────────────
395
+ export const CREATE_FORM_MUTATION = `
396
+ mutation CreateForm($input: CreateFormInput!) {
397
+ createForm(input: $input) {
398
+ ${FORM_FIELDS_FRAGMENT}
399
+ }
400
+ }
401
+ `;
402
+ export const UPDATE_FORM_MUTATION = `
403
+ mutation UpdateForm($formId: ID!, $input: UpdateFormInput!) {
404
+ updateForm(formId: $formId, input: $input) {
405
+ ${FORM_FIELDS_FRAGMENT}
406
+ }
407
+ }
408
+ `;
409
+ export const DELETE_FORM_MUTATION = `
410
+ mutation DeleteForm($formId: ID!) {
411
+ deleteForm(formId: $formId)
412
+ }
413
+ `;
414
+ export const UPDATE_FORM_SUBMISSION_STATUS_MUTATION = `
415
+ mutation UpdateFormSubmissionStatus($submissionId: ID!, $status: String!) {
416
+ updateFormSubmissionStatus(submissionId: $submissionId, status: $status)
417
+ }
418
+ `;
419
+ export const DELETE_FORM_SUBMISSION_MUTATION = `
420
+ mutation DeleteFormSubmission($submissionId: ID!) {
421
+ deleteFormSubmission(submissionId: $submissionId)
422
+ }
423
+ `;
317
424
  //# sourceMappingURL=queries.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,sBAAsB,GAAG,0BAA0B,EAAE,CAAC;AAE5D,gEAAgE;AAEhE,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;CAkB1B,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuE/B,CAAC;AAEF,gEAAgE;AAEhE,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;UAY5B,sBAAsB;;;;;;CAM/B,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;;;;;;;;;UAYnC,sBAAsB;;;;;;CAM/B,CAAC;AAEF,gEAAgE;AAEhE,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;CAUhC,CAAC;AAEF,gEAAgE;AAEhE,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;CAqBtC,CAAC;AAEF,gEAAgE;AAEhE,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;CAmBjC,CAAC;AAEF,gEAAgE;AAEhE,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCjC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;;;;CAgB5C,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;CAStC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BpC,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG;;;;;;;;;;;;;CAa3C,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;CAInC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;CAe1C,CAAC"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,sBAAsB,GAAG,0BAA0B,EAAE,CAAC;AAE5D,gEAAgE;AAEhE,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;CAkB1B,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuE/B,CAAC;AAEF,gEAAgE;AAEhE,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;UAY5B,sBAAsB;;;;;;CAM/B,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;;;;;;;;;UAYnC,sBAAsB;;;;;;CAM/B,CAAC;AAEF,gEAAgE;AAEhE,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;CAUhC,CAAC;AAEF,gEAAgE;AAEhE,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;CAqBtC,CAAC;AAEF,gEAAgE;AAEhE,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;CAmBjC,CAAC;AAEF,gEAAgE;AAEhE,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCjC,CAAC;AAEF,yEAAyE;AACzE,wEAAwE;AACxE,uEAAuE;AACvE,iEAAiE;AACjE,+BAA+B;AAC/B,MAAM,CAAC,MAAM,4BAA4B,GAAG;;;;;;;;;CAS3C,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;;;;CAgB5C,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;CAStC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BpC,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG;;;;;;;;;;;;;CAa3C,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;CAInC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;;;;CAe1C,CAAC;AAEF,gEAAgE;AAEhE,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;CAsB5B,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG;;;gBAGX,oBAAoB;;;;;CAKnC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;QAGxB,oBAAoB;;;CAG3B,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;CAYrC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;CAQ1C,CAAC;AAEF,gEAAgE;AAEhE,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;QAG5B,oBAAoB;;;CAG3B,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;QAG5B,oBAAoB;;;CAG3B,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;CAInC,CAAC;AAEF,MAAM,CAAC,MAAM,sCAAsC,GAAG;;;;CAIrD,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAG;;;;CAI9C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAkClD,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,aAiqC/C"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAmElD,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,aAivD/C"}
package/dist/server.js CHANGED
@@ -1,16 +1,43 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { readFileSync } from "node:fs";
3
+ import { dirname, resolve } from "node:path";
4
+ import { fileURLToPath } from "node:url";
2
5
  import { z } from "zod";
6
+ // Read our own version from package.json so the MCP handshake
7
+ // advertises what the user actually installed, instead of drifting
8
+ // whenever we bump the package.
9
+ const PACKAGE_VERSION = (() => {
10
+ try {
11
+ const here = dirname(fileURLToPath(import.meta.url));
12
+ const pkg = JSON.parse(readFileSync(resolve(here, "../package.json"), "utf8"));
13
+ return typeof pkg.version === "string" ? pkg.version : "0.0.0";
14
+ }
15
+ catch {
16
+ return "0.0.0";
17
+ }
18
+ })();
3
19
  /**
4
20
  * Preprocess helper: parse JSON string to object if needed.
5
21
  * MCP clients may serialize complex nested objects as JSON strings
6
22
  * instead of passing them as objects. This ensures they're parsed.
23
+ * Malformed JSON is passed through so Zod produces a validation error
24
+ * instead of crashing the handler.
7
25
  */
8
- const jsonPreprocess = (val) => typeof val === "string" ? JSON.parse(val) : val;
9
- import { PAGES_QUERY, PAGE_BY_ID_QUERY, WORKSPACE_BLOCKS_QUERY, WORKSPACE_BLOCK_BY_TYPE_QUERY, SITE_CONFIG_QUERY, CURRENT_WORKSPACE_QUERY, MEDIA_ASSETS_QUERY, SAVE_PAGE_MUTATION, UPDATE_PAGE_SETTINGS_MUTATION, TOGGLE_PUBLISH_MUTATION, PUBLISH_PAGE_MUTATION, REVERT_TO_PUBLISHED_MUTATION, REMOVE_PAGE_MUTATION, UPDATE_PAGE_LAYOUT_MUTATION, } from "./queries.js";
26
+ const jsonPreprocess = (val) => {
27
+ if (typeof val !== "string")
28
+ return val;
29
+ try {
30
+ return JSON.parse(val);
31
+ }
32
+ catch {
33
+ return val;
34
+ }
35
+ };
36
+ import { PAGES_QUERY, PAGE_BY_ID_QUERY, WORKSPACE_BLOCKS_QUERY, WORKSPACE_BLOCK_BY_TYPE_QUERY, SITE_CONFIG_QUERY, CURRENT_WORKSPACE_QUERY, MEDIA_ASSETS_QUERY, SAVE_PAGE_MUTATION, PATCH_BLOCK_CONTENT_MUTATION, UPDATE_PAGE_SETTINGS_MUTATION, TOGGLE_PUBLISH_MUTATION, PUBLISH_PAGE_MUTATION, REVERT_TO_PUBLISHED_MUTATION, REMOVE_PAGE_MUTATION, UPDATE_PAGE_LAYOUT_MUTATION, FORMS_QUERY, FORM_BY_ID_QUERY, FORM_SUBMISSIONS_QUERY, FORM_SUBMISSION_BY_ID_QUERY, CREATE_FORM_MUTATION, UPDATE_FORM_MUTATION, DELETE_FORM_MUTATION, UPDATE_FORM_SUBMISSION_STATUS_MUTATION, DELETE_FORM_SUBMISSION_MUTATION, } from "./queries.js";
10
37
  export function createServer(client) {
11
38
  const server = new McpServer({
12
39
  name: "cmssy",
13
- version: "0.1.0",
40
+ version: PACKAGE_VERSION,
14
41
  });
15
42
  // ─── Workspace Block Registry (cached with TTL) ──────────────
16
43
  let workspaceBlocksCache = null;
@@ -777,6 +804,109 @@ export function createServer(client) {
777
804
  };
778
805
  }
779
806
  });
807
+ server.tool("patch_block_content", "Apply surgical HTML edits (insert_before/insert_after/replace_section) to a block's localized content string (e.g. a docs-article HTML body) without re-sending the full content. Use this for small edits where you have a unique anchor substring in the existing HTML - it's ~10x cheaper in tokens than update_block_content and rejects any op whose marker is missing or ambiguous. For replace_section: startMarker is inclusive, endMarker is exclusive.", {
808
+ pageId: z.string().describe("Page ID"),
809
+ blockId: z
810
+ .string()
811
+ .describe("Block instance ID (UUID) on the page. Layout blocks (header/footer) aren't supported - use update_block_content for those."),
812
+ locale: z
813
+ .string()
814
+ .describe("Language code matching the workspace's enabledLanguages (e.g. 'en', 'pl', 'zh'). Check get_site_config first if unsure."),
815
+ fieldPath: z
816
+ .string()
817
+ .optional()
818
+ .describe("Field inside content[locale] to patch (default: 'content', the HTML body of docs-article blocks). Must resolve to a string."),
819
+ // `jsonPreprocess` matches the other tools in this file that accept
820
+ // complex inputs - MCP clients sometimes JSON-serialize nested
821
+ // arrays/objects instead of passing raw JSON. Without the preprocess
822
+ // those clients fail validation before the handler ever runs.
823
+ operations: z.preprocess(jsonPreprocess, z
824
+ .array(
825
+ // Discriminated on `op` so clients can't pass e.g. `insert_before`
826
+ // with a `startMarker` - the backend would reject, but it's
827
+ // cleaner (and cheaper) to fail at MCP boundary.
828
+ z
829
+ .discriminatedUnion("op", [
830
+ z
831
+ .object({
832
+ op: z
833
+ .literal("insert_before")
834
+ .describe("Insert html immediately before `marker`"),
835
+ marker: z
836
+ .string()
837
+ .describe("Unique anchor substring. Must match exactly one location in the field (zero or multiple → error)."),
838
+ html: z.string().describe("HTML fragment to insert"),
839
+ })
840
+ .strict(),
841
+ z
842
+ .object({
843
+ op: z
844
+ .literal("insert_after")
845
+ .describe("Insert html immediately after `marker`"),
846
+ marker: z
847
+ .string()
848
+ .describe("Unique anchor substring. Must match exactly one location in the field (zero or multiple → error)."),
849
+ html: z.string().describe("HTML fragment to insert"),
850
+ })
851
+ .strict(),
852
+ z
853
+ .object({
854
+ op: z
855
+ .literal("replace_section")
856
+ .describe("Replace everything from startMarker (inclusive) up to endMarker (exclusive)"),
857
+ startMarker: z
858
+ .string()
859
+ .describe("Inclusive lower bound. Must match exactly one location."),
860
+ endMarker: z
861
+ .string()
862
+ .describe("Exclusive upper bound. Must appear exactly once after startMarker."),
863
+ html: z
864
+ .string()
865
+ .describe("HTML fragment to replace the section with"),
866
+ })
867
+ .strict(),
868
+ ])
869
+ .describe("A single patch op. Ops apply in order; any failure aborts the whole patch (no half-applied state)."))
870
+ .min(1)
871
+ .describe("Ordered list of patch operations. Apply smallest first - each op must still find its markers in the string after previous ops have applied.")),
872
+ }, async ({ pageId, blockId, locale, fieldPath, operations }) => {
873
+ // Zod's discriminatedUnion + .strict() already shapes each op
874
+ // exactly like the backend's PatchOperationInput (insert_*: op,
875
+ // marker, html; replace_section: op, startMarker, endMarker, html).
876
+ // Pass the array straight through - a manual map here is both
877
+ // redundant AND unsafe (a switch without an exhaustiveness check
878
+ // could return undefined on an unexpected op, which would then
879
+ // serialize as null in the mutation variables and blow up server-side
880
+ // with a hard-to-trace error).
881
+ const data = await client.query(PATCH_BLOCK_CONTENT_MUTATION, {
882
+ input: {
883
+ pageId,
884
+ blockId,
885
+ locale,
886
+ ...(fieldPath ? { fieldPath } : {}),
887
+ operations,
888
+ },
889
+ });
890
+ if (!data.patchBlockContent) {
891
+ return {
892
+ content: [
893
+ {
894
+ type: "text",
895
+ text: "Page not found or patch failed",
896
+ },
897
+ ],
898
+ isError: true,
899
+ };
900
+ }
901
+ return {
902
+ content: [
903
+ {
904
+ type: "text",
905
+ text: JSON.stringify(data.patchBlockContent, null, 2),
906
+ },
907
+ ],
908
+ };
909
+ });
780
910
  server.tool("remove_block_from_page", "Remove a specific block from a page by its instance ID. Works for both content and layout blocks.", {
781
911
  pageId: z.string().describe("Page ID"),
782
912
  blockId: z.string().describe("Block instance ID (UUID) to remove"),
@@ -833,6 +963,354 @@ export function createServer(client) {
833
963
  isError: true,
834
964
  };
835
965
  });
966
+ // ─── Form Tools ──────────────────────────────────────────────
967
+ server.tool("list_forms", "List forms in the workspace with optional status filter and pagination.", {
968
+ status: z
969
+ .enum(["draft", "published", "archived"])
970
+ .optional()
971
+ .describe("Filter by form status"),
972
+ skip: z
973
+ .number()
974
+ .optional()
975
+ .default(0)
976
+ .describe("Number of items to skip"),
977
+ limit: z
978
+ .number()
979
+ .optional()
980
+ .default(50)
981
+ .describe("Max items to return (default 50)"),
982
+ }, async ({ status, skip, limit }) => {
983
+ const data = await client.query(FORMS_QUERY, {
984
+ status: status || undefined,
985
+ skip,
986
+ limit,
987
+ });
988
+ return {
989
+ content: [
990
+ { type: "text", text: JSON.stringify(data.forms, null, 2) },
991
+ ],
992
+ };
993
+ });
994
+ server.tool("get_form", "Get full form details including fields, settings, and i18n content.", {
995
+ formId: z.string().describe("Form ID"),
996
+ }, async ({ formId }) => {
997
+ const data = await client.query(FORM_BY_ID_QUERY, { formId });
998
+ if (!data.form) {
999
+ return {
1000
+ content: [{ type: "text", text: "Form not found" }],
1001
+ isError: true,
1002
+ };
1003
+ }
1004
+ return {
1005
+ content: [
1006
+ { type: "text", text: JSON.stringify(data.form, null, 2) },
1007
+ ],
1008
+ };
1009
+ });
1010
+ server.tool("create_form", "Create a new form with fields and settings. Returns the created form.", {
1011
+ name: z.string().describe("Form name"),
1012
+ slug: z.string().describe("URL-friendly slug (must be unique)"),
1013
+ description: z.string().optional().describe("Form description"),
1014
+ fields: z
1015
+ .preprocess(jsonPreprocess, z.array(z.object({
1016
+ id: z.string().describe("Unique field ID"),
1017
+ name: z.string().describe("Field name (used as form data key)"),
1018
+ fieldType: z
1019
+ .enum([
1020
+ "text",
1021
+ "email",
1022
+ "password",
1023
+ "textarea",
1024
+ "number",
1025
+ "phone",
1026
+ "url",
1027
+ "date",
1028
+ "datetime",
1029
+ "select",
1030
+ "multiselect",
1031
+ "checkbox",
1032
+ "radio",
1033
+ "file",
1034
+ "hidden",
1035
+ ])
1036
+ .optional()
1037
+ .default("text"),
1038
+ label: z
1039
+ .record(z.string(), z.unknown())
1040
+ .optional()
1041
+ .describe("i18n labels: { en: 'Name', pl: 'Imię' }"),
1042
+ placeholder: z.record(z.string(), z.unknown()).optional(),
1043
+ helpText: z.record(z.string(), z.unknown()).optional(),
1044
+ defaultValue: z.string().optional(),
1045
+ validation: z
1046
+ .object({
1047
+ required: z.boolean().optional(),
1048
+ minLength: z.number().optional(),
1049
+ maxLength: z.number().optional(),
1050
+ minValue: z.number().optional(),
1051
+ maxValue: z.number().optional(),
1052
+ pattern: z.string().optional(),
1053
+ customMessage: z.string().optional(),
1054
+ })
1055
+ .optional(),
1056
+ options: z
1057
+ .array(z.object({
1058
+ value: z.string(),
1059
+ label: z.record(z.string(), z.unknown()).optional(),
1060
+ disabled: z.boolean().optional(),
1061
+ }))
1062
+ .optional(),
1063
+ width: z
1064
+ .enum(["full", "half", "third"])
1065
+ .optional()
1066
+ .default("full"),
1067
+ order: z.number().optional().default(0),
1068
+ showIf: z.record(z.string(), z.unknown()).optional(),
1069
+ })))
1070
+ .optional()
1071
+ .describe("Form field definitions"),
1072
+ settings: z
1073
+ .preprocess(jsonPreprocess, z.object({
1074
+ actionType: z
1075
+ .enum(["login", "register", "newsletter", "contact", "custom"])
1076
+ .optional()
1077
+ .default("contact"),
1078
+ webhookUrl: z.string().optional(),
1079
+ emailRecipients: z.array(z.string()).optional(),
1080
+ newsletterListId: z.string().optional(),
1081
+ submitButtonLabel: z.record(z.string(), z.unknown()).optional(),
1082
+ successMessage: z.record(z.string(), z.unknown()).optional(),
1083
+ errorMessage: z.record(z.string(), z.unknown()).optional(),
1084
+ redirectUrl: z.string().optional(),
1085
+ enableCaptcha: z.boolean().optional(),
1086
+ requireLogin: z.boolean().optional(),
1087
+ saveSubmissions: z.boolean().optional(),
1088
+ sendEmailNotification: z.boolean().optional(),
1089
+ emailConfigurationId: z.string().optional(),
1090
+ }))
1091
+ .optional()
1092
+ .describe("Form settings (action type, notifications, etc.)"),
1093
+ }, async ({ name, slug, description, fields, settings }) => {
1094
+ const input = { name, slug };
1095
+ if (description)
1096
+ input.description = description;
1097
+ if (fields)
1098
+ input.fields = fields;
1099
+ if (settings)
1100
+ input.settings = settings;
1101
+ const data = await client.query(CREATE_FORM_MUTATION, { input });
1102
+ return {
1103
+ content: [
1104
+ {
1105
+ type: "text",
1106
+ text: JSON.stringify(data.createForm, null, 2),
1107
+ },
1108
+ ],
1109
+ };
1110
+ });
1111
+ server.tool("update_form", "Update an existing form's name, slug, status, fields, or settings.", {
1112
+ formId: z.string().describe("Form ID to update"),
1113
+ name: z.string().optional().describe("New form name"),
1114
+ slug: z.string().optional().describe("New slug"),
1115
+ description: z.string().optional().describe("New description"),
1116
+ status: z
1117
+ .enum(["draft", "published", "archived"])
1118
+ .optional()
1119
+ .describe("New status"),
1120
+ fields: z
1121
+ .preprocess(jsonPreprocess, z.array(z.object({
1122
+ id: z.string(),
1123
+ name: z.string(),
1124
+ fieldType: z
1125
+ .enum([
1126
+ "text",
1127
+ "email",
1128
+ "password",
1129
+ "textarea",
1130
+ "number",
1131
+ "phone",
1132
+ "url",
1133
+ "date",
1134
+ "datetime",
1135
+ "select",
1136
+ "multiselect",
1137
+ "checkbox",
1138
+ "radio",
1139
+ "file",
1140
+ "hidden",
1141
+ ])
1142
+ .optional(),
1143
+ label: z.record(z.string(), z.unknown()).optional(),
1144
+ placeholder: z.record(z.string(), z.unknown()).optional(),
1145
+ helpText: z.record(z.string(), z.unknown()).optional(),
1146
+ defaultValue: z.string().optional(),
1147
+ validation: z
1148
+ .object({
1149
+ required: z.boolean().optional(),
1150
+ minLength: z.number().optional(),
1151
+ maxLength: z.number().optional(),
1152
+ minValue: z.number().optional(),
1153
+ maxValue: z.number().optional(),
1154
+ pattern: z.string().optional(),
1155
+ customMessage: z.string().optional(),
1156
+ })
1157
+ .optional(),
1158
+ options: z
1159
+ .array(z.object({
1160
+ value: z.string(),
1161
+ label: z.record(z.string(), z.unknown()).optional(),
1162
+ disabled: z.boolean().optional(),
1163
+ }))
1164
+ .optional(),
1165
+ width: z.enum(["full", "half", "third"]).optional(),
1166
+ order: z.number().optional(),
1167
+ showIf: z.record(z.string(), z.unknown()).optional(),
1168
+ })))
1169
+ .optional()
1170
+ .describe("Replacement fields array"),
1171
+ settings: z
1172
+ .preprocess(jsonPreprocess, z.object({
1173
+ actionType: z
1174
+ .enum(["login", "register", "newsletter", "contact", "custom"])
1175
+ .optional(),
1176
+ webhookUrl: z.string().optional(),
1177
+ emailRecipients: z.array(z.string()).optional(),
1178
+ newsletterListId: z.string().optional(),
1179
+ submitButtonLabel: z.record(z.string(), z.unknown()).optional(),
1180
+ successMessage: z.record(z.string(), z.unknown()).optional(),
1181
+ errorMessage: z.record(z.string(), z.unknown()).optional(),
1182
+ redirectUrl: z.string().optional(),
1183
+ enableCaptcha: z.boolean().optional(),
1184
+ requireLogin: z.boolean().optional(),
1185
+ saveSubmissions: z.boolean().optional(),
1186
+ sendEmailNotification: z.boolean().optional(),
1187
+ emailConfigurationId: z.string().optional(),
1188
+ }))
1189
+ .optional()
1190
+ .describe("Updated settings"),
1191
+ }, async ({ formId, name, slug, description, status, fields, settings }) => {
1192
+ const input = {};
1193
+ if (name !== undefined)
1194
+ input.name = name;
1195
+ if (slug !== undefined)
1196
+ input.slug = slug;
1197
+ if (description !== undefined)
1198
+ input.description = description;
1199
+ if (status !== undefined)
1200
+ input.status = status;
1201
+ if (fields !== undefined)
1202
+ input.fields = fields;
1203
+ if (settings !== undefined)
1204
+ input.settings = settings;
1205
+ const data = await client.query(UPDATE_FORM_MUTATION, { formId, input });
1206
+ if (!data.updateForm) {
1207
+ return {
1208
+ content: [
1209
+ { type: "text", text: "Form not found or update failed" },
1210
+ ],
1211
+ isError: true,
1212
+ };
1213
+ }
1214
+ return {
1215
+ content: [
1216
+ {
1217
+ type: "text",
1218
+ text: JSON.stringify(data.updateForm, null, 2),
1219
+ },
1220
+ ],
1221
+ };
1222
+ });
1223
+ server.tool("delete_form", "Permanently delete a form and all its submissions.", {
1224
+ formId: z.string().describe("Form ID to delete"),
1225
+ }, async ({ formId }) => {
1226
+ const data = await client.query(DELETE_FORM_MUTATION, { formId });
1227
+ return {
1228
+ content: [
1229
+ {
1230
+ type: "text",
1231
+ text: data.deleteForm
1232
+ ? "Form deleted successfully"
1233
+ : "Failed to delete form",
1234
+ },
1235
+ ],
1236
+ };
1237
+ });
1238
+ server.tool("list_form_submissions", "List form submissions with optional filters and pagination.", {
1239
+ formId: z.string().optional().describe("Filter by form ID"),
1240
+ status: z
1241
+ .enum(["pending", "processed", "spam", "archived"])
1242
+ .optional()
1243
+ .describe("Filter by submission status"),
1244
+ skip: z.number().optional().default(0),
1245
+ limit: z.number().optional().default(50),
1246
+ }, async ({ formId, status, skip, limit }) => {
1247
+ const data = await client.query(FORM_SUBMISSIONS_QUERY, {
1248
+ formId: formId || undefined,
1249
+ status: status || undefined,
1250
+ skip,
1251
+ limit,
1252
+ });
1253
+ return {
1254
+ content: [
1255
+ {
1256
+ type: "text",
1257
+ text: JSON.stringify(data.formSubmissions, null, 2),
1258
+ },
1259
+ ],
1260
+ };
1261
+ });
1262
+ server.tool("get_form_submission", "Get a specific form submission by ID.", {
1263
+ submissionId: z.string().describe("Submission ID"),
1264
+ }, async ({ submissionId }) => {
1265
+ const data = await client.query(FORM_SUBMISSION_BY_ID_QUERY, { submissionId });
1266
+ if (!data.formSubmission) {
1267
+ return {
1268
+ content: [{ type: "text", text: "Submission not found" }],
1269
+ isError: true,
1270
+ };
1271
+ }
1272
+ return {
1273
+ content: [
1274
+ {
1275
+ type: "text",
1276
+ text: JSON.stringify(data.formSubmission, null, 2),
1277
+ },
1278
+ ],
1279
+ };
1280
+ });
1281
+ server.tool("update_form_submission_status", "Update a form submission's status (pending, processed, spam, archived).", {
1282
+ submissionId: z.string().describe("Submission ID"),
1283
+ status: z
1284
+ .enum(["pending", "processed", "spam", "archived"])
1285
+ .describe("New status"),
1286
+ }, async ({ submissionId, status }) => {
1287
+ const data = await client.query(UPDATE_FORM_SUBMISSION_STATUS_MUTATION, { submissionId, status });
1288
+ return {
1289
+ content: [
1290
+ {
1291
+ type: "text",
1292
+ text: data.updateFormSubmissionStatus
1293
+ ? "Submission status updated"
1294
+ : "Failed to update submission status",
1295
+ },
1296
+ ],
1297
+ };
1298
+ });
1299
+ server.tool("delete_form_submission", "Permanently delete a form submission.", {
1300
+ submissionId: z.string().describe("Submission ID to delete"),
1301
+ }, async ({ submissionId }) => {
1302
+ const data = await client.query(DELETE_FORM_SUBMISSION_MUTATION, { submissionId });
1303
+ return {
1304
+ content: [
1305
+ {
1306
+ type: "text",
1307
+ text: data.deleteFormSubmission
1308
+ ? "Submission deleted successfully"
1309
+ : "Failed to delete submission",
1310
+ },
1311
+ ],
1312
+ };
1313
+ });
836
1314
  // ─── Resources ───────────────────────────────────────────────
837
1315
  server.resource("sitemap", "cmssy://sitemap", {
838
1316
  description: "Full page tree as JSON — all pages with hierarchy",
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cmssy/mcp-server",
3
- "version": "0.3.1",
3
+ "version": "0.5.0",
4
4
  "description": "MCP server for Cmssy CMS — enables AI-driven page creation and management",
5
5
  "type": "module",
6
6
  "bin": {
@@ -21,7 +21,7 @@
21
21
  ],
22
22
  "license": "MIT",
23
23
  "dependencies": {
24
- "@cmssy/types": "^0.9.1",
24
+ "@cmssy/types": "^0.10.0",
25
25
  "@modelcontextprotocol/sdk": "^1.12.1",
26
26
  "zod": "^3.24.0"
27
27
  },