Model Context Protocol for Sitecore - read/write access to Sitecore XM Cloud and XM/XP over the Authoring and Management API, the Item Service, GraphQL Edge and Sitecore PowerShell Extensions
The Sitecore MCP server demonstrates solid definition quality with mostly well-articulated tool descriptions and proper parameter documentation. All 6 tools have descriptions exceeding the 20-character minimum. Parameters are typed with clear enums where appropriate (e.g., 'action' in indexing-set-search-index-state). Tool naming follows verb_noun conventions (get_*, rebuild_*, set_*). However, output schemas are not explicitly documented in the provided source code, descriptions mention what is returned but formal schema definitions are not visible. Error handling guidance is present in descriptions (e.g., 'Run an actual query with indexing-find-item before concluding an index is broken') but lacks structured recovery patterns. The server uses tool annotations (destructive/write hints via src/tool-annotations.ts) which is current-spec compliant. A few tools have parameter dependencies that could be more explicitly documented.
Restarts the Sitecore Application pool.
Prints the configuration of the Sitecore MCP server. Secrets (passwords, the GraphQL API key, the authorization header) are redacted.
Get information about Sitecore search indexes, addressed by name. SPE's Get-SearchIndex takes no other filter, so filter the returned rows rather than asking the CM to. IndexingState (Started / Stopped) is reliable; the Summary fields (NumberOfDocuments, IsHealthy, IsClean, OutOfDateIndex) come from the search provider and are not dependable everywhere — on an XM Cloud CM, where every index shares one Solr core, NumberOfDocuments reads 0 and IsHealthy false on an index that is serving queries perfectly well. Run an actual query with indexing-find-item before concluding an index is broken.
Rebuilds Sitecore search indexes. Omit id and path to rebuild whole indexes — and omit name too to rebuild every index, which is expensive and leaves search results incomplete while it runs. Supply id or path to rebuild only that item's subtree, which is what you want after changing a branch of content. Pass asJob to queue it and poll with common-get-sitecore-job rather than waiting.
common-restart-application has no visible input schema definition and a minimal 38-character description. This tool performs a destructive/write action (restart app pool) but lacks parameter documentation and clear indication of what happens when called.
Output schemas are not explicitly documented in the source code. While descriptions mention what is returned (e.g., 'Get information about Sitecore search indexes'), the structured schema of response fields is not visible. LLMs need documented return types to plan downstream tool calls.
Parameter dependencies are documented inline but not formally structured. E.g., 'indexing-rebuild-search-index' notes that 'omit id and path' or 'omit name too', but this mutual-exclusivity constraint could be more explicit in the schema definition.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 69 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 44 | - | v1 |
Suspends, stops or resumes Sitecore search indexes. Omit name to act on every index in the matching state. To rebuild an index use indexing-rebuild-search-index; to read the current state use indexing-get-search-index.
Get Sitecore domains. Omit name to return every domain.
Error recovery guidance is sparse. Descriptions note 'Run an actual query with indexing-find-item' (for indexing-get-search-index) but do not provide structured error categorization (retryable, user-fixable, fatal). Error responses should tell the LLM what to do next.