The Sitecore Marketer MCP server is one of the most anticipated MCP servers released by Sitecore. It enables both marketers and developers to interact with a connected Sitecore instance more efficiently using AI-powered agents.
With the Marketer MCP server, marketers can simply use natural language prompts to ask the AI agent to perform tasks such as:
- Creating and updating pages
- Creating and updating components
- Managing languages
- Listing available sites
Performing various other content-related operations
The Sitecore Marketer MCP server provides a collection of tools that allow marketers and developers to explore and execute actions within the connected Sitecore environment.
These tools act as the bridge between the AI agent and the Sitecore instance, enabling the agent to understand the request and perform the appropriate operation.
Available Tools in the Marketer MCP Server:
Currently, there are 42 tools available in the Sitecore Marketer MCP server. Each tool is designed to handle a specific operation within the Sitecore environment.
Available tools and their purpose:
The table below provides an overview of all the available tools, including:
- The tool name
- Its purpose
- The input parameters required
- Whether each parameter is required or optional
This information helps both developers and marketers understand how each tool can be used when interacting with the Sitecore environment.
| # | Tool Name | Description | Total Fields | Required | Optional |
| 1 | list_sites | List all sites with name and target hostname | 0 | 0 | 0 |
| 2 | get_site_information | Get site information by site ID | 1 | 1 | 0 |
| 3 | get_site_id_from_item | Get site ID from item ID | 1 | 1 | 0 |
| 4 | search_site | Search site pages by title | 3 | 2 | 1 |
| 5 | get_all_languages | Get all available languages in the system | 0 | 0 | 0 |
| 6 | get_all_pages_by_site | Get all pages by site | 2 | 1 | 1 |
| 7 | get_page_path_by_live_url | Get page path by live URL | 1 | 1 | 0 |
| 8 | get_page_html | Get page HTML content | 3 | 2 | 1 |
| 9 | get_page_preview_url | Get the preview URL for a specific page | 2 | 2 | 0 |
| 10 | get_page_template_by_id | Get page template by id including available fields | 1 | 1 | 0 |
| 11 | create_page | Create a new page | 5 | 3 | 2 |
| 12 | get_page | Get page details by ID and language | 2 | 1 | 1 |
| 13 | add_language_to_page | Add a language to a page | 2 | 2 | 0 |
| 14 | get_page_screenshot | Get a screenshot of a page | 5 | 2 | 3 |
| 15 | add_component_on_page | Add component to a page | 6 | 4 | 2 |
| 16 | get_allowed_components_by_placeholder | Get allowed components by placeholder | 3 | 2 | 1 |
| 17 | remove_component_on_page | Remove component from page | 3 | 3 | 0 |
| 18 | move_component_within_placeholder | Move component within placeholder | 4 | 4 | 0 |
| 19 | list_components | List all components for a site | 1 | 1 | 0 |
| 20 | get_component | Get component details including datasource requirements | 1 | 1 | 0 |
| 21 | get_components_by_placeholder | Get components available for a placeholder | 1 | 1 | 0 |
| 22 | get_components_on_page | Get all components on a page | 3 | 1 | 2 |
| 23 | set_component_datasource | Set datasource for a component on a page | 4 | 3 | 1 |
| 24 | create_component_datasource | Create component datasource | 5 | 3 | 2 |
| 25 | search_component_datasources | Search component datasources | 2 | 2 | 0 |
| 26 | list_available_insertoptions | List available insert options for an item | 2 | 1 | 1 |
| 27 | create_child_item | Create child item under parent | 5 | 5 | 0 |
| 28 | delete_child_item | Delete child item | 2 | 2 | 0 |
| 29 | create_content_item | Create content item | 5 | 3 | 2 |
| 30 | update_fields_on_content_item | Update fields on content item | 2 | 2 | 0 |
| 31 | update_content | Update content item | 5 | 2 | 3 |
| 32 | delete_content | Delete content item | 2 | 1 | 1 |
| 33 | get_content_item_by_path | Get content item by path | 3 | 1 | 2 |
| 34 | get_content_item_by_id | Get content item by ID | 2 | 1 | 1 |
| 35 | search_assets | Search assets by name, type, or tags | 4 | 0 | 4 |
| 36 | get_asset_information | Get asset information by ID | 1 | 1 | 0 |
| 37 | update_asset | Update asset information | 5 | 3 | 2 |
| 38 | upload_asset | Upload asset file with metadata using multipart form data | 6 | 6 | 0 |
| 39 | create_personalization_version | Create a personalization version for a page | 7 | 5 | 2 |
| 40 | get_personalization_versions_by_page | Get all personalization versions for a page | 2 | 1 | 1 |
| 41 | get_personalization_condition_templates | Get available personalization condition templates | 0 | 0 | 0 |
| 42 | get_personalization_condition_template_by_id | Get personalization condition template by ID | 1 | 1 | 0 |
Tool Parameter Details:
The table below provides a detailed overview of the input parameters for each tool. This information helps both developers and marketers understand how specific actions are executed based on the request or prompt provided to the Sitecore Marketer MCP server.
By reviewing these parameters, we can clearly identify which fields are required, which are optional, and how each parameter is used to execute the action within the connected Sitecore environment.
| # | Tool Name | Tool Description | Field Name | Type | Field Description | Required | Default |
| 1 | list_sites | List all sites with name and target hostname | (no input fields) | — | — | No | — |
| 2 | get_site_information | Get site information by site ID | siteId | string | ID of the site | Yes | — |
| 3 | get_site_id_from_item | Get site ID from item ID | itemId | string | ID of the item | Yes | — |
4 | search_site | Search site pages by title | search_query | string | Search query for pages | Yes | — |
| language | string | Language code | No | en |
| site_name | string | Name of the site to search | Yes | — |
| 5 | get_all_languages | Get all available languages in the system | (no input fields) | — | — | No | — |
6 | get_all_pages_by_site | Get all pages by site | siteName | string | Name of the site | Yes | — |
| language | string | Language code | No | en |
| 7 | get_page_path_by_live_url | Get page path by live URL | liveUrl | string | Live URL of the page | Yes | — |
8 | get_page_html | Get page HTML content | pageId | string | Page ID | Yes | — |
| language | string | Language code | Yes | — |
| version | number | Version number | No | — |
9 | get_page_preview_url | Get the preview URL for a specific page | pageId | string | Page ID | Yes | — |
| language | string | Language code | Yes | — |
| 10 | get_page_template_by_id | Get page template by id including available fields | templateId | string | Template ID | Yes | — |
11 | create_page | Create a new page | templateId | string | Template ID | Yes | — |
| parentId | string | Parent ID | Yes | — |
| name | string | Page name | Yes | — |
| language | string | Language code | No | en |
| fields | array | Array of field objects | No | — |
12 | get_page | Get page details by ID and language | pageId | string | Page ID | Yes | — |
| language | string | Language code (default: en) | No | en |
13 | add_language_to_page | Add a language to a page | pageId | string | Page ID | Yes | — |
| language_request | object | Language request body | Yes | — |
14 | get_page_screenshot | Get a screenshot of a page | pageId | string | Page ID | Yes | — |
| version | number | Version number | Yes | — |
| language | string | Language code | No | en |
| width | number | Screenshot width | No | 1200 |
| height | number | Screenshot height | No | 800 |
15 | add_component_on_page | Add component to a page | pageId | string | Page ID | Yes | — |
| componentRenderingId | string | Component rendering ID | Yes | — |
| placeholderPath | string | Placeholder path | Yes | — |
| componentItemName | string | Component item name | Yes | — |
| language | string | Language code | No | en |
| fields | object | Field values | No | — |
16 | get_allowed_components_by_placeholder | Get allowed components by placeholder | pageId | string | Page ID | Yes | — |
| placeholderName | string | Placeholder name | Yes | — |
| language | string | Language code (default: en) | No | en |
17 | remove_component_on_page | Remove component from page | pageId | string | Page ID | Yes | — |
| componentId | string | Component ID | Yes | — |
| placeholderId | string | Placeholder ID | Yes | — |
18 | move_component_within_placeholder | Move component within placeholder | pageId | string | Page ID | Yes | — |
| placeholderId | string | Placeholder ID | Yes | — |
| oldIndex | number | Old position index | Yes | — |
| newIndex | number | New position index | Yes | — |
| 19 | list_components | List all components for a site | site_name | string | Site name | Yes | — |
| 20 | get_component | Get component details including datasource requirements | component_id | string | Component ID | Yes | — |
| 21 | get_components_by_placeholder | Get components available for a placeholder | placeholder_id | string | Placeholder ID | Yes | — |
22 | get_components_on_page | Get all components on a page | pageId | string | Page ID | Yes | — |
| language | string | Language code | No | en |
| version | number | Version number | No | — |
23 | set_component_datasource | Set datasource for a component on a page | pageId | string | Page ID | Yes | — |
| componentId | string | Component ID | Yes | — |
| datasourceId | string | Datasource ID | Yes | — |
| language | string | Language code | No | en |
24 | create_component_datasource | Create component datasource | siteName | string | Site name | Yes | — |
| componentId | string | Component ID | Yes | — |
| dataFields | object | Datasource field values | Yes | — |
| language | string | Language code (default: en) | No | en |
| children | array | Child datasources | No | — |
25 | search_component_datasources | Search component datasources | component_id | string | Component ID | Yes | — |
| term | string | Search term | Yes | — |
26 | list_available_insertoptions | List available insert options for an item | itemId | string | Item ID | Yes | — |
| language | string | Language code | No | en |
27 | create_child_item | Create child item under parent | parentId | string | Parent item ID | Yes | — |
| templateId | string | Template ID | Yes | — |
| name | string | Item name | Yes | — |
| path | string | Item path | Yes | — |
| fields | object | Field values | Yes | — |
28 | delete_child_item | Delete child item | parentId | string | Parent item ID | Yes | — |
| childId | string | Child item ID to delete | Yes | — |
29 | create_content_item | Create content item | name | string | Item name | Yes | — |
| templateId | string | Template ID | Yes | — |
| parentId | string | Parent ID | Yes | — |
| language | string | Language code | No | en |
| fields | object | Field values | No | — |
30 | update_fields_on_content_item | Update fields on content item | itemId | string | Item ID | Yes | — |
| fields | object | Field values | Yes | — |
31 | update_content | Update content item | itemId | string | Item ID | Yes | — |
| fields | object | Field values | No | — |
| language | string | Language code | No | en |
| createNewVersion | boolean | Create new version | No | False |
| siteName | string | Site name | Yes | — |
32 | delete_content | Delete content item | itemId | string | Item ID | Yes | — |
| language | string | Language code | No | en |
33 | get_content_item_by_path | Get content item by path | itemPath | string | Content item path | Yes | — |
| language | string | Language code (default: en) | No | en |
| failOnNotFound | boolean | Fail if item not found (default: true) | No | True |
34 | get_content_item_by_id | Get content item by ID | itemId | string | Item ID | Yes | — |
| language | string | Language code | No | — |
35 | search_assets | Search assets by name, type, or tags | query | string | Search query | No | — |
| type | string | Asset type | No | — |
| language | string | Language code (default: en) | No | — |
| tags | array | Asset tags | No | — |
| 36 | get_asset_information | Get asset information by ID | asset_id | string | Asset ID | Yes | — |
37 | update_asset | Update asset information | asset_id | string | Asset ID | Yes | — |
| fields | object | Asset fields as key-value pairs | Yes | — |
| language | string | Language code | Yes | — |
| name | string | Asset name | No | — |
| altText | string | Alternative text for the asset | No | — |
38 | upload_asset | Upload asset file with metadata using multipart form data | filePath | string | Local file path to upload | Yes | — |
| name | string | Asset name | Yes | — |
| itemPath | string | Item path where the asset will be stored | Yes | — |
| language | string | Language code | Yes | — |
| extension | string | File extension (e.g., jpg, png, pdf) | Yes | — |
| siteName | string | Site name where the asset belongs | Yes | — |
39 | create_personalization_version | Create a personalization version for a page | pageId | string | Page ID | Yes | — |
| name | string | Personalization version name | Yes | — |
| language | string | Language code (default: en) | No | en |
| variantName | string | Variant name | Yes | — |
| audienceName | string | Audience name | Yes | — |
| conditionTemplateId | string | Condition template ID (uuid) | Yes | — |
| conditionParams | object | Additional properties for condition parameters | No | — |
40 | get_personalization_versions_by_page | Get all personalization versions for a page | pageId | string | Page ID | Yes | — |
| language | string | Language code | No | en |
| 41 | get_personalization_condition_templates | Get available personalization condition templates | (no input fields) | — | — | No | — |
| 42 | get_personalization_condition_template_by_id | Get personalization condition template by ID | templateId | string | Condition template ID (uuid) | Yes | — |
Let's learn and grow together, happy programming 😊
Comments
Post a Comment