MCP Capabilities
Tools 2
sulu_ping
Description: Verify MCP connection and authentication. Returns server info, the authenticated user, and available webspaces.
Handler: Sulu\Mcp\UserInterface\Mcp\Tool\PingTool::ping()
Parameters
| Name | Type | Required | Default | Description |
|---|
Full Schema
array:2 [ "type" => "object" "properties" => {#3716} ] |
sulu_get_context
Description: Aggregates all CMS context into a single response. Returns templates (grouped by content type: `page`, `article`, `snippet`), `globalBlocks` (the catalogue of centrally-defined block types, NOT every block type — inline ones live on their template), webspaces, and a `fieldTypes` legend mapping each field type to one value example/hint (look up a field's `type` in the legend to learn how to fill it). A template's block fields either inline their types directly or reference `globalBlocks` via `globalBlock: <name>`. Call this once before creating or editing content to get full CMS awareness — including which article templates are available and which URL routing form each template expects (look at the field with type `route` or `page_tree_route`). Also returns `seoFields` and `excerptFields`: the project's configured SEO and excerpt field lists (with name, type, label, and required) to use when passing `seo` or `excerpt` data to create/update tools. Also returns `tools`: the full tool catalogue with per-tool availability and, for unavailable ones, the reason and the permissions required. IMPORTANT: pass the "locale" you intend to work in. Sulu roles can be restricted to specific locales, so a tool may be available in one locale and denied in another; without "locale" the catalogue is reported without any locale restriction and may list tools that will be denied when you call them.
Handler: Sulu\Mcp\UserInterface\Mcp\Tool\GetContextTool::getContext()
Parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
locale |
null|string | No |
|
The locale you intend to work in (e.g. "en"). Sulu roles can be locale-restricted, so availability is locale-dependent. Omit only if you do not yet know the locale. |
Full Schema
array:2 [ "type" => "object" "properties" => array:1 [ "locale" => array:3 [ "type" => array:2 [ 0 => "null" 1 => "string" ] "default" => null "description" => "The locale you intend to work in (e.g. "en"). Sulu roles can be locale-restricted, so availability is locale-dependent. Omit only if you do not yet know the locale." ] ] ] |
Prompts 0
No prompts were registered.
Resources 3
sulu_templates
| URI | sulu://templates |
|---|---|
| Handler | Sulu\Mcp\UserInterface\Mcp\Resource\TemplatesResource::getTemplates() |
| Description | Available Sulu templates grouped by content type. Top-level keys are `page`, `article`, and `snippet` (any type with no templates installed is omitted). Each entry maps a template key to its field schema. Use the template key when creating or updating content of that type. Block fields list their allowed types with fields inlined, except types referencing a global block, which carry `globalBlock: <name>`; their field definitions are listed once in sulu://global_blocks. |
| MIME Type | application/json |
sulu_global_blocks
| URI | sulu://global_blocks |
|---|---|
| Handler | Sulu\Mcp\UserInterface\Mcp\Resource\GlobalBlocksResource::getGlobalBlocks() |
| Description | Catalogue of the project's global block types — block types defined once centrally and reusable across templates — each listed once with its field definitions. This resource does NOT list every block type in the project: block types defined inline in a template are listed with that template in sulu://templates instead, and are usually the majority. A template block type referencing a global block carries a `globalBlock: <name>` reference pointing at an entry here. |
| MIME Type | application/json |
sulu_webspaces
| URI | sulu://webspaces |
|---|---|
| Handler | Sulu\Mcp\UserInterface\Mcp\Resource\WebspacesResource::getWebspaces() |
| Description | Available Sulu webspaces with their locales and primary URLs. |
| MIME Type | application/json |
Resource Templates 0
No resource templates were registered.