@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.
- package/README.md +1 -0
- package/dist/app.js +3 -0
- package/dist/app.js.map +1 -0
- package/dist/config.d.ts +2 -2
- package/dist/config.js +66 -0
- package/dist/config.js.map +1 -0
- package/dist/const.js +2 -0
- package/dist/const.js.map +1 -0
- package/dist/helper.js +19 -0
- package/dist/helper.js.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/run.js +7 -0
- package/dist/run.js.map +1 -0
- package/dist/server.d.ts +1 -1
- package/dist/server.js +67 -0
- package/dist/server.js.map +1 -0
- package/dist/sse.d.ts +1 -1
- package/dist/sse.js +31 -0
- package/dist/sse.js.map +1 -0
- package/dist/stdio.js +8 -0
- package/dist/stdio.js.map +1 -0
- package/dist/streamable-http.d.ts +1 -0
- package/dist/streamable-http.js +69 -0
- package/dist/streamable-http.js.map +1 -0
- package/dist/tools/graphql/generic/introspection.js +34 -0
- package/dist/tools/graphql/generic/introspection.js.map +1 -0
- package/dist/tools/graphql/generic/query.js +37 -0
- package/dist/tools/graphql/generic/query.js.map +1 -0
- package/dist/tools/graphql/register-graphql.js +24 -0
- package/dist/tools/graphql/register-graphql.js.map +1 -0
- package/dist/tools/item-service/client.js +428 -0
- package/dist/tools/item-service/client.js.map +1 -0
- package/dist/tools/item-service/composite/get-item-descendants.js +30 -0
- package/dist/tools/item-service/composite/get-item-descendants.js.map +1 -0
- package/dist/tools/item-service/composite/get-languages.js +19 -0
- package/dist/tools/item-service/composite/get-languages.js.map +1 -0
- package/dist/tools/item-service/register-item-service.js +156 -0
- package/dist/tools/item-service/register-item-service.js.map +1 -0
- package/dist/tools/item-service/simple/create-item.js +17 -0
- package/dist/tools/item-service/simple/create-item.js.map +1 -0
- package/dist/tools/item-service/simple/delete-item.js +23 -0
- package/dist/tools/item-service/simple/delete-item.js.map +1 -0
- package/dist/tools/item-service/simple/edit-item.js +23 -0
- package/dist/tools/item-service/simple/edit-item.js.map +1 -0
- package/dist/tools/item-service/simple/get-item-by-path.js +17 -0
- package/dist/tools/item-service/simple/get-item-by-path.js.map +1 -0
- package/dist/tools/item-service/simple/get-item-children.js +17 -0
- package/dist/tools/item-service/simple/get-item-children.js.map +1 -0
- package/dist/tools/item-service/simple/get-item.js +18 -0
- package/dist/tools/item-service/simple/get-item.js.map +1 -0
- package/dist/tools/item-service/simple/run-stored-query.js +24 -0
- package/dist/tools/item-service/simple/run-stored-query.js.map +1 -0
- package/dist/tools/item-service/simple/run-stored-search.js +24 -0
- package/dist/tools/item-service/simple/run-stored-search.js.map +1 -0
- package/dist/tools/item-service/simple/search-items.js +17 -0
- package/dist/tools/item-service/simple/search-items.js.map +1 -0
- package/dist/tools/powershell/client.js +58 -0
- package/dist/tools/powershell/client.js.map +1 -0
- package/dist/tools/powershell/composite/register-composite-powershell.js +5 -0
- package/dist/tools/powershell/composite/register-composite-powershell.js.map +1 -0
- package/dist/tools/powershell/composite/security/register-security-powershell.js +5 -0
- package/dist/tools/powershell/composite/security/register-security-powershell.js.map +1 -0
- package/dist/tools/powershell/composite/security/register-set-item-acl.js +59 -0
- package/dist/tools/powershell/composite/security/register-set-item-acl.js.map +1 -0
- package/dist/tools/powershell/output.js +8 -0
- package/dist/tools/powershell/output.js.map +1 -0
- package/dist/tools/powershell/register-powershell.d.ts +1 -1
- package/dist/tools/powershell/register-powershell.js +7 -0
- package/dist/tools/powershell/register-powershell.js.map +1 -0
- package/dist/tools/powershell/simple/generic.js +27 -0
- package/dist/tools/powershell/simple/generic.js.map +1 -0
- package/dist/tools/powershell/simple/indexing/register-find-item.d.ts +3 -0
- package/dist/tools/powershell/simple/indexing/register-find-item.js +129 -0
- package/dist/tools/powershell/simple/indexing/register-find-item.js.map +1 -0
- package/dist/tools/powershell/simple/indexing/register-get-search-index.js +28 -0
- package/dist/tools/powershell/simple/indexing/register-get-search-index.js.map +1 -0
- package/dist/tools/powershell/simple/indexing/register-indexing-powershell.d.ts +1 -1
- package/dist/tools/powershell/simple/indexing/register-indexing-powershell.js +9 -0
- package/dist/tools/powershell/simple/indexing/register-indexing-powershell.js.map +1 -0
- package/dist/tools/powershell/simple/indexing/register-initialize-search-index.js +24 -0
- package/dist/tools/powershell/simple/indexing/register-initialize-search-index.js.map +1 -0
- package/dist/tools/powershell/simple/provider/register-get-item.js +118 -0
- package/dist/tools/powershell/simple/provider/register-get-item.js.map +1 -0
- package/dist/tools/powershell/simple/provider/register-provider-powershell.js +5 -0
- package/dist/tools/powershell/simple/provider/register-provider-powershell.js.map +1 -0
- package/dist/tools/powershell/simple/register-simple-powershell.d.ts +1 -1
- package/dist/tools/powershell/simple/register-simple-powershell.js +9 -0
- package/dist/tools/powershell/simple/register-simple-powershell.js.map +1 -0
- package/dist/tools/powershell/simple/security/access-rights.js +33 -0
- package/dist/tools/powershell/simple/security/access-rights.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-add-item-acl.js +66 -0
- package/dist/tools/powershell/simple/security/register-add-item-acl.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-add-role-member.js +19 -0
- package/dist/tools/powershell/simple/security/register-add-role-member.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-clear-item-acl.js +46 -0
- package/dist/tools/powershell/simple/security/register-clear-item-acl.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-disable-user.js +15 -0
- package/dist/tools/powershell/simple/security/register-disable-user.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-enable-user.js +15 -0
- package/dist/tools/powershell/simple/security/register-enable-user.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-get-domain.js +20 -0
- package/dist/tools/powershell/simple/security/register-get-domain.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-get-item-acl.js +56 -0
- package/dist/tools/powershell/simple/security/register-get-item-acl.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-get-role-member.js +31 -0
- package/dist/tools/powershell/simple/security/register-get-role-member.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-get-role.js +24 -0
- package/dist/tools/powershell/simple/security/register-get-role.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-get-user.js +31 -0
- package/dist/tools/powershell/simple/security/register-get-user.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-lock-item.js +56 -0
- package/dist/tools/powershell/simple/security/register-lock-item.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-new-domain.js +15 -0
- package/dist/tools/powershell/simple/security/register-new-domain.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-new-role.js +16 -0
- package/dist/tools/powershell/simple/security/register-new-role.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-new-user.js +43 -0
- package/dist/tools/powershell/simple/security/register-new-user.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-protect-item.js +46 -0
- package/dist/tools/powershell/simple/security/register-protect-item.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-remove-domain.js +16 -0
- package/dist/tools/powershell/simple/security/register-remove-domain.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-remove-role.js +16 -0
- package/dist/tools/powershell/simple/security/register-remove-role.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-remove-rolemember.js +19 -0
- package/dist/tools/powershell/simple/security/register-remove-rolemember.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-remove-user.js +15 -0
- package/dist/tools/powershell/simple/security/register-remove-user.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-security-powershell.js +55 -0
- package/dist/tools/powershell/simple/security/register-security-powershell.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-set-user-password.js +29 -0
- package/dist/tools/powershell/simple/security/register-set-user-password.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-set-user.js +66 -0
- package/dist/tools/powershell/simple/security/register-set-user.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-test-account.js +21 -0
- package/dist/tools/powershell/simple/security/register-test-account.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-test-item-acl.js +59 -0
- package/dist/tools/powershell/simple/security/register-test-item-acl.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-unlock-item.js +52 -0
- package/dist/tools/powershell/simple/security/register-unlock-item.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-unlock-user.js +16 -0
- package/dist/tools/powershell/simple/security/register-unlock-user.js.map +1 -0
- package/dist/tools/powershell/simple/security/register-unprotect-item.js +46 -0
- package/dist/tools/powershell/simple/security/register-unprotect-item.js.map +1 -0
- package/dist/tools/powershell/utils.js +18 -0
- package/dist/tools/powershell/utils.js.map +1 -0
- package/package.json +18 -13
- package/dist/bundle.js +0 -52284
- 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 @@
|
|
|
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":"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"}
|
|
@@ -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"}
|