@antonytm/mcp-sitecore-server 0.8.3-bundle → 0.9.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 (150) hide show
  1. package/README.md +1 -0
  2. package/dist/app.js +3 -0
  3. package/dist/app.js.map +1 -0
  4. package/dist/config.d.ts +2 -2
  5. package/dist/config.js +66 -0
  6. package/dist/config.js.map +1 -0
  7. package/dist/const.js +2 -0
  8. package/dist/const.js.map +1 -0
  9. package/dist/helper.js +19 -0
  10. package/dist/helper.js.map +1 -0
  11. package/dist/index.js +17 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/run.js +7 -0
  14. package/dist/run.js.map +1 -0
  15. package/dist/server.d.ts +1 -1
  16. package/dist/server.js +67 -0
  17. package/dist/server.js.map +1 -0
  18. package/dist/sse.d.ts +1 -1
  19. package/dist/sse.js +31 -0
  20. package/dist/sse.js.map +1 -0
  21. package/dist/stdio.js +8 -0
  22. package/dist/stdio.js.map +1 -0
  23. package/dist/streamable-http.d.ts +1 -0
  24. package/dist/streamable-http.js +69 -0
  25. package/dist/streamable-http.js.map +1 -0
  26. package/dist/tools/graphql/generic/introspection.js +34 -0
  27. package/dist/tools/graphql/generic/introspection.js.map +1 -0
  28. package/dist/tools/graphql/generic/query.js +37 -0
  29. package/dist/tools/graphql/generic/query.js.map +1 -0
  30. package/dist/tools/graphql/register-graphql.js +24 -0
  31. package/dist/tools/graphql/register-graphql.js.map +1 -0
  32. package/dist/tools/item-service/client.js +428 -0
  33. package/dist/tools/item-service/client.js.map +1 -0
  34. package/dist/tools/item-service/composite/get-item-descendants.js +30 -0
  35. package/dist/tools/item-service/composite/get-item-descendants.js.map +1 -0
  36. package/dist/tools/item-service/composite/get-languages.js +19 -0
  37. package/dist/tools/item-service/composite/get-languages.js.map +1 -0
  38. package/dist/tools/item-service/register-item-service.js +156 -0
  39. package/dist/tools/item-service/register-item-service.js.map +1 -0
  40. package/dist/tools/item-service/simple/create-item.js +17 -0
  41. package/dist/tools/item-service/simple/create-item.js.map +1 -0
  42. package/dist/tools/item-service/simple/delete-item.js +23 -0
  43. package/dist/tools/item-service/simple/delete-item.js.map +1 -0
  44. package/dist/tools/item-service/simple/edit-item.js +23 -0
  45. package/dist/tools/item-service/simple/edit-item.js.map +1 -0
  46. package/dist/tools/item-service/simple/get-item-by-path.js +17 -0
  47. package/dist/tools/item-service/simple/get-item-by-path.js.map +1 -0
  48. package/dist/tools/item-service/simple/get-item-children.js +17 -0
  49. package/dist/tools/item-service/simple/get-item-children.js.map +1 -0
  50. package/dist/tools/item-service/simple/get-item.js +18 -0
  51. package/dist/tools/item-service/simple/get-item.js.map +1 -0
  52. package/dist/tools/item-service/simple/run-stored-query.js +24 -0
  53. package/dist/tools/item-service/simple/run-stored-query.js.map +1 -0
  54. package/dist/tools/item-service/simple/run-stored-search.js +24 -0
  55. package/dist/tools/item-service/simple/run-stored-search.js.map +1 -0
  56. package/dist/tools/item-service/simple/search-items.js +17 -0
  57. package/dist/tools/item-service/simple/search-items.js.map +1 -0
  58. package/dist/tools/powershell/client.js +58 -0
  59. package/dist/tools/powershell/client.js.map +1 -0
  60. package/dist/tools/powershell/composite/register-composite-powershell.js +5 -0
  61. package/dist/tools/powershell/composite/register-composite-powershell.js.map +1 -0
  62. package/dist/tools/powershell/composite/security/register-security-powershell.js +5 -0
  63. package/dist/tools/powershell/composite/security/register-security-powershell.js.map +1 -0
  64. package/dist/tools/powershell/composite/security/register-set-item-acl.js +59 -0
  65. package/dist/tools/powershell/composite/security/register-set-item-acl.js.map +1 -0
  66. package/dist/tools/powershell/output.js +8 -0
  67. package/dist/tools/powershell/output.js.map +1 -0
  68. package/dist/tools/powershell/register-powershell.d.ts +1 -1
  69. package/dist/tools/powershell/register-powershell.js +7 -0
  70. package/dist/tools/powershell/register-powershell.js.map +1 -0
  71. package/dist/tools/powershell/simple/generic.js +27 -0
  72. package/dist/tools/powershell/simple/generic.js.map +1 -0
  73. package/dist/tools/powershell/simple/indexing/register-find-item.d.ts +3 -0
  74. package/dist/tools/powershell/simple/indexing/register-find-item.js +129 -0
  75. package/dist/tools/powershell/simple/indexing/register-find-item.js.map +1 -0
  76. package/dist/tools/powershell/simple/indexing/register-get-search-index.js +28 -0
  77. package/dist/tools/powershell/simple/indexing/register-get-search-index.js.map +1 -0
  78. package/dist/tools/powershell/simple/indexing/register-indexing-powershell.d.ts +1 -1
  79. package/dist/tools/powershell/simple/indexing/register-indexing-powershell.js +9 -0
  80. package/dist/tools/powershell/simple/indexing/register-indexing-powershell.js.map +1 -0
  81. package/dist/tools/powershell/simple/indexing/register-initialize-search-index.js +24 -0
  82. package/dist/tools/powershell/simple/indexing/register-initialize-search-index.js.map +1 -0
  83. package/dist/tools/powershell/simple/provider/register-get-item.js +118 -0
  84. package/dist/tools/powershell/simple/provider/register-get-item.js.map +1 -0
  85. package/dist/tools/powershell/simple/provider/register-provider-powershell.js +5 -0
  86. package/dist/tools/powershell/simple/provider/register-provider-powershell.js.map +1 -0
  87. package/dist/tools/powershell/simple/register-simple-powershell.d.ts +1 -1
  88. package/dist/tools/powershell/simple/register-simple-powershell.js +9 -0
  89. package/dist/tools/powershell/simple/register-simple-powershell.js.map +1 -0
  90. package/dist/tools/powershell/simple/security/access-rights.js +33 -0
  91. package/dist/tools/powershell/simple/security/access-rights.js.map +1 -0
  92. package/dist/tools/powershell/simple/security/register-add-item-acl.js +66 -0
  93. package/dist/tools/powershell/simple/security/register-add-item-acl.js.map +1 -0
  94. package/dist/tools/powershell/simple/security/register-add-role-member.js +19 -0
  95. package/dist/tools/powershell/simple/security/register-add-role-member.js.map +1 -0
  96. package/dist/tools/powershell/simple/security/register-clear-item-acl.js +46 -0
  97. package/dist/tools/powershell/simple/security/register-clear-item-acl.js.map +1 -0
  98. package/dist/tools/powershell/simple/security/register-disable-user.js +15 -0
  99. package/dist/tools/powershell/simple/security/register-disable-user.js.map +1 -0
  100. package/dist/tools/powershell/simple/security/register-enable-user.js +15 -0
  101. package/dist/tools/powershell/simple/security/register-enable-user.js.map +1 -0
  102. package/dist/tools/powershell/simple/security/register-get-domain.js +20 -0
  103. package/dist/tools/powershell/simple/security/register-get-domain.js.map +1 -0
  104. package/dist/tools/powershell/simple/security/register-get-item-acl.js +56 -0
  105. package/dist/tools/powershell/simple/security/register-get-item-acl.js.map +1 -0
  106. package/dist/tools/powershell/simple/security/register-get-role-member.js +31 -0
  107. package/dist/tools/powershell/simple/security/register-get-role-member.js.map +1 -0
  108. package/dist/tools/powershell/simple/security/register-get-role.js +24 -0
  109. package/dist/tools/powershell/simple/security/register-get-role.js.map +1 -0
  110. package/dist/tools/powershell/simple/security/register-get-user.js +31 -0
  111. package/dist/tools/powershell/simple/security/register-get-user.js.map +1 -0
  112. package/dist/tools/powershell/simple/security/register-lock-item.js +56 -0
  113. package/dist/tools/powershell/simple/security/register-lock-item.js.map +1 -0
  114. package/dist/tools/powershell/simple/security/register-new-domain.js +15 -0
  115. package/dist/tools/powershell/simple/security/register-new-domain.js.map +1 -0
  116. package/dist/tools/powershell/simple/security/register-new-role.js +16 -0
  117. package/dist/tools/powershell/simple/security/register-new-role.js.map +1 -0
  118. package/dist/tools/powershell/simple/security/register-new-user.js +43 -0
  119. package/dist/tools/powershell/simple/security/register-new-user.js.map +1 -0
  120. package/dist/tools/powershell/simple/security/register-protect-item.js +46 -0
  121. package/dist/tools/powershell/simple/security/register-protect-item.js.map +1 -0
  122. package/dist/tools/powershell/simple/security/register-remove-domain.js +16 -0
  123. package/dist/tools/powershell/simple/security/register-remove-domain.js.map +1 -0
  124. package/dist/tools/powershell/simple/security/register-remove-role.js +16 -0
  125. package/dist/tools/powershell/simple/security/register-remove-role.js.map +1 -0
  126. package/dist/tools/powershell/simple/security/register-remove-rolemember.js +19 -0
  127. package/dist/tools/powershell/simple/security/register-remove-rolemember.js.map +1 -0
  128. package/dist/tools/powershell/simple/security/register-remove-user.js +15 -0
  129. package/dist/tools/powershell/simple/security/register-remove-user.js.map +1 -0
  130. package/dist/tools/powershell/simple/security/register-security-powershell.js +55 -0
  131. package/dist/tools/powershell/simple/security/register-security-powershell.js.map +1 -0
  132. package/dist/tools/powershell/simple/security/register-set-user-password.js +29 -0
  133. package/dist/tools/powershell/simple/security/register-set-user-password.js.map +1 -0
  134. package/dist/tools/powershell/simple/security/register-set-user.js +66 -0
  135. package/dist/tools/powershell/simple/security/register-set-user.js.map +1 -0
  136. package/dist/tools/powershell/simple/security/register-test-account.js +21 -0
  137. package/dist/tools/powershell/simple/security/register-test-account.js.map +1 -0
  138. package/dist/tools/powershell/simple/security/register-test-item-acl.js +59 -0
  139. package/dist/tools/powershell/simple/security/register-test-item-acl.js.map +1 -0
  140. package/dist/tools/powershell/simple/security/register-unlock-item.js +52 -0
  141. package/dist/tools/powershell/simple/security/register-unlock-item.js.map +1 -0
  142. package/dist/tools/powershell/simple/security/register-unlock-user.js +16 -0
  143. package/dist/tools/powershell/simple/security/register-unlock-user.js.map +1 -0
  144. package/dist/tools/powershell/simple/security/register-unprotect-item.js +46 -0
  145. package/dist/tools/powershell/simple/security/register-unprotect-item.js.map +1 -0
  146. package/dist/tools/powershell/utils.js +18 -0
  147. package/dist/tools/powershell/utils.js.map +1 -0
  148. package/package.json +18 -13
  149. package/dist/bundle.js +0 -52284
  150. package/dist/bundle.js.map +0 -1
