@umbraco-cms/mcp-dev 18.0.2 → 18.1.0-rc

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.
@@ -1186,6 +1186,36 @@ export interface CreateDocumentOutput {
1186
1186
  id: string;
1187
1187
  }
1188
1188
 
1189
+ export interface CreateAndPublishDocumentInput {
1190
+ documentTypeId: string;
1191
+ parentId?: string;
1192
+ name: string;
1193
+ /**
1194
+ * Optional template ID to apply to the document. If omitted, the document type's default template is applied automatically. Provide a value only when you need a specific allowed template other than the default.
1195
+ */
1196
+ templateId?: string;
1197
+ /**
1198
+ * Array of culture codes. If not provided or empty array, will create single variant with null culture.
1199
+ */
1200
+ cultures?: string[];
1201
+ /**
1202
+ * Culture codes to publish immediately after creation. Must contain real culture codes only - wildcards ("*") and nulls are rejected by Umbraco. If omitted, defaults to publishing every culture in the cultures array, or an empty array (which publishes the single invariant variant) when the document type does not vary by culture.
1203
+ */
1204
+ culturesToPublish?: string[];
1205
+ values: {
1206
+ editorAlias: string;
1207
+ culture: string | null;
1208
+ segment: string | null;
1209
+ alias: string;
1210
+ value: unknown;
1211
+ }[];
1212
+ }
1213
+
1214
+ export interface CreateAndPublishDocumentOutput {
1215
+ message: string;
1216
+ id: string;
1217
+ }
1218
+
1189
1219
  export interface PostDocumentPublicAccessInput {
1190
1220
  id: string;
1191
1221
  data: {
@@ -1214,6 +1244,7 @@ export interface DeleteDocumentRecycleBinItemInput {
1214
1244
 
1215
1245
  export interface GetDocumentUrlsInput {
1216
1246
  id?: string[];
1247
+ culture?: string;
1217
1248
  }
1218
1249
 
1219
1250
  export interface GetDocumentUrlsOutput {
@@ -1387,6 +1418,21 @@ export interface SortDocumentInput {
1387
1418
  }[];
1388
1419
  }
1389
1420
 
1421
+ export interface SortDocumentChildrenInput {
1422
+ id: string;
1423
+ data: {
1424
+ culture?: string | null;
1425
+ field: "Name" | "CreateDate" | "UpdateDate";
1426
+ direction: "Ascending" | "Descending";
1427
+ };
1428
+ }
1429
+
1430
+ export interface SortDocumentRootChildrenInput {
1431
+ culture?: string | null;
1432
+ field: "Name" | "CreateDate" | "UpdateDate";
1433
+ direction: "Ascending" | "Descending";
1434
+ }
1435
+
1390
1436
  export interface UnpublishDocumentInput {
1391
1437
  id: string;
1392
1438
  data: {
@@ -1418,6 +1464,27 @@ export interface UpdateDocumentInput {
1418
1464
  confirmClearValues?: boolean;
1419
1465
  }
1420
1466
 
1467
+ export interface UpdateAndPublishDocumentInput {
1468
+ id: string;
1469
+ data: {
1470
+ culturesToPublish: string[];
1471
+ template?: null | {
1472
+ id: string;
1473
+ };
1474
+ values: {
1475
+ culture?: string | null;
1476
+ segment?: string | null;
1477
+ alias: string;
1478
+ value?: unknown;
1479
+ }[];
1480
+ variants: {
1481
+ culture?: string | null;
1482
+ segment?: string | null;
1483
+ name: string;
1484
+ }[];
1485
+ };
1486
+ }
1487
+
1421
1488
  export interface UpdateDocumentPropertiesInput {
1422
1489
  /**
1423
1490
  * The unique identifier of the document to update
@@ -3284,6 +3351,47 @@ export interface GetElementByIdOutput {
3284
3351
  }[];
3285
3352
  }
3286
3353
 
3354
+ export interface GetElementPublishedInput {
3355
+ id: string;
3356
+ }
3357
+
3358
+ export interface GetElementPublishedOutput {
3359
+ isTrashed: boolean;
3360
+ documentType: {
3361
+ id: string;
3362
+ icon: string;
3363
+ collection?: null | {
3364
+ id: string;
3365
+ };
3366
+ };
3367
+ id: string;
3368
+ flags: {
3369
+ alias: string;
3370
+ }[];
3371
+ values: {
3372
+ editorAlias: string;
3373
+ culture?: string | null;
3374
+ segment?: string | null;
3375
+ alias: string;
3376
+ value?: unknown;
3377
+ }[];
3378
+ variants: {
3379
+ id: string;
3380
+ flags: {
3381
+ alias: string;
3382
+ }[];
3383
+ state: "NotCreated" | "Draft" | "Published" | "PublishedPendingChanges" | "Trashed";
3384
+ publishDate?: string | null;
3385
+ scheduledPublishDate?: string | null;
3386
+ scheduledUnpublishDate?: string | null;
3387
+ createDate: string;
3388
+ updateDate: string;
3389
+ culture?: string | null;
3390
+ segment?: string | null;
3391
+ name: string;
3392
+ }[];
3393
+ }
3394
+
3287
3395
  export interface GetElementConfigurationInput {}
3288
3396
 
3289
3397
  export interface GetElementConfigurationOutput {
@@ -4144,6 +4252,31 @@ export interface CreateElementOutput {
4144
4252
  id: string;
4145
4253
  }
4146
4254
 
4255
+ export interface CreateAndPublishElementInput {
4256
+ documentTypeId: string;
4257
+ parentId?: string;
4258
+ name: string;
4259
+ /**
4260
+ * Array of culture codes. If not provided or empty array, will create single variant with null culture.
4261
+ */
4262
+ cultures?: string[];
4263
+ /**
4264
+ * Culture codes to publish immediately after creation. Must contain real culture codes only - wildcards ("*") and nulls are rejected by Umbraco. If omitted, defaults to publishing every culture in the cultures array, or an empty array (which publishes the single invariant variant) when the element type does not vary by culture.
4265
+ */
4266
+ culturesToPublish?: string[];
4267
+ values: {
4268
+ culture: string | null;
4269
+ segment: string | null;
4270
+ alias: string;
4271
+ value: unknown;
4272
+ }[];
4273
+ }
4274
+
4275
+ export interface CreateAndPublishElementOutput {
4276
+ message: string;
4277
+ id: string;
4278
+ }
4279
+
4147
4280
  export interface CopyElementInput {
4148
4281
  parentId?: string;
4149
4282
  idToCopy: string;
@@ -4196,6 +4329,24 @@ export interface UpdateElementInput {
4196
4329
  };
4197
4330
  }
4198
4331
 
4332
+ export interface UpdateAndPublishElementInput {
4333
+ id: string;
4334
+ data: {
4335
+ culturesToPublish: string[];
4336
+ values: {
4337
+ culture?: string | null;
4338
+ segment?: string | null;
4339
+ alias: string;
4340
+ value?: unknown;
4341
+ }[];
4342
+ variants: {
4343
+ culture?: string | null;
4344
+ segment?: string | null;
4345
+ name: string;
4346
+ }[];
4347
+ };
4348
+ }
4349
+
4199
4350
  export interface UpdateElementPropertiesInput {
4200
4351
  /**
4201
4352
  * The unique identifier of the element to update
@@ -4927,6 +5078,7 @@ export interface GetManifestManifestOutput {
4927
5078
  name: string;
4928
5079
  id?: string | null;
4929
5080
  version?: string | null;
5081
+ cacheBuster?: string | null;
4930
5082
  extensions: unknown[];
4931
5083
  }[];
4932
5084
  }
@@ -4938,6 +5090,7 @@ export interface GetManifestManifestPrivateOutput {
4938
5090
  name: string;
4939
5091
  id?: string | null;
4940
5092
  version?: string | null;
5093
+ cacheBuster?: string | null;
4941
5094
  extensions: unknown[];
4942
5095
  }[];
4943
5096
  }
@@ -4949,6 +5102,7 @@ export interface GetManifestManifestPublicOutput {
4949
5102
  name: string;
4950
5103
  id?: string | null;
4951
5104
  version?: string | null;
5105
+ cacheBuster?: string | null;
4952
5106
  extensions: unknown[];
4953
5107
  }[];
4954
5108
  }
@@ -13589,6 +13743,19 @@ export interface SortMediaInput {
13589
13743
  }[];
13590
13744
  }
13591
13745
 
13746
+ export interface SortMediaChildrenInput {
13747
+ id: string;
13748
+ data: {
13749
+ field: "Name" | "CreateDate" | "UpdateDate";
13750
+ direction: "Ascending" | "Descending";
13751
+ };
13752
+ }
13753
+
13754
+ export interface SortMediaRootChildrenInput {
13755
+ field: "Name" | "CreateDate" | "UpdateDate";
13756
+ direction: "Ascending" | "Descending";
13757
+ }
13758
+
13592
13759
  export interface GetMediaByIdArrayInput {
13593
13760
  id?: string[];
13594
13761
  }
@@ -16069,10 +16236,6 @@ export interface GetRedirectStatusOutput {
16069
16236
  userIsAdmin: boolean;
16070
16237
  }
16071
16238
 
16072
- export interface UpdateRedirectStatusInput {
16073
- status?: "Enabled" | "Disabled";
16074
- }
16075
-
16076
16239
  export interface GetRelationByRelationTypeIdInput {
16077
16240
  id: string;
16078
16241
  /**
@@ -17322,6 +17485,46 @@ export interface GetUserByIdCalculateStartNodesOutput {
17322
17485
  hasElementRootAccess: boolean;
17323
17486
  }
17324
17487
 
17488
+ export interface GetUserBatchInput {
17489
+ id?: string[];
17490
+ }
17491
+
17492
+ export interface GetUserBatchOutput {
17493
+ total: number;
17494
+ items: {
17495
+ id: string;
17496
+ languageIsoCode?: string | null;
17497
+ documentStartNodeIds: {
17498
+ id: string;
17499
+ }[];
17500
+ hasDocumentRootAccess: boolean;
17501
+ mediaStartNodeIds: {
17502
+ id: string;
17503
+ }[];
17504
+ hasMediaRootAccess: boolean;
17505
+ elementStartNodeIds: {
17506
+ id: string;
17507
+ }[];
17508
+ hasElementRootAccess: boolean;
17509
+ avatarUrls: string[];
17510
+ state: "Active" | "Disabled" | "LockedOut" | "Invited" | "Inactive" | "All";
17511
+ failedLoginAttempts: number;
17512
+ createDate: string;
17513
+ updateDate: string;
17514
+ lastLoginDate?: string | null;
17515
+ lastLockoutDate?: string | null;
17516
+ lastPasswordChangeDate?: string | null;
17517
+ isAdmin: boolean;
17518
+ kind: "Default" | "Api";
17519
+ email: string;
17520
+ userName: string;
17521
+ name: string;
17522
+ userGroupIds: {
17523
+ id: string;
17524
+ }[];
17525
+ }[];
17526
+ }
17527
+
17325
17528
  export interface UploadUserAvatarByIdInput {
17326
17529
  id: string;
17327
17530
  file: {
@@ -17967,6 +18170,7 @@ export interface CmsTools {
17967
18170
  "get-document-type-schema": { input: GetDocumentTypeSchemaInput; output: GetDocumentTypeSchemaOutput };
17968
18171
  "copy-document": { input: CopyDocumentInput; output: CopyDocumentOutput };
17969
18172
  "create-document": { input: CreateDocumentInput; output: CreateDocumentOutput };
18173
+ "create-and-publish-document": { input: CreateAndPublishDocumentInput; output: CreateAndPublishDocumentOutput };
17970
18174
  "post-document-public-access": { input: PostDocumentPublicAccessInput; output: unknown };
17971
18175
  "delete-document": { input: DeleteDocumentInput; output: unknown };
17972
18176
  "delete-document-public-access": { input: DeleteDocumentPublicAccessInput; output: unknown };
@@ -17981,8 +18185,11 @@ export interface CmsTools {
17981
18185
  "publish-document": { input: PublishDocumentInput; output: unknown };
17982
18186
  "publish-document-with-descendants": { input: PublishDocumentWithDescendantsInput; output: unknown };
17983
18187
  "sort-document": { input: SortDocumentInput; output: unknown };
18188
+ "sort-document-children": { input: SortDocumentChildrenInput; output: unknown };
18189
+ "sort-document-root-children": { input: SortDocumentRootChildrenInput; output: unknown };
17984
18190
  "unpublish-document": { input: UnpublishDocumentInput; output: unknown };
17985
18191
  "update-document": { input: UpdateDocumentInput; output: unknown };
18192
+ "update-and-publish-document": { input: UpdateAndPublishDocumentInput; output: unknown };
17986
18193
  "update-document-properties": { input: UpdateDocumentPropertiesInput; output: UpdateDocumentPropertiesOutput };
17987
18194
  "update-document-name": { input: UpdateDocumentNameInput; output: UpdateDocumentNameOutput };
17988
18195
  "update-block-property": { input: UpdateBlockPropertyInput; output: UpdateBlockPropertyOutput };
@@ -18042,6 +18249,7 @@ export interface CmsTools {
18042
18249
  "update-document-version-prevent-cleanup": { input: UpdateDocumentVersionPreventCleanupInput; output: unknown };
18043
18250
  "create-document-version-rollback": { input: CreateDocumentVersionRollbackInput; output: unknown };
18044
18251
  "get-element-by-id": { input: GetElementByIdInput; output: GetElementByIdOutput };
18252
+ "get-element-published": { input: GetElementPublishedInput; output: GetElementPublishedOutput };
18045
18253
  "get-element-configuration": { input: GetElementConfigurationInput; output: GetElementConfigurationOutput };
18046
18254
  "get-element-audit-log": { input: GetElementAuditLogInput; output: GetElementAuditLogOutput };
18047
18255
  "get-element-are-referenced": { input: GetElementAreReferencedInput; output: GetElementAreReferencedOutput };
@@ -18063,10 +18271,12 @@ export interface CmsTools {
18063
18271
  "get-recycle-bin-element-children": { input: GetRecycleBinElementChildrenInput; output: GetRecycleBinElementChildrenOutput };
18064
18272
  "get-recycle-bin-element-siblings": { input: GetRecycleBinElementSiblingsInput; output: GetRecycleBinElementSiblingsOutput };
18065
18273
  "create-element": { input: CreateElementInput; output: CreateElementOutput };
18274
+ "create-and-publish-element": { input: CreateAndPublishElementInput; output: CreateAndPublishElementOutput };
18066
18275
  "copy-element": { input: CopyElementInput; output: CopyElementOutput };
18067
18276
  "validate-element": { input: ValidateElementInput; output: unknown };
18068
18277
  "rollback-element-version": { input: RollbackElementVersionInput; output: unknown };
18069
18278
  "update-element": { input: UpdateElementInput; output: unknown };
18279
+ "update-and-publish-element": { input: UpdateAndPublishElementInput; output: unknown };
18070
18280
  "update-element-properties": { input: UpdateElementPropertiesInput; output: UpdateElementPropertiesOutput };
18071
18281
  "update-element-block-property": { input: UpdateElementBlockPropertyInput; output: UpdateElementBlockPropertyOutput };
18072
18282
  "move-element": { input: MoveElementInput; output: unknown };
@@ -18131,6 +18341,8 @@ export interface CmsTools {
18131
18341
  "validate-media": { input: ValidateMediaInput; output: unknown };
18132
18342
  "validate-media-update": { input: ValidateMediaUpdateInput; output: unknown };
18133
18343
  "sort-media": { input: SortMediaInput; output: unknown };
18344
+ "sort-media-children": { input: SortMediaChildrenInput; output: unknown };
18345
+ "sort-media-root-children": { input: SortMediaRootChildrenInput; output: unknown };
18134
18346
  "get-media-by-id-array": { input: GetMediaByIdArrayInput; output: GetMediaByIdArrayOutput };
18135
18347
  "move-media": { input: MoveMediaInput; output: unknown };
18136
18348
  "get-media-audit-log": { input: GetMediaAuditLogInput; output: GetMediaAuditLogOutput };
@@ -18232,7 +18444,6 @@ export interface CmsTools {
18232
18444
  "get-redirect-by-id": { input: GetRedirectByIdInput; output: GetRedirectByIdOutput };
18233
18445
  "delete-redirect": { input: DeleteRedirectInput; output: unknown };
18234
18446
  "get-redirect-status": { input: GetRedirectStatusInput; output: GetRedirectStatusOutput };
18235
- "update-redirect-status": { input: UpdateRedirectStatusInput; output: unknown };
18236
18447
  "get-relation-by-relation-type-id": { input: GetRelationByRelationTypeIdInput; output: GetRelationByRelationTypeIdOutput };
18237
18448
  "get-relation-type": { input: GetRelationTypeInput; output: GetRelationTypeOutput };
18238
18449
  "get-relation-type-by-id": { input: GetRelationTypeByIdInput; output: GetRelationTypeByIdOutput };
@@ -18305,6 +18516,7 @@ export interface CmsTools {
18305
18516
  "get-item-user": { input: GetItemUserInput; output: GetItemUserOutput };
18306
18517
  "get-user-configuration": { input: GetUserConfigurationInput; output: GetUserConfigurationOutput };
18307
18518
  "get-user-by-id-calculate-start-nodes": { input: GetUserByIdCalculateStartNodesInput; output: GetUserByIdCalculateStartNodesOutput };
18519
+ "get-user-batch": { input: GetUserBatchInput; output: GetUserBatchOutput };
18308
18520
  "upload-user-avatar-by-id": { input: UploadUserAvatarByIdInput; output: unknown };
18309
18521
  "delete-user-avatar-by-id": { input: DeleteUserAvatarByIdInput; output: unknown };
18310
18522
  "create-user-data": { input: CreateUserDataInput; output: CreateUserDataOutput };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umbraco-cms/mcp-dev",
3
- "version": "18.0.2",
3
+ "version": "18.1.0-rc",
4
4
  "type": "module",
5
5
  "description": "A model context protocol (MCP) server for Umbraco CMS",
6
6
  "main": "dist/index.js",
@@ -25,7 +25,7 @@
25
25
  "compile": "tsc --noEmit",
26
26
  "watch": "tsup --config tsup.config.ts --watch",
27
27
  "generate": "orval --config orval.config.ts",
28
- "inspect": "npx @modelcontextprotocol/inspector node dist/index.js",
28
+ "inspect": "npx @modelcontextprotocol/inspector@1 node dist/index.js",
29
29
  "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
30
30
  "test:all": "npm run build && npm run test && npm run test:evals",
31
31
  "test:one": "node --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand --forceExit",
@@ -72,8 +72,8 @@
72
72
  "@modelcontextprotocol/sdk": "^1.28.0",
73
73
  "@types/uuid": "^10.0.0",
74
74
  "@types/yargs": "^17.0.33",
75
- "@umbraco-cms/mcp-hosted": "^1.0.0-beta.31",
76
- "@umbraco-cms/mcp-server-sdk": "^1.0.0-beta.31",
75
+ "@umbraco-cms/mcp-hosted": "^1.0.0-beta.35",
76
+ "@umbraco-cms/mcp-server-sdk": "^1.0.0-beta.35",
77
77
  "dotenv": "^16.5.0",
78
78
  "form-data": "^4.0.4",
79
79
  "mime-types": "^3.0.1",
@@ -86,6 +86,7 @@
86
86
  "@anthropic-ai/claude-agent-sdk": "0.2.39",
87
87
  "@cloudflare/workers-oauth-provider": "^0.2.3",
88
88
  "@jest/types": "^29.6.3",
89
+ "@modelcontextprotocol/inspector": "^1.0.1",
89
90
  "@playwright/test": "^1.58.2",
90
91
  "@types/dotenv": "^6.1.1",
91
92
  "@types/jest": "^29.5.14",