@antonytm/mcp-sitecore-server 0.10.6 → 0.11.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.
Files changed (27) hide show
  1. package/README.md +5 -0
  2. package/dist/bundle.js +160 -72
  3. package/dist/register.js +13 -2
  4. package/dist/register.js.map +1 -1
  5. package/dist/tools/powershell/client.js +1 -1
  6. package/dist/tools/powershell/client.js.map +1 -1
  7. package/dist/tools/powershell/composite/indexing/initialialize-search-indexing-item-by-id.d.ts +3 -0
  8. package/dist/tools/powershell/composite/indexing/initialialize-search-indexing-item-by-id.js +24 -0
  9. package/dist/tools/powershell/composite/indexing/initialialize-search-indexing-item-by-id.js.map +1 -0
  10. package/dist/tools/powershell/composite/indexing/initialialize-search-indexing-item-by-path.d.ts +3 -0
  11. package/dist/tools/powershell/composite/indexing/initialialize-search-indexing-item-by-path.js +21 -0
  12. package/dist/tools/powershell/composite/indexing/initialialize-search-indexing-item-by-path.js.map +1 -0
  13. package/dist/tools/powershell/composite/indexing/remove-search-index-item-by-id.d.ts +3 -0
  14. package/dist/tools/powershell/composite/indexing/remove-search-index-item-by-id.js +24 -0
  15. package/dist/tools/powershell/composite/indexing/remove-search-index-item-by-id.js.map +1 -0
  16. package/dist/tools/powershell/composite/indexing/remove-search-index-item-by-path.d.ts +3 -0
  17. package/dist/tools/powershell/composite/indexing/remove-search-index-item-by-path.js +21 -0
  18. package/dist/tools/powershell/composite/indexing/remove-search-index-item-by-path.js.map +1 -0
  19. package/dist/tools/powershell/composite/security/{set-item-acl.d.ts → set-item-acl-by-id.d.ts} +1 -1
  20. package/dist/tools/powershell/composite/security/set-item-acl-by-id.js +35 -0
  21. package/dist/tools/powershell/composite/security/set-item-acl-by-id.js.map +1 -0
  22. package/dist/tools/powershell/composite/security/set-item-acl-by-path.d.ts +3 -0
  23. package/dist/tools/powershell/composite/security/set-item-acl-by-path.js +32 -0
  24. package/dist/tools/powershell/composite/security/set-item-acl-by-path.js.map +1 -0
  25. package/package.json +1 -1
  26. package/dist/tools/powershell/composite/security/set-item-acl.js +0 -59
  27. package/dist/tools/powershell/composite/security/set-item-acl.js.map +0 -1
package/README.md CHANGED
@@ -77,6 +77,11 @@
77
77
  - [x] `indexing-initialize-search-index`: initializes one or more search indexes
78
78
  - [x] `indexing-get-search-index`: returns a search index
79
79
  - [x] `indexing-find-item`: finds an item in a search index
80
+ - [x] `indexing-initialize-search-index-item-by-id`: rebuilds the index for a given tree with the specified root item by ID and index name
81
+ - [x] `indexing-initialize-search-index-item-by-path`: rebuilds the index for a given tree with the specified root item by path and index name
82
+ - [x] `indexing-remove-search-index-item-by-id`: removes the item with the specified ID from the search index
83
+ - [x] `indexing-remove-search-index-item-by-path`: removes the item with the specified path from the search index
84
+ - [ ] ~~`indexing-initialize-item`: initializes items with the PowerShell automatic properties for each field.~~ Skipped, no value for MCP server.
80
85
 
81
86
  - [ ] Sitecore CLI
82
87
 
package/dist/bundle.js CHANGED
@@ -25193,77 +25193,6 @@ function getItemPowerShellTool(server, config) {
25193
25193
  });
25194
25194
  }
25195
25195
 