@@ -0,0 +1,129 @@
1
+ import { z } from "zod";
2
+ import { safeMcpResponse } from "../../../../helper.js";
3
+ import { PowershellClient } from "../../client.js";
4
+ // The results of usage of this tool are not quite good.
5
+ // Problems:
6
+ // 1. Huge amount of field names
7
+ // 2. Huge amount of data to return
8
+ // 3. Different filter values
9
+ // 4. Find-Item command, which is wrapper around Sitecore Content Search API doesn't not return total count of items found.
10
+ // 5. AI agents are bad at proceeding long lists. E.g. search returns 100 items, AI agent parses only the first 24 and ignores the rest.
11
+ // The "rails" with strictly defined fields and filters helps to impove the tool.
12
+ // But results are still not good enough.
13
+ // Leaving this tool as is for now, it require more research and improvements in the future.
14
+ const filterValues = [
15
+ "Equals",
16
+ "StartsWith",
17
+ "Contains",
18
+ "ContainsAny",
19
+ "ContainsAll",
20
+ "EndsWith",
21
+ "DescendantOf",
22
+ "Fuzzy",
23
+ "InclusiveRange",
24
+ "ExclusiveRange",
25
+ "MatchesRegex",
26
+ "MatchesWildcard",
27
+ "LessThan",
28
+ "GreaterThan"
29
+ ];
30
+ // PowerShell command to get all fields from the Sitecore master index.
31
+ const allFieldsCommand = `
32
+ $id = Start-ScriptSession -ScriptBlock {
33
+ $solrConnectionString = [Sitecore.Configuration.Settings]::GetConnectionString("solr.search").Split(";")[0];
34
+ $url = $solrConnectionString + "/sitecore_master_index/select?q=*:*&wt=csv&rows=0"
35
+ Invoke-WebRequest -Uri $url -UseBasicParsing
36
+ } -ArgumentList $params | Select-Object -ExpandProperty ID
37
+ Start-Sleep 1
38
+
39
+ $backgroundScriptSession = Get-ScriptSession -Id $id -ErrorAction SilentlyContinue
40
+ $backgroundScriptSession | Receive-ScriptSession | ForEach-Object { $_.Content }
41
+ `;
42
+ // PowerShell command to get all dynamic suffixes from the Sitecore master index.
43
+ // The one of ideas is do not use suffixes at all to decrease context for AI agents.
44
+ const allDynamicSuffixes = `
45
+ $factoryType = [Type]::GetType("Sitecore.ContentSearch.SolrProvider.SolrNetIntegration.BaseSolrOperationsFactory\`\`1[[System.Collections.Generic.Dictionary\`\`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]]")
46
+ $factory = [CommonServiceLocator.ServiceLocator]::Current.GetInstance("Sitecore.ContentSearch.SolrProvider.SolrNetIntegration.BaseSolrOperationsFactory\`\`1[[System.Collections.Generic.Dictionary\`\`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]]")
47
+ $solrSchemaProvider =$factory.GetSolrOperations("sitecore_master_index")
48
+ $managedSchema = $solrSchemaProvider.GetManagedSchema();
49
+ $managedSchema.SolrDynamicFields | ForEach-Object {$_.Name}
50
+ `;
51
+ const allFieldsDefault = [
52
+ "dictionary_t", "name_t_en", "text1_t_fr", "author_t_en", "fallback_domain_sm", "currency2_t_fr", "link2_t_fr", "symbol1_t_en", "datasource_template_t_en", "stackatbreakpoint_t_en", "eyebrow_t_en", "name_t_fr", "data_source_t", "preview_publishing_target_b", "replacement_html_t_en", "datasource_template_t_de", "database_t_en", "currency2_t_en", "termname_t_ja", "site_collection_s", "command_t_de", "text1_t_en", "should_update_item_name_b", "culture_s", "size_t_da", "authority_url_t", "stackatbreakpoint_t_da", "stackatbreakpoint_t_de", "submitbutton_t", "quote_t_en", "default_language_t_en", "size_t_en", "command_name_t", "defaultfields_t_da", "method_t_en", "phrase_t", "socialicon3_t", "__display_name_t_zh", "command_t_en", "__base_template_sm", "max_result_t", "startlabel_t_da", "startlabel_t_de", "title1_t_en", "type_t", "subtitle1_t_ja", "text3_t", "_path", "keywords_t_en", "includestandardtemplatefields_b", "cmp_field_name_t", "serversiderenderingengineapplicationurl_t", "link2_t_en", "defaultfields_t_en", "amount1_t_ja", "method_t_da", "value1_tf", "title2_t_ja", "customize_page_t", "critical_error_t", "startlabel_t_en", "fatal_error_t", "comment_dialog_height_tl", "key_t", "control_type_sm", "description_t_en", "item_template_t_en", "cacheable_b", "field_t_zh", "value3_tf", "shared_b", "text1_t_ja", "cta1_t", "max_result_t_zh", "default_value_t_zh", "image2_t", "enabled_b", "workflow_sm", "datasource_template_t_fr", "socialicon1_t", "sociallink3_t_fr", "text2_t_ja", "content_hub_attribute_t", "name_t_da", "script_t_zh", "_templates", "text1_t", "usecontextitem_b", "value_t", "showinsitemap_b", "name_t_de", "quick_action_bar_sm", "amount1_t_fr", "item_template_t", "symbol1_t", "itemnameproperty_t_en", "_version_", "webmethod_t", "cors_origins_t_en", "sociallink3_t_en", "parameters_t_ja", "header_prefix_t_en", "async_b", "validation_t_zh", "startlabel_t_ja", "appearance_evaluator_type_t", "description_t", "cmp_field_name_t_en", "backgroundimage_t", "photo_t", "webmethod_t_zh", "sociallink2_t_en", "time_span_tl", "componentquery_t", "answer_t_fr", "ispointofinterest_b", "subtitle2_t_ja", "longitude_tf", "footer_template_t_en", "tagline_t", "error_t_ja", "icon_t_en", "__quick_actions_sm", "header_prefix_t", "path_t_en", "placeholder_key_t_ja", "site_type_s", "socialicon3_t_en", "answer_t_en", "default_simulator_sm", "componentname_t_zh", "stackatbreakpoint_t", "parsedlanguage_s", "eyebrow_t", "datasource_template_t_ja", "symbol3_t", "sociallink3_t_ja", "sociallink1_t", "agent_t", "path_t_de", "validationtext_t_zh", "client_side_hook_s", "_language", "termname_t_en", "link2_t_ja", "error_t_de", "subtitle2_t_en", "allowedcontrollers_t_en", "open_properties_after_add_t", "license_t_en", "authorimage_t", "content_t", "__shared_revision_t_ja", "buttonlabel_t", "isbucket_text_s", "termname_t_fr", "dimensions_t", "mime_type_t", "subtitle2_t_fr", "minterm_tl", "authorimage_t_en", "search_filter_t", "_displayname", "error_t_en", "answer_t_ja", "namespace_t", "script_t", "position_t_ja", "__solr_norm_field_name_s", "validator_bar_sm", "path_t_ja", "title2_t_en", "reference_sm", "error_t_fr", "sociallink3_t", "command_t_ja", "_uniqueid", "_isclone", "subjectlabel_t", "screen_offset_t", "text5_t", "title2_t_fr", "reset_blank_b", "default_comment_dialog_height_tl", "foregroundimage_t", "datasource_location_t_de", "open_properties_after_add_t_zh", "amount1_t", "minimum_number_of_items_tf", "title1_t", "engine_type_name_t_en", "caption1_t_en", "display_name_t_en", "image5_t_fr", "collapsed_by_default_b", "subtext1_t_ja", "parsedcreatedby_s", "regional_iso_code_t", "mime_type_t_hy", "field_t_en", "engine_type_name_t", "buttonstyle_s", "_version", "position_t_en", "module_version_t_en", "command_t", "field_t_da", "title_t_zh", "charset_t_en", "field_t_de", "rendering_contents_resolver_sm", "imagedescription_t_en", "title3_t_en", "link5_t", "position_t_fr", "target_database_t_en", "settingsfolder_sm", "text3_t_ja", "sociallink1_t_en", "exclude_templates_sm", "sitecore_field_name_sm", "type_t_zh", "parameters_t_da", "width_t_en", "currency_t_ja", "engine_type_name_t_de", "title3_t_fr", "title_t", "encoding_t", "sociallink1_t_fr", "comment_template_sm", "image5_t_en", "currency1_t_ja", "submitbutton_t_ja", "parameters_t_de", "webmethod_t_da", "webmethod_t_de", "subtext1_t_en", "preservelanguage_b", "engine_type_name_t_ja", "default_comment_template_sm", "submitbutton_t_fr", "opening_search_results_s", "initial_state_sm", "thumbnail_t_en", "image5_t_ja", "validation_t", "title3_t", "image1_t_fr", "parameters_t_en", "max_result_t_ja", "thumbnail_t_fr", "header_template_t_en", "subtext1_t", "abstract_t_en", "default_language_t", "footnote_t", "published_by_t_en", "parameters_t_fr", "subtext1_t_fr", "image1_t_en", "controller_t_de", "header_t", "placeholder_key_t", "field_t", "validationtext_t", "iso_t", "category_t_en", "title3_t_ja", "displayname_t_en", "lastscript_t_da", "text3_t_en", "_database", "istemplate_b", "support_t", "alt_t", "sociallink1_t_ja", "message_t_en", "add_to_s", "symbol3_t_en", "__boost", "currency1_t_fr", "page_design_s", "caption1_t", "fallback_device_sm", "module_version_t", "submitbutton_t_en", "text3_t_fr", "width_t_hy", "backgroundcolor_s", "dictionary_t_en", "heading_t", "lastscript_t_en", "final_b", "termname_t", "currency2_t", "footnote_t_en", "currency1_t_en", "startlabel_t_zh", "__semantics", "url_t_en", "promotext_t_de", "showfilters_b", "amount1_t_en", "value1_t_ja", "promotext_t_da", "question_t_ja", "branchesfolder_sm", "extension_t_en", "max_result_t_en", "authorposition_t_en", "lastscript_t_fr", "link1_t", "value1_t", "footnote_t_fr", "webmethod_t_ja", "link_t", "throttle_strategy_sm", "subtext3_t", "promotext_t_en", "placeholder_t", "login_rendering_sm", "image1_t_ja", "error_t_zh", "max_result_t_fr", "validation_t_ja", "controller_t_en", "copyright_t_fr", "_template", "content_hub_attribute_t_en", "phrase_t_ja", "itemselectorquery_t_zh", "endlabel_t_zh", "subtitle3_t", "authorname_t", "componentquery_t_de", "placeholder_key_t_zh", "__enable_item_fallback_b", "copyright_t_en", "savelastscript_b", "image_t", "field_t_ja", "fatal_error_t_ja", "componentname_t_ja", "link3_t_ja", "bio_t", "image5_t", "subtitle4_t_ja", "extension_t_da", "componentquery_t_en", "validationtext_t_ja", "max_result_t_de", "assembly_t", "buttonlabel_t_en", "validate_button_sm", "lastscript_t_ja", "controller_t_ja", "validation_t_en", "stackatbreakpoint_t_ja", "enable_datasource_query_b", "subtitle1_t_en", "default_b", "webmethod_t_en", "__shared_revision_t_zh", "_templatename", "question_t_en", "value1_t_fr", "name_t_ja", "componentname_t_fr", "tag_t", "size_t_hy", "fatal_error_t_de", "link3_t", "checkbox_b", "question_t_fr", "value_t_en", "datasource_template_t", "author_t", "layout_t_en", "value1_t_en", "__validate_button_validation_rules_sm", "data_source_t_en", "subtitle1_t", "editable_b", "path_t_zh", "_parent", "componentname_t_de", "command_t_zh", "fatal_error_t_fr", "datetime_t", "link3_t_en", "phrase_t_fr", "authorposition_t", "navigationtitle_t_zh", "validation_t_de", "componentquery_t_ja", "tag_parent_sm", "_indexname", "emaillabel_t_en", "subtitle1_t_fr", "ignore_dictionary_translations_b", "fatal_error_t_en", "extension_t_hy", "componentname_t_en", "phrase_t_en", "link3_t_fr", "heading_t_en", "controller_action_t", "height_t", "__enforce_version_presence_b", "text5_t_ja", "license_t", "message_t", "isrendering_b", "messagelabel_t", "image3_t_en", "display_text_t_de", "__smallcreateddate_tdt", "title_t_ja", "persistentsessionid_t", "error_t", "text2_t", "caption3_t_en", "subtext3_t_ja", "haschildren_b", "movielabel_t_en", "cta2_t_en", "placeholder_t_en", "unversioned_b", "bio_t_fr", "type_t_ja", "category_t", "heading_t_da", "display_text_t_en", "language_t", "heading_t_de", "background_image_t", "promotext_t_ja", "navigationtitle_t_en", "_latestversion", "header_t_en", "_fullpath", "bio_t_en", "include_templates_sm", "exclude_items_t", "agent_t_ja", "rootitem_sm", "__workflow_state", "navigationtitle_t_da", "image1_t", "subjectlabel_t_en", "navigationtitle_t_de", "__display_name_t", "subtext2_t_en", "command_name_t_en", "charset_t", "itemselectorquery_t_da", "subtitle_t", "itemselectorquery_t_de", "controller_action_t_ja", "socialicon2_t", "exported_function_name_t_en", "engine_type_name_t_zh", "validationtext_t_de", "position_t", "heading_t_ja", "query_t_en", "list_name_t", "__unversioned_revision_t", "event_name_t", "allowed_number_of_requests_tl", "maxamount_tl", "maxterm_tl", "datasource_location_t_zh", "screen_offset_t_en", "_indextimestamp", "agent_t_de", "__publishing_groups_sm", "type_t_fr", "script_sm", "role_name_t_fr", "footnote_t_ja", "symbol2_t", "default_value_t", "image4_t_ja", "question_t", "text4_t_en", "__unversioned_revision_t_ja", "currency1_t", "query_t_da", "bio_t_ja", "itemselectorquery_t", "search_filter_t_en", "agent_t_en", "type_t_en", "render_as_html_b", "extension_t", "currency_t", "socialstitle_t_fr", "value2_tf", "rating_tf", "promotext_t_fr", "subtitle4_t_en", "type_t_de", "validationtext_t_en", "serversiderenderingengineconfigurl_t_zh", "quote_t", "cta2_t", "control_type_parameters_t", "exclude_from_text_search_b", "itemselectorquery_t_en", "image3_t", "subtitle4_t_fr", "theme_t", "control_type_t", "type_t_da", "use_alternate_content_b", "socialstitle_t_en", "image4_t_en", "regional_iso_code_t_en", "method_t", "query_string_t_en", "datasource_location_t", "__unversioned_revision_t_de", "__should_not_organize_in_bucket_b", "__unversioned_revision_t_da", "critical_error_t_zh", "caption2_t_en", "title4_t_en", "enable_language_fallback_b", "thumbnail_t_ja", "messagelabel_t_en", "thumbnail_t", "cta1_t_fr", "blob_b", "image4_t_fr", "link_t_ja", "text4_t_ja", "foregroundimage_t_fr", "interestrate_tf", "support_t_en", "sitecore_attribute_t_en", "controller_action_t_en", "title4_t_fr", "cacheclearingbehavior_s", "screen_height_tf", "next_state_sm", "display_text_t", "template_sm", "encoding_t_en", "sizerange_s", "image2_t_fr", "bucket_sm", "foregroundimage_t_en", "header_template_t", "title4_t", "itemselectorquery_t_ja", "excerpt_t", "text4_t_fr", "fallback_language_s", "endlabel_t_ja", "caption3_t", "serversiderenderingengineconfigurl_t", "imagedescription_t", "backgroundimage_t_en", "image2_t_en", "global_b", "__unversioned_revision_t_en", "background_image_t_en", "role_name_t_en", "command_sm", "fatal_error_t_zh", "cta1_t_en", "overwrite_b", "content_t_ja", "backgroundimage_t_fr", "mime_type_t_da", "parameters_template_sm", "name_t_zh", "assembly_t_en", "subtext3_t_fr", "size_t", "server_script_path_t", "sociallink2_t", "tagprefix_t", "email_t_en", "non_leaf_node_option_sm", "hostwidth_tf", "stackatbreakpoint_t_zh", "code_t", "display_name_t", "text4_t", "socialicon1_t_en", "code_page_t", "display_text_t_ja", "includeserverurlinmediaurls_b", "exclude_items_t_en", "list_name_t_en", "mime_type_t_en", "controller_t_zh", "query_t", "theme_t_en", "navigationtitle_t_fr", "subtext3_t_en", "eventname_t", "replacement_html_t", "server_script_path_t_en", "authority_url_t_en", "content_t_en", "link4_t_en", "auto_remove_b", "navigationtitle_t_ja", "image2_t_ja", "controller_action_t_de", "currency_t_en", "sitetemplate_sm", "solution_t", "numberofitems_tl", "content_t_fr", "client_t_en", "placeholders_sm", "__insert_rules_sm", "componentquery_t_zh", "currency_t_fr", "alt_t_en", "backgroundimage_t_ja", "allowed_controls_sm", "_name", "use_thread_b", "placeholder_key_t_de", "_haslayout_b", "script_t_da", "answer_t", "control_type_t_en", "sitecore_attribute_t", "subtitle3_t_ja", "amount2_t_fr", "database_t", "height_t_en", "event_name_t_en", "navigationtitle_t", "appearance_evaluator_type_t_en", "__created_by_s", "displayname_t", "link4_t_fr", "__display_name_t_fr", "datasource_location_t_en", "default_value_t_en", "script_t_de", "group_sm", "__shared_revision_t_fr", "amount2_t_en", "endlabel_t", "excerpt_t_en", "__shared_revision_t_de", "__shared_revision_t_da", "subtitle_t_ja", "datasource_location_t_fr", "agent_t_zh", "link_t_en", "__display_name_t_ja", "persistentsessionid_t_da", "publish_to_experience_edge_b", "script_t_en", "control_t", "link4_t", "excerpt_t_fr", "suppress_comment_b", "eventtypes_sm", "__quick_action_bar_validation_rules_sm", "__shared_revision_t_en", "iso_t_en", "componentname_t", "persistentsessionid_t_en", "path_t", "defaultfields_t", "__solr_field_type_s", "cors_origins_t", "_group", "script_t_fr", "heading_t_zh", "subtitle3_t_fr", "open_properties_after_add_t_de", "critical_error_t_en", "__validator_bar_validation_rules_sm", "page_editor_buttons_sm", "dimensions_t_en", "published_by_t", "__display_name_t_da", "default_value_t_ja", "render_engine_type_sm", "height_t_hy", "endlabel_t_da", "caption2_t", "title4_t_ja", "logoimage_t_en", "critical_error_t_fr", "link4_t_ja", "controller_action_t_zh", "link_t_fr", "_datasource", "control_t_en", "sociallink2_t_ja", "datasource_location_t_ja", "image_t_en", "endlabel_t_de", "tagprefix_t_en", "promotext_t_zh", "exported_function_name_t", "role_name_t", "tagline_t_en", "liveautocompletion_b", "script_t_ja", "amount2_t", "title2_t", "sociallink2_t_fr", "__display_name_t_en", "copyright_t", "email_t", "link5_t_ja", "serversiderenderingengineconfigurl_t_ja", "datetime_t_en", "endlabel_t_en", "fontfamily_s", "image_t_fr", "subtitle_t_fr", "placeholder_key_t_en", "__display_name_t_de", "footer_template_t", "subtext2_t", "logoimage_t", "dimensions_t_hy", "excerpt_t_ja", "serialization_type_sm", "target_database_t", "__unversioned_revision_t_zh", "icon_s", "icon_t", "__autothumbnails_b", "critical_error_t_de", "subtitle_t_en", "name_t", "url_t", "parsedupdatedby_s", "socialstitle_t", "critical_error_t_ja", "serversiderenderingengineconfigurl_t_de", "link1_t_en", "code_page_t_en", "customize_page_t_en", "allowedcontrollers_t", "subtitle4_t", "parameters_t_zh", "abstract_t", "keywords_t", "key_t_ja", "solution_t_en", "minamount_tl", "enable_shared_language_fallback_b", "client_t", "addfieldeditorbutton_b", "link1_t_fr", "problem_t_en", "image4_t", "title1_t_ja", "authorname_t_en", "parameters_t", "_creator", "text2_t_fr", "symbol2_t_en", "eventname_t_en", "calculateddimension_sm", "open_properties_after_add_t_fr", "text2_t_en", "image_t_ja", "itemnameproperty_t", "link5_t_fr", "tag_name_option_sm", "foregroundcolor_s", "namespace_t_en", "emaillabel_t", "datasource_template_t_zh", "controller_t", "serversiderenderingengineconfigurl_t_en", "open_properties_after_add_t_en", "subtitle3_t_en", "promotext_t", "image3_t_ja", "photo_t_ja", "latitude_tf", "movielabel_t", "link5_t_en", "site_sm", "amount2_t_ja", "text5_t_en", "currency2_t_ja", "__smallupdateddate_tdt", "subtitle2_t", "key_t_fr", "query_string_t", "subtext2_t_fr", "title_t_en", "layout_t", "tag_t_en", "__shared_revision_t", "fontsize_tf", "text5_t_fr", "control_type_parameters_t_en", "display_text_t_zh", "title_t_fr", "problem_t", "code_t_en", "language_t_en", "scale_sm", "startlabel_t", "title1_t_fr", "screen_width_tf", "link1_t_ja", "socialicon2_t_en", "__standard_values_sm", "width_t", "bankfee_tf", "lastscript_t", "photo_t_fr", "link2_t", "authorization_sm", "title_t_da", "serversiderenderingengineapplicationurl_t_en", "key_t_en", "open_properties_after_add_t_ja", "default_value_t_de", "image3_t_fr", "tags_sm", "title_t_de", "photo_t_en", "subtext2_t_ja_x000A_"
53
+ ];
54
+ const iso8601DateRegex = /^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24\:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/;
55
+ export async function registerFindItemPowerShell(server, config) {
56
+ const client = new PowershellClient(config.powershell.serverUrl, config.powershell.username, config.powershell.password, config.powershell.domain);
57
+ let allFieldsCommandResult = [
58
+ ...allFieldsDefault // Fallback to a predefined list of fields if the command fails
59
+ ];
60
+ let allDynamicSuffixesResult = [];
61
+ try {
62
+ allFieldsCommandResult = await JSON.parse(await client.executeScriptJson(allFieldsCommand, {})).Obj[0]
63
+ .split(",")
64
+ .map((field) => field.trim());
65
+ allDynamicSuffixesResult = await JSON.parse(await client.executeScriptJson(allDynamicSuffixes, {})).Obj;
66
+ }
67
+ catch (error) {
68
+ //console.error("Error fetching all fields or dynamic suffixes:", error);
69
+ // Fallback to a predefined list of fields if the command fails
70
+ }
71
+ //https://doc.sitecorepowershell.com/appendix/indexing/find-item
72
+ server.tool("indexing-find-item", "Finds items using the Sitecore Content Search API. Date format should be in ISO 8601 format (e.g., '2023-10-01T00:00:00Z').", {
73
+ index: z.string().optional()
74
+ .default("sitecore_master_index").describe("The name of the Sitecore index to search in. e.g., 'sitecore_master_index', 'sitecore_web_index'."),
75
+ //array of objects
76
+ criteria: z.array(z.object({
77
+ filter: z.enum(filterValues).describe("The type of filter to apply to the search criteria."),
78
+ field: z.enum([...allFieldsCommandResult]).describe(`Index Field name found on the SearchResultItem such as the following: ${allFieldsCommandResult.join(", ")}`),
79
+ value: z.string().describe("The value to search for."),
80
+ })),
81
+ first: z.number().optional().default(200).describe("The maximum number of results to return. Defaults to 200."),
82
+ skip: z.number().optional().default(0).describe("The number of results to skip. Defaults to 0."),
83
+ }, async (params) => {
84
+ const criteria = params.criteria.map(c => {
85
+ // Depending on the field type and filter type, the criteria format may vary.
86
+ // Implemented only for DateTime fields and some common filters.
87
+ // Other fields should be implmented as needed.
88
+ if (c.field.endsWith("_dt")
89
+ || c.field.endsWith("_tdt")) {
90
+ if (c.filter === "InclusiveRange"
91
+ || c.filter === "ExclusiveRange") {
92
+ let divider = "";
93
+ if (c.value.indexOf("|") > -1) {
94
+ divider = "|";
95
+ }
96
+ else {
97
+ throw new Error(`Invalid date range format for field ${c.field}. Expected format is 'start_date | end_date'.`);
98
+ }
99
+ const [startDate, endDate] = c.value.split(divider).map(date => date.trim());
100
+ if (!startDate || !endDate) {
101
+ throw new Error(`Invalid date range format for field ${c.field}. Expected format is 'start_date | end_date'.`);
102
+ }
103
+ if (!iso8601DateRegex.test(startDate) || !iso8601DateRegex.test(endDate)) {
104
+ throw new Error(`Invalid date format for field ${c.field}. Expected format is ISO 8601 (e.g., '2023-10-01T00:00:00Z'). 'start_date | end_date'`);
105
+ }
106
+ return `@{ Filter = "${c.filter}"; Field = "${c.field}"; Value = [datetime[]]@([datetime]"${startDate}", [datetime]"${endDate}"); }`;
107
+ }
108
+ if (!iso8601DateRegex.test(c.value)) {
109
+ throw new Error(`Invalid date format for field ${c.field}. Expected format is ISO 8601 (e.g., '2023-10-01T00:00:00Z').`);
110
+ }
111
+ return `@{ Filter = "${c.filter}"; Field = "${c.field}"; Value = [datetime]"${c.value}"; }`;
112
+ }
113
+ return `@{ Filter = "${c.filter}"; Field = "${c.field}"; Value = "${c.value}"; }`;
114
+ }).join(", ");
115
+ const command = `Find-Item -Index "${params.index}" -Criteria @(${criteria}) -First ${params.first} -Skip ${params.skip} `;
116
+ return safeMcpResponse(client.executeScriptJson(command, {}).then((result) => {
117
+ const items = JSON.parse(result).Obj;
118
+ return {
119
+ content: [{
120
+ type: "text",
121
+ text: result === "{}" ? "No items found." : result
122
+ }]
123
+ };
124
+ }, (error) => {
125
+ throw error; // Rethrow the error to be handled by safeMcpResponse
126
+ }));
127
+ });
128
+ }
129
+ //# sourceMappingURL=register-find-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-find-item.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/simple/indexing/register-find-item.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { z } from "zod";
2
+ import { safeMcpResponse } from "../../../../helper.js";
3
+ import { runGenericPowershellCommand } from "../generic.js";
4
+ export function registerGetSearchIndexPowerShell(server, config) {
5
+ server.tool("indexing-get-search-index", "Get information about Sitecore search indexes. Can filter by name, database, running status, or corrupted status.", {
6
+ name: z.string().optional().describe("The name of the index to retrieve information for. Supports wildcards."),
7
+ database: z.string().optional().describe("Filter indices by database name."),
8
+ running: z.boolean().optional().describe("Filter to show only running indices."),
9
+ corrupted: z.boolean().optional().describe("Filter to show only corrupted indices."),
10
+ }, async (params) => {
11
+ const command = `Get-SearchIndex`;
12
+ const options = {};
13
+ if (params.name) {
14
+ options["Name"] = params.name;
15
+ }
16
+ if (params.database) {
17
+ options["Database"] = params.database;
18
+ }
19
+ if (params.running === true) {
20
+ options["Running"] = "";
21
+ }
22
+ if (params.corrupted === true) {
23
+ options["Corrupted"] = "";
24
+ }
25
+ return safeMcpResponse(runGenericPowershellCommand(config, command, options));
26
+ });
27
+ }
28
+ //# sourceMappingURL=register-get-search-index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-get-search-index.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/simple/indexing/register-get-search-index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAE5D,MAAM,UAAU,gCAAgC,CAAC,MAAiB,EAAE,MAAc;IAC9E,MAAM,CAAC,IAAI,CACP,2BAA2B,EAC3B,mHAAmH,EACnH;QACI,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wEAAwE,CAAC;QAC9G,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAC5E,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QAChF,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;KACvF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACb,MAAM,OAAO,GAAG,iBAAiB,CAAC;QAClC,MAAM,OAAO,GAAwB,EAAE,CAAC;QAExC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;QAClC,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC1C,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC5B,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QAC9B,CAAC;QAED,OAAO,eAAe,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAClF,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 registerIndexingPowerShell(server: McpServer, config: Config): void;
3
+ export declare function registerIndexingPowerShell(server: McpServer, config: Config): Promise<void>;
@@ -0,0 +1,9 @@
1
+ import { registerInitializeSearchIndexPowerShell } from "./register-initialize-search-index.js";
2
+ import { registerGetSearchIndexPowerShell } from "./register-get-search-index.js";
3
+ import { registerFindItemPowerShell } from "./register-find-item.js";
4
+ export async function registerIndexingPowerShell(server, config) {
5
+ await registerInitializeSearchIndexPowerShell(server, config);
6
+ await registerGetSearchIndexPowerShell(server, config);
7
+ await registerFindItemPowerShell(server, config);
8
+ }
9
+ //# sourceMappingURL=register-indexing-powershell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-indexing-powershell.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/simple/indexing/register-indexing-powershell.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uCAAuC,EAAE,MAAM,uCAAuC,CAAC;AAChG,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAErE,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,MAAiB,EAAE,MAAc;IAC9E,MAAM,uCAAuC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9D,MAAM,gCAAgC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { z } from "zod";
2
+ import { safeMcpResponse } from "../../../../helper.js";
3
+ import { runGenericPowershellCommand } from "../generic.js";
4
+ export function registerInitializeSearchIndexPowerShell(server, config) {
5
+ server.tool("indexing-initialize-search-index", "Initialize one or more Sitecore search indexes. If no name is provided, all indexes will be initialized.", {
6
+ name: z.string().optional().describe("The name of the index to initialize. If not provided, all indexes will be initialized."),
7
+ includeRemoteIndex: z.boolean().optional().describe("Includes remote indexes in the initialization."),
8
+ asJob: z.boolean().optional().describe("Run the command as a job."),
9
+ }, async (params) => {
10
+ const command = `Initialize-SearchIndex`;
11
+ const options = {};
12
+ if (params.name) {
13
+ options["Name"] = params.name;
14
+ }
15
+ if (params.includeRemoteIndex === true) {
16
+ options["IncludeRemoteIndex"] = "";
17
+ }
18
+ if (params.asJob === true) {
19
+ options["AsJob"] = "";
20
+ }
21
+ return safeMcpResponse(runGenericPowershellCommand(config, command, options));
22
+ });
23
+ }
24
+ //# sourceMappingURL=register-initialize-search-index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-initialize-search-index.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/simple/indexing/register-initialize-search-index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAE5D,MAAM,UAAU,uCAAuC,CAAC,MAAiB,EAAE,MAAc;IACrF,MAAM,CAAC,IAAI,CACP,kCAAkC,EAClC,0GAA0G,EAC1G;QACI,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wFAAwF,CAAC;QAC9H,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;QACrG,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;KACtE,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACb,MAAM,OAAO,GAAG,wBAAwB,CAAC;QACzC,MAAM,OAAO,GAAwB,EAAE,CAAC;QAExC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;QAClC,CAAC;QAED,IAAI,MAAM,CAAC,kBAAkB,KAAK,IAAI,EAAE,CAAC;YACrC,OAAO,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC;QACvC,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,CAAC;QAED,OAAO,eAAe,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAClF,CAAC,CACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,118 @@
1
+ import { z } from "zod";
2
+ import { safeMcpResponse } from "../../../../helper.js";
3
+ import { runGenericPowershellCommand } from "../generic.js";
4
+ export function registerGetItemPowerShell(server, config) {
5
+ server.tool("provider-get-item-by-path", "Gets a Sitecore item by its path.", {
6
+ path: z.string()
7
+ .describe("The path of the item to retrieve (e.g. /sitecore/content/Home)"),
8
+ database: z.string().optional()
9
+ .describe("The database containing the item (defaults to the context database)"),
10
+ language: z.string().optional()
11
+ .describe("The language of the item to retrieve"),
12
+ version: z.string().optional()
13
+ .describe("The version of the item to retrieve"),
14
+ }, async (params) => {
15
+ const command = `Get-Item`;
16
+ const options = {
17
+ "Path": params.path,
18
+ };
19
+ if (params.database) {
20
+ options["Database"] = params.database;
21
+ }
22
+ if (params.language) {
23
+ options["Language"] = params.language;
24
+ }
25
+ if (params.version) {
26
+ options["Version"] = params.version;
27
+ }
28
+ return safeMcpResponse(runGenericPowershellCommand(config, command, options));
29
+ });
30
+ server.tool("provider-get-item-by-id", "Gets a Sitecore item by its ID.", {
31
+ path: z.string()
32
+ .default("master:")
33
+ .describe("The path of the item to retrieve (e.g. master:\\content\\home)"),
34
+ id: z.string()
35
+ .describe("The ID of the item to retrieve (e.g. {110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9})"),
36
+ database: z.string().optional()
37
+ .describe("The database containing the item (defaults to the context database)"),
38
+ language: z.string().optional()
39
+ .describe("The language of the item to retrieve"),
40
+ version: z.string().optional()
41
+ .describe("The version of the item to retrieve"),
42
+ }, async (params) => {
43
+ const command = `Get-Item`;
44
+ const options = {
45
+ "ID": params.id,
46
+ "Path": params.path,
47
+ };
48
+ if (params.database) {
49
+ options["Database"] = params.database;
50
+ }
51
+ if (params.language) {
52
+ options["Language"] = params.language;
53
+ }
54
+ if (params.version) {
55
+ options["Version"] = params.version;
56
+ }
57
+ return safeMcpResponse(runGenericPowershellCommand(config, command, options));
58
+ });
59
+ server.tool("provider-get-item-by-query", "Gets a Sitecore item by Sitecore query.", {
60
+ path: z.string()
61
+ .default("master:")
62
+ .describe("The path of the item to retrieve (e.g. master:\\content\\home)"),
63
+ query: z.string()
64
+ .describe("The Sitecore query to execute (e.g. /sitecore/content/home/*/*)"),
65
+ database: z.string().optional()
66
+ .describe("The database containing the item (defaults to the context database)"),
67
+ language: z.string().optional()
68
+ .describe("The language of the item to retrieve"),
69
+ version: z.string().optional()
70
+ .describe("The version of the item to retrieve"),
71
+ }, async (params) => {
72
+ const command = `Get-Item`;
73
+ const options = {
74
+ "Query": params.query,
75
+ "Path": params.path,
76
+ };
77
+ if (params.database) {
78
+ options["Database"] = params.database;
79
+ }
80
+ if (params.language) {
81
+ options["Language"] = params.language;
82
+ }
83
+ if (params.version) {
84
+ options["Version"] = params.version;
85
+ }
86
+ return safeMcpResponse(runGenericPowershellCommand(config, command, options));
87
+ });
88
+ server.tool("provider-get-item-by-uri", "Gets a Sitecore item by its URI.", {
89
+ path: z.string()
90
+ .default("master:")
91
+ .describe("The path of the item to retrieve (e.g. master:\\content\\home)"),
92
+ uri: z.string()
93
+ .describe("The URI of the item to retrieve (e.g. sitecore://master/home)"),
94
+ database: z.string().optional()
95
+ .describe("The database containing the item (defaults to the context database)"),
96
+ language: z.string().optional()
97
+ .describe("The language of the item to retrieve"),
98
+ version: z.string().optional()
99
+ .describe("The version of the item to retrieve"),
100
+ }, async (params) => {
101
+ const command = `Get-Item`;
102
+ const options = {
103
+ "Uri": params.uri,
104
+ "Path": params.path,
105
+ };
106
+ if (params.database) {
107
+ options["Database"] = params.database;
108
+ }
109
+ if (params.language) {
110
+ options["Language"] = params.language;
111
+ }
112
+ if (params.version) {
113
+ options["Version"] = params.version;
114
+ }
115
+ return safeMcpResponse(runGenericPowershellCommand(config, command, options));
116
+ });
117
+ }
118
+ //# sourceMappingURL=register-get-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-get-item.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/simple/provider/register-get-item.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { registerGetItemPowerShell } from "./register-get-item.js";
2
+ export function registerProviderPowerShell(server, config) {
3
+ registerGetItemPowerShell(server, config);
4
+ }
5
+ //# sourceMappingURL=register-provider-powershell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-provider-powershell.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/simple/provider/register-provider-powershell.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,UAAU,0BAA0B,CAAC,MAAiB,EAAE,MAAc;IACxE,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC9C,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 registerSimplePowerShell(server: McpServer, config: Config): void;
3
+ export declare function registerSimplePowerShell(server: McpServer, config: Config): Promise<void>;
@@ -0,0 +1,9 @@
1
+ import { registerSecurityPowerShell } from "./security/register-security-powershell.js";
2
+ import { registerProviderPowerShell } from "./provider/register-provider-powershell.js";
3
+ import { registerIndexingPowerShell } from "./indexing/register-indexing-powershell.js";
4
+ export async function registerSimplePowerShell(server, config) {
5
+ await registerSecurityPowerShell(server, config);
6
+ await registerProviderPowerShell(server, config);
7
+ await registerIndexingPowerShell(server, config);
8
+ }
9
+ //# sourceMappingURL=register-simple-powershell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-simple-powershell.js","sourceRoot":"","sources":["../../../../src/tools/powershell/simple/register-simple-powershell.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAExF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,MAAiB,EAAE,MAAc;IAC5E,MAAM,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Simple array of access rights available in Sitecore security operations.
3
+ * Used in security-related PowerShell operations like Test-ItemAcl.
4
+ *
5
+ * @see https://doc.sitecorepowershell.com/appendix/security/test-itemacl
6
+ */
7
+ export const AccessRights = [
8
+ // Item-level access rights
9
+ 'item:read',
10
+ 'item:write',
11
+ 'item:create',
12
+ 'item:delete',
13
+ 'item:rename',
14
+ 'item:admin',
15
+ // Field-level access rights
16
+ 'field:read',
17
+ 'field:write',
18
+ // Language-level access rights
19
+ 'language:read',
20
+ 'language:write',
21
+ // Workflow-related access rights
22
+ 'workflowState:delete',
23
+ 'workflowState:write',
24
+ 'workflowCommand:execute',
25
+ // Additional access rights
26
+ 'site:enter',
27
+ 'remote:fieldread',
28
+ 'insert:show',
29
+ 'profile:customize',
30
+ 'bucket:makebucket',
31
+ 'bucket:unmake'
32
+ ];
33
+ //# sourceMappingURL=access-rights.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-rights.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/simple/security/access-rights.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,2BAA2B;IAC3B,WAAW;IACX,YAAY;IACZ,aAAa;IACb,aAAa;IACb,aAAa;IACb,YAAY;IAEZ,4BAA4B;IAC5B,YAAY;IACZ,aAAa;IAEb,+BAA+B;IAC/B,eAAe;IACf,gBAAgB;IAEhB,iCAAiC;IACjC,sBAAsB;IACtB,qBAAqB;IACrB,yBAAyB;IAEzB,2BAA2B;IAC3B,YAAY;IACZ,kBAAkB;IAClB,aAAa;IACb,mBAAmB;IACnB,mBAAmB;IACnB,eAAe;CAChB,CAAC"}
@@ -0,0 +1,66 @@
1
+ import { z } from "zod";
2
+ import { safeMcpResponse } from "../../../../helper.js";
3
+ import { runGenericPowershellCommand } from "../generic.js";
4
+ import { AccessRights } from "./access-rights.js";
5
+ export function registerAddItemAclPowerShell(server, config) {
6
+ server.tool("security-add-item-acl-by-id", "Adds an access control entry to a Sitecore item by its ID.", {
7
+ id: z.string()
8
+ .describe("The ID of the item to add ACL entry for"),
9
+ identity: z.string()
10
+ .describe("The identity of the account (user or role) to grant permissions to (e.g. 'sitecore\\admin')"),
11
+ accessRight: z.enum(AccessRights)
12
+ .describe("The access right to grant (e.g. 'item:read', 'item:write')"),
13
+ propagationType: z.enum(["Descendants", "Children", "Entity"]).default("Entity")
14
+ .describe("The propagation type for the access right"),
15
+ securityPermission: z.enum(["AllowAccess", "DenyAccess"]).default("AllowAccess")
16
+ .describe("Whether to allow or deny the specified access right"),
17
+ database: z.string().optional()
18
+ .describe("The database containing the item (defaults to the context database)")
19
+ }, async (params) => {
20
+ const command = `Add-ItemAcl`;
21
+ const options = {
22
+ "ID": params.id,
23
+ "Identity": params.identity,
24
+ "AccessRight": params.accessRight,
25
+ "PropagationType": params.propagationType,
26
+ "SecurityPermission": params.securityPermission
27
+ };
28
+ if (params.database) {
29
+ options["Database"] = params.database;
30
+ }
31
+ return safeMcpResponse(runGenericPowershellCommand(config, command, options));
32
+ });
33
+ server.tool("security-add-item-acl-by-path", "Adds an access control entry to a Sitecore item by its path.", {
34
+ path: z.string()
35
+ .describe("The path of the item to add ACL entry for (e.g. /sitecore/content/Home)"),
36
+ identity: z.string()
37
+ .describe("The identity of the account (user or role) to grant permissions to (e.g. 'sitecore\\admin')"),
38
+ accessRight: z.enum(AccessRights)
39
+ .describe("The access right to grant (e.g. 'item:read', 'item:write')"),
40
+ propagationType: z.enum(["Descendants", "Children", "Entity"]).default("Entity")
41
+ .describe("The propagation type for the access right"),
42
+ securityPermission: z.enum(["AllowAccess", "DenyAccess"]).default("AllowAccess")
43
+ .describe("Whether to allow or deny the specified access right"),
44
+ database: z.string().optional()
45
+ .describe("The database containing the item (defaults to the context database)"),
46
+ passThrough: z.boolean().optional()
47
+ .describe("")
48
+ }, async (params) => {
49
+ const command = `Add-ItemAcl`;
50
+ const options = {
51
+ "Path": params.path,
52
+ "Identity": params.identity,
53
+ "AccessRight": params.accessRight,
54
+ "PropagationType": params.propagationType,
55
+ "SecurityPermission": params.securityPermission
56
+ };
57
+ if (params.database) {
58
+ options["Database"] = params.database;
59
+ }
60
+ if (params.passThrough) {
61
+ options["PassThru"] = "";
62
+ }
63
+ return safeMcpResponse(runGenericPowershellCommand(config, command, options));
64
+ });
65
+ }
66
+ //# sourceMappingURL=register-add-item-acl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-add-item-acl.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/simple/security/register-add-item-acl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,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,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;QACpE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC1B,QAAQ,CAAC,qEAAqE,CAAC;KACvF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACb,MAAM,OAAO,GAAG,aAAa,CAAC;QAC9B,MAAM,OAAO,GAAwB;YACjC,IAAI,EAAE,MAAM,CAAC,EAAE;YACf,UAAU,EAAE,MAAM,CAAC,QAAQ;YAC3B,aAAa,EAAE,MAAM,CAAC,WAAW;YACjC,iBAAiB,EAAE,MAAM,CAAC,eAAe;YACzC,oBAAoB,EAAE,MAAM,CAAC,kBAAkB;SAClD,CAAC;QAEF,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC1C,CAAC;QAED,OAAO,eAAe,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAClF,CAAC,CACJ,CAAC;IAEF,MAAM,CAAC,IAAI,CACP,+BAA+B,EAC/B,8DAA8D,EAC9D;QACI,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;aACX,QAAQ,CAAC,yEAAyE,CAAC;QACxF,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;QACpE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC1B,QAAQ,CAAC,qEAAqE,CAAC;QACpF,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;aAC9B,QAAQ,CAAC,EAAE,CAAC;KACpB,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACb,MAAM,OAAO,GAAG,aAAa,CAAC;QAC9B,MAAM,OAAO,GAAwB;YACjC,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,UAAU,EAAE,MAAM,CAAC,QAAQ;YAC3B,aAAa,EAAE,MAAM,CAAC,WAAW;YACjC,iBAAiB,EAAE,MAAM,CAAC,eAAe;YACzC,oBAAoB,EAAE,MAAM,CAAC,kBAAkB;SAClD,CAAC;QAEF,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC1C,CAAC;QAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QAC7B,CAAC;QAED,OAAO,eAAe,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAClF,CAAC,CACJ,CAAC;AACN,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { z } from "zod";
2
+ import { safeMcpResponse } from "../../../../helper.js";
3
+ import { runGenericPowershellCommand } from "../generic.js";
4
+ export function registerAddRoleMemberPowerShell(server, config) {
5
+ server.tool("security-add-role-member", "Adds a member to a Sitecore role.", {
6
+ identity: z.string()
7
+ .describe("The identity of the role to add members to (e.g. 'CustomRole' or full path 'sitecore\\CustomRole')"),
8
+ members: z.string()
9
+ .describe("The members to add to the role (comma-separated list of users or roles, e.g. 'sitecore\\user1,sitecore\\user2')"),
10
+ }, async (params) => {
11
+ const command = `Add-RoleMember`;
12
+ const options = {
13
+ "Identity": params.identity,
14
+ "Members": params.members.split(',').map(member => member.trim()).join('","'),
15
+ };
16
+ return safeMcpResponse(runGenericPowershellCommand(config, command, options));
17
+ });
18
+ }
19
+ //# sourceMappingURL=register-add-role-member.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-add-role-member.js","sourceRoot":"","sources":["../../../../../src/tools/powershell/simple/security/register-add-role-member.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAE5D,MAAM,UAAU,+BAA+B,CAAC,MAAiB,EAAE,MAAc;IAC7E,MAAM,CAAC,IAAI,CACP,0BAA0B,EAC1B,mCAAmC,EACnC;QACI,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;aACf,QAAQ,CAAC,oGAAoG,CAAC;QACnH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;aACd,QAAQ,CAAC,iHAAiH,CAAC;KACnI,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACb,MAAM,OAAO,GAAG,gBAAgB,CAAC;QACjC,MAAM,OAAO,GAAwB;YACjC,UAAU,EAAE,MAAM,CAAC,QAAQ;YAC3B,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;SAChF,CAAC;QAEF,OAAO,eAAe,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAClF,CAAC,CACJ,CAAC;AACN,CAAC"}