25196
- function prepareArgsString(parameters) {
25197
- let scriptWithParameters = "";
25198
- if (parameters) {
25199
- for (const parameter in parameters) {
25200
- if (parameters[parameter] === "") {
25201
- scriptWithParameters += ` -${parameter}`;
25202
- }
25203
- else if (Array.isArray(parameters[parameter])) {
25204
- scriptWithParameters += ` -${parameter} "${parameters[parameter].join('","')}"`;
25205
- }
25206
- else {
25207
- scriptWithParameters += ` -${parameter} "${parameters[parameter]}"`;
25208
- }
25209
- }
25210
- }
25211
- return scriptWithParameters;
25212
- }
25213
-
25214
- // This security tool doesn't have sense as it could be replaced with Add-ItemAcl+Clear-ItemAcl tools.
25215
- // It is kept for testing "composite" tools.
25216
- function setItemAclPowerShellTool(server, config) {
25217
- server.tool("security-set-item-acl-by-id", "Sets an access control entry to a Sitecore item by its ID.", {
25218
- id: stringType()
25219
- .describe("The ID of the item to add ACL entry for"),
25220
- identity: stringType()
25221
- .describe("The identity of the account (user or role) to grant permissions to (e.g. 'sitecore\\admin')"),
25222
- accessRight: enumType(AccessRights)
25223
- .describe("The access right to grant (e.g. 'item:read', 'item:write')"),
25224
- propagationType: enumType(["Descendants", "Children", "Entity"]).default("Entity")
25225
- .describe("The propagation type for the access right"),
25226
- securityPermission: enumType(["AllowAccess", "DenyAccess"]).default("AllowAccess")
25227
- .describe("Whether to allow or deny the specified access right"),
25228
- }, async (params) => {
25229
- const parameters1Obj = {};
25230
- parameters1Obj["Identity"] = params.identity;
25231
- parameters1Obj["AccessRight"] = params.accessRight;
25232
- parameters1Obj["PropagationType"] = params.propagationType;
25233
- parameters1Obj["SecurityPermission"] = params.securityPermission;
25234
- const parameters1 = prepareArgsString(parameters1Obj);
25235
- const command = `
25236
- $acl = New-ItemAcl ${parameters1}
25237
- Get-Item -Id ${params.id} | Set-ItemAcl -AccessRules $acl
25238
- `.replaceAll(/[\n]+/g, "");
25239
- return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
25240
- });
25241
- server.tool("security-set-item-acl-by-path", "Sets an access control entry to a Sitecore item by its path.", {
25242
- path: stringType()
25243
- .describe("The path of the item to add ACL entry for"),
25244
- identity: stringType()
25245
- .describe("The identity of the account (user or role) to grant permissions to (e.g. 'sitecore\\admin')"),
25246
- accessRight: enumType(AccessRights)
25247
- .describe("The access right to grant (e.g. 'item:read', 'item:write')"),
25248
- propagationType: enumType(["Descendants", "Children", "Entity"]).default("Entity")
25249
- .describe("The propagation type for the access right"),
25250
- securityPermission: enumType(["AllowAccess", "DenyAccess"]).default("AllowAccess")
25251
- .describe("Whether to allow or deny the specified access right"),
25252
- }, async (params) => {
25253
- const parameters1Obj = {};
25254
- parameters1Obj["Identity"] = params.identity;
25255
- parameters1Obj["AccessRight"] = params.accessRight;
25256
- parameters1Obj["PropagationType"] = params.propagationType;
25257
- parameters1Obj["SecurityPermission"] = params.securityPermission;
25258
- const parameters1 = prepareArgsString(parameters1Obj);
25259
- const command = `
25260
- $acl = New-ItemAcl ${parameters1}
25261
- Get-Item -Path "${params.path}" | Set-ItemAcl -AccessRules $acl
25262
- `.replaceAll(/[\n]+/g, "");
25263
- return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
25264
- });
25265
- }
25266
-
25267
25196
  function initializeSearchIndexPowerShellTool(server, config) {
25268
25197
  server.tool("indexing-initialize-search-index", "Initialize one or more Sitecore search indexes. If no name is provided, all indexes will be initialized.", {
25269
25198
  name: stringType().optional().describe("The name of the index to initialize. If not provided, all indexes will be initialized."),
@@ -25436,6 +25365,159 @@ async function findItemPowerShellTool(server, config) {
25436
25365
  });
25437
25366
  }
25438
25367
 
25368
+ function prepareArgsString(parameters) {
25369
+ let scriptWithParameters = "";
25370
+ if (parameters) {
25371
+ for (const parameter in parameters) {
25372
+ if (parameters[parameter] === "") {
25373
+ scriptWithParameters += ` -${parameter}`;
25374
+ }
25375
+ else if (Array.isArray(parameters[parameter])) {
25376
+ scriptWithParameters += ` -${parameter} "${parameters[parameter].join('","')}"`;
25377
+ }
25378
+ else {
25379
+ scriptWithParameters += ` -${parameter} "${parameters[parameter]}"`;
25380
+ }
25381
+ }
25382
+ }
25383
+ return scriptWithParameters;
25384
+ }
25385
+
25386
+ function setItemAclByIdPowerShellTool(server, config) {
25387
+ server.tool("security-set-item-acl-by-id", "Sets an access control entry to a Sitecore item by its ID.", {
25388
+ id: stringType()
25389
+ .describe("The ID of the item to add ACL entry for"),
25390
+ path: stringType()
25391
+ .default("master:")
25392
+ .optional(),
25393
+ identity: stringType()
25394
+ .describe("The identity of the account (user or role) to grant permissions to (e.g. 'sitecore\\admin')"),
25395
+ accessRight: enumType(AccessRights)
25396
+ .describe("The access right to grant (e.g. 'item:read', 'item:write')"),
25397
+ propagationType: enumType(["Descendants", "Children", "Entity"]).default("Entity")
25398
+ .describe("The propagation type for the access right"),
25399
+ securityPermission: enumType(["AllowAccess", "DenyAccess"]).default("AllowAccess")
25400
+ .describe("Whether to allow or deny the specified access right"),
25401
+ }, async (params) => {
25402
+ const parameters1Obj = {};
25403
+ parameters1Obj["Identity"] = params.identity;
25404
+ parameters1Obj["AccessRight"] = params.accessRight;
25405
+ parameters1Obj["PropagationType"] = params.propagationType;
25406
+ parameters1Obj["SecurityPermission"] = params.securityPermission;
25407
+ const parameters1 = prepareArgsString(parameters1Obj);
25408
+ const command = `
25409
+ $acl = New-ItemAcl ${parameters1};
25410
+ Get-Item -Id ${params.id} -Path ${params.path} | Set-ItemAcl -AccessRules $acl
25411
+ `.replaceAll(/[\n]+/g, "");
25412
+ return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
25413
+ });
25414
+ }
25415
+
25416
+ function setItemAclByPathPowerShellTool(server, config) {
25417
+ server.tool("security-set-item-acl-by-path", "Sets an access control entry to a Sitecore item by its path.", {
25418
+ path: stringType()
25419
+ .describe("The path of the item to add ACL entry for"),
25420
+ identity: stringType()
25421
+ .describe("The identity of the account (user or role) to grant permissions to (e.g. 'sitecore\\admin')"),
25422
+ accessRight: enumType(AccessRights)
25423
+ .describe("The access right to grant (e.g. 'item:read', 'item:write')"),
25424
+ propagationType: enumType(["Descendants", "Children", "Entity"]).default("Entity")
25425
+ .describe("The propagation type for the access right"),
25426
+ securityPermission: enumType(["AllowAccess", "DenyAccess"]).default("AllowAccess")
25427
+ .describe("Whether to allow or deny the specified access right"),
25428
+ }, async (params) => {
25429
+ const parameters1Obj = {};
25430
+ parameters1Obj["Identity"] = params.identity;
25431
+ parameters1Obj["AccessRight"] = params.accessRight;
25432
+ parameters1Obj["PropagationType"] = params.propagationType;
25433
+ parameters1Obj["SecurityPermission"] = params.securityPermission;
25434
+ const parameters1 = prepareArgsString(parameters1Obj);
25435
+ const command = `
25436
+ $acl = New-ItemAcl ${parameters1};
25437
+ Get-Item -Path "${params.path}" | Set-ItemAcl -AccessRules $acl
25438
+ `.replaceAll(/[\n]+/g, "");
25439
+ return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
25440
+ });
25441
+ }
25442
+
25443
+ function initializeSearchIndexingItemByIdPowerShellTool(server, config) {
25444
+ server.tool("indexing-initialize-search-index-item-by-id", "Rebuilds the index for a given tree with the specified root item by id and index name. Supports wildcard filtering for the index name.", {
25445
+ id: stringType()
25446
+ .describe("The ID of the item to rebuild the index for"),
25447
+ path: stringType()
25448
+ .default("master:")
25449
+ .optional(),
25450
+ indexName: stringType()
25451
+ .default("sitecore_*_index")
25452
+ .optional()
25453
+ .describe("The name of the index to rebuild"),
25454
+ }, async (params) => {
25455
+ const command = `
25456
+ $item = Get-Item -Id ${params.id} -Path ${params.path};
25457
+ $indexName = "${params.indexName}";
25458
+ Initialize-SearchIndexItem -Item $item -Name $indexName
25459
+ `.replaceAll(/[\n]+/g, "");
25460
+ return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
25461
+ });
25462
+ }
25463
+
25464
+ function initializeSearchIndexingItemByPathPowerShellTool(server, config) {
25465
+ server.tool("indexing-initialize-search-index-item-by-path", "Rebuilds the index for a given tree with the specified root item by path and index name. Supports wildcard filtering for the index name.", {
25466
+ path: stringType()
25467
+ .describe("The path of the item to rebuild the index for"),
25468
+ indexName: stringType()
25469
+ .default("sitecore_*_index")
25470
+ .optional()
25471
+ .describe("The name of the index to rebuild"),
25472
+ }, async (params) => {
25473
+ const command = `
25474
+ $item = Get-Item -Path ${params.path};
25475
+ $indexName = "${params.indexName}";
25476
+ Initialize-SearchIndexItem -Item $item -Name $indexName
25477
+ `.replaceAll(/[\n]+/g, "");
25478
+ return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
25479
+ });
25480
+ }
25481
+
25482
+ function removeSearchIndexItemByIdPowerShellTool(server, config) {
25483
+ server.tool("indexing-remove-search-index-item-by-id", "Removes the item with the specified ID from the search index. Supports wildcard filtering for the index name.", {
25484
+ id: stringType()
25485
+ .describe("The ID of the item to remove from the index"),
25486
+ path: stringType()
25487
+ .default("master:")
25488
+ .optional(),
25489
+ indexName: stringType()
25490
+ .default("sitecore_*_index")
25491
+ .optional()
25492
+ .describe("The name of the index to remove the item from"),
25493
+ }, async (params) => {
25494
+ const command = `
25495
+ $item = Get-Item -Id ${params.id} -Path ${params.path};
25496
+ $indexName = "${params.indexName}";
25497
+ Remove-SearchIndexItem -Item $item -Name $indexName
25498
+ `.replaceAll(/[\n]+/g, "");
25499
+ return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
25500
+ });
25501
+ }
25502
+
25503
+ function removeSearchIndexItemByPathPowerShellTool(server, config) {
25504
+ server.tool("indexing-remove-search-index-item-by-path", "Removes the item with the specified path from the search index. Supports wildcard filtering for the index name.", {
25505
+ path: stringType()
25506
+ .describe("The path of the item to remove from the index"),
25507
+ indexName: stringType()
25508
+ .default("sitecore_*_index")
25509
+ .optional()
25510
+ .describe("The name of the index to remove the item from"),
25511
+ }, async (params) => {
25512
+ const command = `
25513
+ $item = Get-Item -Path ${params.path};
25514
+ $indexName = "${params.indexName}";
25515
+ Remove-SearchIndexItem -Item $item -Name $indexName
25516
+ `.replaceAll(/[\n]+/g, "");
25517
+ return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
25518
+ });
25519
+ }
25520
+
25439
25521
  async function register(array, server, config) {
25440
25522
  for (const register of array) {
25441
25523
  await register(server, config);
@@ -25486,13 +25568,19 @@ async function registerAll(server, config) {
25486
25568
  addItemAclPowerShellTool,
25487
25569
  clearItemAclPowerShellTool,
25488
25570
  //Composite Security PowerShell Tools
25489
- setItemAclPowerShellTool,
25571
+ setItemAclByIdPowerShellTool,
25572
+ setItemAclByPathPowerShellTool,
25490
25573
  //Provider
25491
25574
  getItemPowerShellTool,
25492
25575
  //Indexing PowerShell Tools
25493
25576
  initializeSearchIndexPowerShellTool,
25494
25577
  getSearchIndexPowerShellTool,
25495
25578
  findItemPowerShellTool,
25579
+ //Composite Indexing PowerShell Tools
25580
+ initializeSearchIndexingItemByIdPowerShellTool,
25581
+ initializeSearchIndexingItemByPathPowerShellTool,
25582
+ removeSearchIndexItemByIdPowerShellTool,
25583
+ removeSearchIndexItemByPathPowerShellTool,
25496
25584
  ], server, config);
25497
25585
  }
25498
25586
 
package/dist/register.js CHANGED
@@ -37,10 +37,15 @@ import { testItemAclPowerShellTool } from "./tools/powershell/simple/security/te
37
37
  import { addItemAclPowerShellTool } from "./tools/powershell/simple/security/add-item-acl.js";
38
38
  import { clearItemAclPowerShellTool } from "./tools/powershell/simple/security/clear-item-acl.js";
39
39
  import { getItemPowerShellTool } from "./tools/powershell/simple/provider/get-item.js";
40
- import { setItemAclPowerShellTool } from "./tools/powershell/composite/security/set-item-acl.js";
41
40
  import { initializeSearchIndexPowerShellTool } from "./tools/powershell/simple/indexing/initialize-search-index.js";
42
41
  import { getSearchIndexPowerShellTool } from "./tools/powershell/simple/indexing/get-search-index.js";
43
42
  import { findItemPowerShellTool } from "./tools/powershell/simple/indexing/find-item.js";
43
+ import { setItemAclByIdPowerShellTool } from "./tools/powershell/composite/security/set-item-acl-by-id.js";
44
+ import { setItemAclByPathPowerShellTool } from "./tools/powershell/composite/security/set-item-acl-by-path.js";
45
+ import { initializeSearchIndexingItemByIdPowerShellTool } from "./tools/powershell/composite/indexing/initialialize-search-indexing-item-by-id.js";
46
+ import { initializeSearchIndexingItemByPathPowerShellTool } from "./tools/powershell/composite/indexing/initialialize-search-indexing-item-by-path.js";
47
+ import { removeSearchIndexItemByIdPowerShellTool } from "./tools/powershell/composite/indexing/remove-search-index-item-by-id.js";
48
+ import { removeSearchIndexItemByPathPowerShellTool } from "./tools/powershell/composite/indexing/remove-search-index-item-by-path.js";
44
49
  export async function register(array, server, config) {
45
50
  for (const register of array) {
46
51
  await register(server, config);
@@ -91,13 +96,19 @@ export async function registerAll(server, config) {
91
96
  addItemAclPowerShellTool,
92
97
  clearItemAclPowerShellTool,
93
98
  //Composite Security PowerShell Tools
94
- setItemAclPowerShellTool,
99
+ setItemAclByIdPowerShellTool,
100
+ setItemAclByPathPowerShellTool,
95
101
  //Provider
96
102
  getItemPowerShellTool,
97
103
  //Indexing PowerShell Tools
98
104
  initializeSearchIndexPowerShellTool,
99
105
  getSearchIndexPowerShellTool,
100
106
  findItemPowerShellTool,
107
+ //Composite Indexing PowerShell Tools
108
+ initializeSearchIndexingItemByIdPowerShellTool,
109
+ initializeSearchIndexingItemByPathPowerShellTool,
110
+ removeSearchIndexItemByIdPowerShellTool,
111
+ removeSearchIndexItemByPathPowerShellTool,
101
112
  ], server, config);
102
113
  }
103
114
  //# sourceMappingURL=register.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,yEAAyE,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,MAAM,kFAAkF,CAAC;AACvH,OAAO,EAAE,iBAAiB,EAAE,MAAM,iFAAiF,CAAC;AACpH,OAAO,EAAE,cAAc,EAAE,MAAM,4EAA4E,CAAC;AAC5G,OAAO,EAAE,YAAY,EAAE,MAAM,0EAA0E,CAAC;AACxG,OAAO,EAAE,cAAc,EAAE,MAAM,4EAA4E,CAAC;AAC5G,OAAO,EAAE,eAAe,EAAE,MAAM,6EAA6E,CAAC;AAC9G,OAAO,EAAE,kBAAkB,EAAE,MAAM,iFAAiF,CAAC;AACrH,OAAO,EAAE,mBAAmB,EAAE,MAAM,kFAAkF,CAAC;AACvH,OAAO,EAAE,sBAAsB,EAAE,MAAM,wFAAwF,CAAC;AAChI,OAAO,EAAE,gBAAgB,EAAE,MAAM,iFAAiF,CAAC;AACnH,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAC7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AAC/F,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAC7F,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,6BAA6B,EAAE,MAAM,yDAAyD,CAAC;AACxG,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,2BAA2B,EAAE,MAAM,uDAAuD,CAAC;AACpG,OAAO,EAAE,2BAA2B,EAAE,MAAM,uDAAuD,CAAC;AACpG,OAAO,EAAE,8BAA8B,EAAE,MAAM,0DAA0D,CAAC;AAC1G,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAC7F,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AAC/F,OAAO,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,EAAE,0BAA0B,EAAE,MAAM,qDAAqD,CAAC;AACjG,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AAC/F,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AAChG,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,0BAA0B,EAAE,MAAM,sDAAsD,CAAC;AAClG,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,mCAAmC,EAAE,MAAM,+DAA+D,CAAC;AACpH,OAAO,EAAE,4BAA4B,EAAE,MAAM,wDAAwD,CAAC;AACtG,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,4BAA4B,EAAE,MAAM,6DAA6D,CAAC;AAC3G,OAAO,EAAE,8BAA8B,EAAE,MAAM,+DAA+D,CAAC;AAC/G,OAAO,EAAE,8CAA8C,EAAE,MAAM,mFAAmF,CAAC;AACnJ,OAAO,EAAE,gDAAgD,EAAE,MAAM,qFAAqF,CAAC;AACvJ,OAAO,EAAE,uCAAuC,EAAE,MAAM,yEAAyE,CAAC;AAClI,OAAO,EAAE,yCAAyC,EAAE,MAAM,2EAA2E,CAAC;AAMtI,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,KAAyD,EACpF,MAAiB,EACjB,MAAc;IACd,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC3B,MAAM,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAiB,EAAE,MAAc;IAC/D,MAAM,QAAQ,CAAC;QACX,eAAe,EAAS,cAAc;QACtC,2BAA2B;QAC3B,WAAW;QACX,mBAAmB;QACnB,iBAAiB;QACjB,cAAc;QACd,YAAY;QACZ,cAAc;QACd,eAAe;QACf,kBAAkB;QAClB,mBAAmB;QAEnB,8BAA8B;QAC9B,sBAAsB;QACtB,gBAAgB,EAAS,kBAAkB;QAC3C,UAAU;QACV,kCAAkC;QAClC,qBAAqB;QACrB,qBAAqB;QACrB,wBAAwB;QACxB,yBAAyB;QACzB,wBAAwB;QACxB,wBAAwB;QACxB,qBAAqB;QACrB,6BAA6B;QAC7B,uBAAuB;QACvB,qBAAqB;QACrB,2BAA2B;QAC3B,2BAA2B;QAC3B,8BAA8B;QAC9B,sBAAsB;QACtB,wBAAwB;QACxB,yBAAyB;QACzB,2BAA2B;QAC3B,qBAAqB;QACrB,wBAAwB;QACxB,uBAAuB;QACvB,0BAA0B;QAC1B,yBAAyB;QACzB,wBAAwB;QACxB,yBAAyB;QACzB,wBAAwB;QACxB,0BAA0B;QAC1B,qCAAqC;QACrC,4BAA4B;QAC5B,8BAA8B;QAE9B,UAAU;QACV,qBAAqB;QACrB,2BAA2B;QAC3B,mCAAmC;QACnC,4BAA4B;QAC5B,sBAAsB;QACtB,qCAAqC;QACrC,8CAA8C;QAC9C,gDAAgD;QAChD,uCAAuC;QACvC,yCAAyC;KAE5C,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACvB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { generateUUID } from "../../utils";
1
+ import { generateUUID } from "../../utils.js";
2
2
  import { convertObject, parseXMLString } from "@antonytm/clixml-parser";
3
3
  class PowershellClient {
4
4
  serverUrl;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/tools/powershell/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAExE,MAAM,gBAAgB;IACV,SAAS,CAAS;IAClB,QAAQ,CAAS;IACjB,QAAQ,CAAS;IACjB,MAAM,CAAS;IACf,WAAW,GAAkB,IAAI,CAAC;IAE1C,YAAY,SAAiB,EAAE,QAAgB,EAAE,QAAgB,EAAE,SAAiB,UAAU;QAC1F,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5F,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,aAAkC,EAAE;QACpE,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,+BAA+B,IAAI,2CAA2C,CAAC;QAC5G,MAAM,OAAO,GAAG;YACZ,eAAe,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;YACvC,cAAc,EAAE,kBAAkB;SACrC,CAAC;QAEF,IAAI,oBAAoB,GAAG,MAAM,CAAC;QAClC,IAAI,UAAU,EAAE,CAAC;YACb,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACjC,IAAI,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;oBAC/B,oBAAoB,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC7C,CAAC;qBACI,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;oBAC5C,oBAAoB,IAAI,KAAK,SAAS,KAAK,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBACpF,CAAC;qBAAM,CAAC;oBACJ,oBAAoB,IAAI,KAAK,SAAS,KAAK,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC;gBACxE,CAAC;YACL,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,oBAAoB,UAAU,IAAI,QAAQ,CAAC;QAE3D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC9B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,IAAI;SAEb,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,aAAkC,EAAE;QACxE,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACxD,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI;iBAC3B,IAAI,CAAC,GAAG,CAAC;iBACT,IAAI,CAAC,GAAG,CAAC;iBACT,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/tools/powershell/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAExE,MAAM,gBAAgB;IACV,SAAS,CAAS;IAClB,QAAQ,CAAS;IACjB,QAAQ,CAAS;IACjB,MAAM,CAAS;IACf,WAAW,GAAkB,IAAI,CAAC;IAE1C,YAAY,SAAiB,EAAE,QAAgB,EAAE,QAAgB,EAAE,SAAiB,UAAU;QAC1F,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5F,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,aAAkC,EAAE;QACpE,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,+BAA+B,IAAI,2CAA2C,CAAC;QAC5G,MAAM,OAAO,GAAG;YACZ,eAAe,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;YACvC,cAAc,EAAE,kBAAkB;SACrC,CAAC;QAEF,IAAI,oBAAoB,GAAG,MAAM,CAAC;QAClC,IAAI,UAAU,EAAE,CAAC;YACb,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACjC,IAAI,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;oBAC/B,oBAAoB,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC7C,CAAC;qBACI,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;oBAC5C,oBAAoB,IAAI,KAAK,SAAS,KAAK,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBACpF,CAAC;qBAAM,CAAC;oBACJ,oBAAoB,IAAI,KAAK,SAAS,KAAK,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC;gBACxE,CAAC;YACL,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,oBAAoB,UAAU,IAAI,QAAQ,CAAC;QAE3D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC9B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,IAAI;SAEb,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,aAAkC,EAAE;QACxE,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACxD,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI;iBAC3B,IAAI,CAAC,GAAG,CAAC;iBACT,IAAI,CAAC,GAAG,CAAC;iBACT,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp";
2
+ import type { Config } from "../../../../config.js";
3
+ export declare function initializeSearchIndexingItemByIdPowerShellTool(server: McpServer, config: Config): void;
@@ -0,0 +1,24 @@
1
+ import { z } from "zod";
2
+ import { safeMcpResponse } from "../../../../helper.js";
3
+ import { runGenericPowershellCommand } from "../../simple/generic.js";
4
+ export function initializeSearchIndexingItemByIdPowerShellTool(server, config) {
5
+ server.tool("indexing-initialize-search-index-item-by-id", "Rebuilds the index for a given tree with the specified root item by id and index name. Supports wildcard filtering for the index name.", {
6
+ id: z.string()
7
+ .describe("The ID of the item to rebuild the index for"),
8
+ path: z.string()
9
+ .default("master:")
10
+ .optional(),
11
+ indexName: z.string()
12
+ .default("sitecore_*_index")
13
+ .optional()
14
+ .describe("The name of the index to rebuild"),
15
+ }, async (params) => {
16
+ const command = `
17
+ $item = Get-Item -Id ${params.id} -Path ${params.path};
18
+ $indexName = "${params.indexName}";
19
+ Initialize-SearchIndexItem -Item $item -Name $indexName
20
+ `.replaceAll(/[\n]+/g, "");
21
+ return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
22
+ });
23
+ }
24
+ //# sourceMappingURL=initialialize-search-indexing-item-by-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialialize-search-indexing-item-by-id.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/composite/indexing/initialialize-search-indexing-item-by-id.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAEtE,MAAM,UAAU,8CAA8C,CAAC,MAAiB,EAAE,MAAc;IAC5F,MAAM,CAAC,IAAI,CACP,6CAA6C,EAC7C,wIAAwI,EACxI;QACI,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;aACT,QAAQ,CAAC,6CAA6C,CAAC;QAC5D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;aACX,OAAO,CAAC,SAAS,CAAC;aAClB,QAAQ,EAAE;QACf,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;aAChB,OAAO,CAAC,kBAAkB,CAAC;aAC3B,QAAQ,EAAE;aACV,QAAQ,CAAC,kCAAkC,CAAC;KACpD,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACb,MAAM,OAAO,GAAG;uCACW,MAAM,CAAC,EAAE,UAAU,MAAM,CAAC,IAAI;gCACrC,MAAM,CAAC,SAAS;;aAEnC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAE3B,OAAO,eAAe,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC,CACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp";
2
+ import type { Config } from "../../../../config.js";
3
+ export declare function initializeSearchIndexingItemByPathPowerShellTool(server: McpServer, config: Config): void;
@@ -0,0 +1,21 @@
1
+ import { z } from "zod";
2
+ import { safeMcpResponse } from "../../../../helper.js";
3
+ import { runGenericPowershellCommand } from "../../simple/generic.js";
4
+ export function initializeSearchIndexingItemByPathPowerShellTool(server, config) {
5
+ server.tool("indexing-initialize-search-index-item-by-path", "Rebuilds the index for a given tree with the specified root item by path and index name. Supports wildcard filtering for the index name.", {
6
+ path: z.string()
7
+ .describe("The path of the item to rebuild the index for"),
8
+ indexName: z.string()
9
+ .default("sitecore_*_index")
10
+ .optional()
11
+ .describe("The name of the index to rebuild"),
12
+ }, async (params) => {
13
+ const command = `
14
+ $item = Get-Item -Path ${params.path};
15
+ $indexName = "${params.indexName}";
16
+ Initialize-SearchIndexItem -Item $item -Name $indexName
17
+ `.replaceAll(/[\n]+/g, "");
18
+ return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
19
+ });
20
+ }
21
+ //# sourceMappingURL=initialialize-search-indexing-item-by-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialialize-search-indexing-item-by-path.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/composite/indexing/initialialize-search-indexing-item-by-path.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAEtE,MAAM,UAAU,gDAAgD,CAAC,MAAiB,EAAE,MAAc;IAC9F,MAAM,CAAC,IAAI,CACP,+CAA+C,EAC/C,0IAA0I,EAC1I;QACI,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;aACX,QAAQ,CAAC,+CAA+C,CAAC;QAC9D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;aAChB,OAAO,CAAC,kBAAkB,CAAC;aAC3B,QAAQ,EAAE;aACV,QAAQ,CAAC,kCAAkC,CAAC;KACpD,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACb,MAAM,OAAO,GAAG;yCACa,MAAM,CAAC,IAAI;gCACpB,MAAM,CAAC,SAAS;;aAEnC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAE3B,OAAO,eAAe,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC,CACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp";
2
+ import type { Config } from "../../../../config.js";
3
+ export declare function removeSearchIndexItemByIdPowerShellTool(server: McpServer, config: Config): void;
@@ -0,0 +1,24 @@
1
+ import { z } from "zod";
2
+ import { safeMcpResponse } from "../../../../helper.js";
3
+ import { runGenericPowershellCommand } from "../../simple/generic.js";
4
+ export function removeSearchIndexItemByIdPowerShellTool(server, config) {
5
+ server.tool("indexing-remove-search-index-item-by-id", "Removes the item with the specified ID from the search index. Supports wildcard filtering for the index name.", {
6
+ id: z.string()
7
+ .describe("The ID of the item to remove from the index"),
8
+ path: z.string()
9
+ .default("master:")
10
+ .optional(),
11
+ indexName: z.string()
12
+ .default("sitecore_*_index")
13
+ .optional()
14
+ .describe("The name of the index to remove the item from"),
15
+ }, async (params) => {
16
+ const command = `
17
+ $item = Get-Item -Id ${params.id} -Path ${params.path};
18
+ $indexName = "${params.indexName}";
19
+ Remove-SearchIndexItem -Item $item -Name $indexName
20
+ `.replaceAll(/[\n]+/g, "");
21
+ return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
22
+ });
23
+ }
24
+ //# sourceMappingURL=remove-search-index-item-by-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-search-index-item-by-id.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/composite/indexing/remove-search-index-item-by-id.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAEtE,MAAM,UAAU,uCAAuC,CAAC,MAAiB,EAAE,MAAc;IACrF,MAAM,CAAC,IAAI,CACP,yCAAyC,EACzC,+GAA+G,EAC/G;QACI,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;aACT,QAAQ,CAAC,6CAA6C,CAAC;QAC5D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;aACX,OAAO,CAAC,SAAS,CAAC;aAClB,QAAQ,EAAE;QACf,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;aAChB,OAAO,CAAC,kBAAkB,CAAC;aAC3B,QAAQ,EAAE;aACV,QAAQ,CAAC,+CAA+C,CAAC;KACjE,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACb,MAAM,OAAO,GAAG;uCACW,MAAM,CAAC,EAAE,UAAU,MAAM,CAAC,IAAI;gCACrC,MAAM,CAAC,SAAS;;aAEnC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAE3B,OAAO,eAAe,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC,CACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp";
2
+ import type { Config } from "../../../../config.js";
3
+ export declare function removeSearchIndexItemByPathPowerShellTool(server: McpServer, config: Config): void;
@@ -0,0 +1,21 @@
1
+ import { z } from "zod";
2
+ import { safeMcpResponse } from "../../../../helper.js";
3
+ import { runGenericPowershellCommand } from "../../simple/generic.js";
4
+ export function removeSearchIndexItemByPathPowerShellTool(server, config) {
5
+ server.tool("indexing-remove-search-index-item-by-path", "Removes the item with the specified path from the search index. Supports wildcard filtering for the index name.", {
6
+ path: z.string()
7
+ .describe("The path of the item to remove from the index"),
8
+ indexName: z.string()
9
+ .default("sitecore_*_index")
10
+ .optional()
11
+ .describe("The name of the index to remove the item from"),
12
+ }, async (params) => {
13
+ const command = `
14
+ $item = Get-Item -Path ${params.path};
15
+ $indexName = "${params.indexName}";
16
+ Remove-SearchIndexItem -Item $item -Name $indexName
17
+ `.replaceAll(/[\n]+/g, "");
18
+ return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
19
+ });
20
+ }
21
+ //# sourceMappingURL=remove-search-index-item-by-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-search-index-item-by-path.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/composite/indexing/remove-search-index-item-by-path.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAEtE,MAAM,UAAU,yCAAyC,CAAC,MAAiB,EAAE,MAAc;IACvF,MAAM,CAAC,IAAI,CACP,2CAA2C,EAC3C,iHAAiH,EACjH;QACI,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;aACX,QAAQ,CAAC,+CAA+C,CAAC;QAC9D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;aAChB,OAAO,CAAC,kBAAkB,CAAC;aAC3B,QAAQ,EAAE;aACV,QAAQ,CAAC,+CAA+C,CAAC;KACjE,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACb,MAAM,OAAO,GAAG;yCACa,MAAM,CAAC,IAAI;gCACpB,MAAM,CAAC,SAAS;;aAEnC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAE3B,OAAO,eAAe,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC,CACJ,CAAC;AACN,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp";
2
2
  import type { Config } from "../../../../config.js";
3
- export declare function setItemAclPowerShellTool(server: McpServer, config: Config): void;
3
+ export declare function setItemAclByIdPowerShellTool(server: McpServer, config: Config): void;
@@ -0,0 +1,35 @@
1
+ import { z } from "zod";
2
+ import { safeMcpResponse } from "../../../../helper.js";
3
+ import { prepareArgsString } from "../../utils.js";
4
+ import { AccessRights } from "../../simple/security/access-rights.js";
5
+ import { runGenericPowershellCommand } from "../../simple/generic.js";
6
+ export function setItemAclByIdPowerShellTool(server, config) {
7
+ server.tool("security-set-item-acl-by-id", "Sets an access control entry to a Sitecore item by its ID.", {
8
+ id: z.string()
9
+ .describe("The ID of the item to add ACL entry for"),
10
+ path: z.string()
11
+ .default("master:")
12
+ .optional(),
13
+ identity: z.string()
14
+ .describe("The identity of the account (user or role) to grant permissions to (e.g. 'sitecore\\admin')"),
15
+ accessRight: z.enum(AccessRights)
16
+ .describe("The access right to grant (e.g. 'item:read', 'item:write')"),
17
+ propagationType: z.enum(["Descendants", "Children", "Entity"]).default("Entity")
18
+ .describe("The propagation type for the access right"),
19
+ securityPermission: z.enum(["AllowAccess", "DenyAccess"]).default("AllowAccess")
20
+ .describe("Whether to allow or deny the specified access right"),
21
+ }, async (params) => {
22
+ const parameters1Obj = {};
23
+ parameters1Obj["Identity"] = params.identity;
24
+ parameters1Obj["AccessRight"] = params.accessRight;
25
+ parameters1Obj["PropagationType"] = params.propagationType;
26
+ parameters1Obj["SecurityPermission"] = params.securityPermission;
27
+ const parameters1 = prepareArgsString(parameters1Obj);
28
+ const command = `
29
+ $acl = New-ItemAcl ${parameters1};
30
+ Get-Item -Id ${params.id} -Path ${params.path} | Set-ItemAcl -AccessRules $acl
31
+ `.replaceAll(/[\n]+/g, "");
32
+ return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
33
+ });
34
+ }
35
+ //# sourceMappingURL=set-item-acl-by-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-item-acl-by-id.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/composite/security/set-item-acl-by-id.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAEtE,MAAM,UAAU,4BAA4B,CAAC,MAAiB,EAAE,MAAc;IAC1E,MAAM,CAAC,IAAI,CACP,6BAA6B,EAC7B,4DAA4D,EAC5D;QACI,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;aACT,QAAQ,CAAC,yCAAyC,CAAC;QACxD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;aACX,OAAO,CAAC,SAAS,CAAC;aAClB,QAAQ,EAAE;QACf,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;aACf,QAAQ,CAAC,6FAA6F,CAAC;QAC5G,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,YAAqC,CAAC;aACrD,QAAQ,CAAC,4DAA4D,CAAC;QAC3E,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;aAC3E,QAAQ,CAAC,2CAA2C,CAAC;QAC1D,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;aAC3E,QAAQ,CAAC,qDAAqD,CAAC;KACvE,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACb,MAAM,cAAc,GAAQ,EAAE,CAAC;QAE/B,cAAc,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC7C,cAAc,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;QACnD,cAAc,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC;QAC3D,cAAc,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC,kBAAkB,CAAC;QAEjE,MAAM,WAAW,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG;qCACS,WAAW;+BACjB,MAAM,CAAC,EAAE,UAAU,MAAM,CAAC,IAAI;aAChD,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAE3B,OAAO,eAAe,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC,CACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp";
2
+ import type { Config } from "../../../../config.js";
3
+ export declare function setItemAclByPathPowerShellTool(server: McpServer, config: Config): void;
@@ -0,0 +1,32 @@
1
+ import { z } from "zod";
2
+ import { safeMcpResponse } from "../../../../helper.js";
3
+ import { prepareArgsString } from "../../utils.js";
4
+ import { AccessRights } from "../../simple/security/access-rights.js";
5
+ import { runGenericPowershellCommand } from "../../simple/generic.js";
6
+ export function setItemAclByPathPowerShellTool(server, config) {
7
+ server.tool("security-set-item-acl-by-path", "Sets an access control entry to a Sitecore item by its path.", {
8
+ path: z.string()
9
+ .describe("The path of the item to add ACL entry for"),
10
+ identity: z.string()
11
+ .describe("The identity of the account (user or role) to grant permissions to (e.g. 'sitecore\\admin')"),
12
+ accessRight: z.enum(AccessRights)
13
+ .describe("The access right to grant (e.g. 'item:read', 'item:write')"),
14
+ propagationType: z.enum(["Descendants", "Children", "Entity"]).default("Entity")
15
+ .describe("The propagation type for the access right"),
16
+ securityPermission: z.enum(["AllowAccess", "DenyAccess"]).default("AllowAccess")
17
+ .describe("Whether to allow or deny the specified access right"),
18
+ }, async (params) => {
19
+ const parameters1Obj = {};
20
+ parameters1Obj["Identity"] = params.identity;
21
+ parameters1Obj["AccessRight"] = params.accessRight;
22
+ parameters1Obj["PropagationType"] = params.propagationType;
23
+ parameters1Obj["SecurityPermission"] = params.securityPermission;
24
+ const parameters1 = prepareArgsString(parameters1Obj);
25
+ const command = `
26
+ $acl = New-ItemAcl ${parameters1};
27
+ Get-Item -Path "${params.path}" | Set-ItemAcl -AccessRules $acl
28
+ `.replaceAll(/[\n]+/g, "");
29
+ return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
30
+ });
31
+ }
32
+ //# sourceMappingURL=set-item-acl-by-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-item-acl-by-path.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/composite/security/set-item-acl-by-path.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAEtE,MAAM,UAAU,8BAA8B,CAAC,MAAiB,EAAE,MAAc;IAC5E,MAAM,CAAC,IAAI,CACP,+BAA+B,EAC/B,8DAA8D,EAC9D;QACI,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;aACX,QAAQ,CAAC,2CAA2C,CAAC;QAC1D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;aACf,QAAQ,CAAC,6FAA6F,CAAC;QAC5G,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,YAAqC,CAAC;aACrD,QAAQ,CAAC,4DAA4D,CAAC;QAC3E,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;aAC3E,QAAQ,CAAC,2CAA2C,CAAC;QAC1D,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;aAC3E,QAAQ,CAAC,qDAAqD,CAAC;KACvE,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACb,MAAM,cAAc,GAAQ,EAAE,CAAC;QAC/B,cAAc,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC7C,cAAc,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;QACnD,cAAc,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC;QAC3D,cAAc,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC,kBAAkB,CAAC;QAEjE,MAAM,WAAW,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG;qCACS,WAAW;kCACd,MAAM,CAAC,IAAI;aAChC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAE3B,OAAO,eAAe,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC,CACJ,CAAC;AACN,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antonytm/mcp-sitecore-server",
3
- "version": "0.10.6",
3
+ "version": "0.11.0",
4
4
  "description": "A Model Context Protocol server for Sitecore",
5
5
  "files": [
6
6
  "dist",
@@ -1,59 +0,0 @@
1
- import { z } from "zod";
2
- import { safeMcpResponse } from "../../../../helper.js";
3
- import { prepareArgsString } from "../../utils.js";
4
- import { AccessRights } from "../../simple/security/access-rights.js";
5
- import { runGenericPowershellCommand } from "../../simple/generic.js";
6
- // This security tool doesn't have sense as it could be replaced with Add-ItemAcl+Clear-ItemAcl tools.
7
- // It is kept for testing "composite" tools.
8
- export function setItemAclPowerShellTool(server, config) {
9
- server.tool("security-set-item-acl-by-id", "Sets an access control entry to a Sitecore item by its ID.", {
10
- id: z.string()
11
- .describe("The ID of the item to add ACL entry for"),
12
- identity: z.string()
13
- .describe("The identity of the account (user or role) to grant permissions to (e.g. 'sitecore\\admin')"),
14
- accessRight: z.enum(AccessRights)
15
- .describe("The access right to grant (e.g. 'item:read', 'item:write')"),
16
- propagationType: z.enum(["Descendants", "Children", "Entity"]).default("Entity")
17
- .describe("The propagation type for the access right"),
18
- securityPermission: z.enum(["AllowAccess", "DenyAccess"]).default("AllowAccess")
19
- .describe("Whether to allow or deny the specified access right"),
20
- }, async (params) => {
21
- const parameters1Obj = {};
22
- parameters1Obj["Identity"] = params.identity;
23
- parameters1Obj["AccessRight"] = params.accessRight;
24
- parameters1Obj["PropagationType"] = params.propagationType;
25
- parameters1Obj["SecurityPermission"] = params.securityPermission;
26
- const parameters1 = prepareArgsString(parameters1Obj);
27
- const command = `
28
- $acl = New-ItemAcl ${parameters1}
29
- Get-Item -Id ${params.id} | Set-ItemAcl -AccessRules $acl
30
- `.replaceAll(/[\n]+/g, "");
31
- ;
32
- return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
33
- });
34
- server.tool("security-set-item-acl-by-path", "Sets an access control entry to a Sitecore item by its path.", {
35
- path: z.string()
36
- .describe("The path of the item to add ACL entry for"),
37
- identity: z.string()
38
- .describe("The identity of the account (user or role) to grant permissions to (e.g. 'sitecore\\admin')"),
39
- accessRight: z.enum(AccessRights)
40
- .describe("The access right to grant (e.g. 'item:read', 'item:write')"),
41
- propagationType: z.enum(["Descendants", "Children", "Entity"]).default("Entity")
42
- .describe("The propagation type for the access right"),
43
- securityPermission: z.enum(["AllowAccess", "DenyAccess"]).default("AllowAccess")
44
- .describe("Whether to allow or deny the specified access right"),
45
- }, async (params) => {
46
- const parameters1Obj = {};
47
- parameters1Obj["Identity"] = params.identity;
48
- parameters1Obj["AccessRight"] = params.accessRight;
49
- parameters1Obj["PropagationType"] = params.propagationType;
50
- parameters1Obj["SecurityPermission"] = params.securityPermission;
51
- const parameters1 = prepareArgsString(parameters1Obj);
52
- const command = `
53
- $acl = New-ItemAcl ${parameters1}
54
- Get-Item -Path "${params.path}" | Set-ItemAcl -AccessRules $acl
55
- `.replaceAll(/[\n]+/g, "");
56
- return safeMcpResponse(runGenericPowershellCommand(config, command, {}));
57
- });
58
- }
59
- //# sourceMappingURL=set-item-acl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"set-item-acl.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/composite/security/set-item-acl.ts"],"names":[],"mappings":"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"}