The full catalogue of Quilium MCP server tools, grouped by domain, plus the wrapper and write-shape gotchas that produce most 422 errors.
The Quilium MCP server exposes the site as a set of tools; your client prefixes them with the name you gave the connector when you connected it. An AI agent drives the same operations a developer runs through the CLI. Tools are grouped below by domain; read-only tools are the get-* family. To put these in motion, see Drive the site with MCP tools.
Tool catalogue
Pages
| Tool |
Notes |
get-page-with-content |
Read a page and its content blocks. |
update-page |
FLAT root fields. metas and custom are JSON-stringified; no data: wrapper. |
delete-page |
Remove a page. |
publish-page |
Push a page live. |
add-page-to-navigation |
Creates hidden detail pages. |
get-navigations-with-pages |
Lightweight sitemap of every navigation and its pages. |
reorder-navigation |
Flat [{id, order, parent_id}], partial: send only the moved pages. |
create-navigation, update-navigation, delete-navigation |
Navigation CRUD. Structural: refused for content-only profiles. |
Content blocks
| Tool |
Notes |
get-content |
Read a content block. |
add-content-to-page |
Drop a block into a page section. |
update-content |
Wrapper is custom:. |
delete-content |
Remove a block. |
update-content-state |
Set draft or active. |
order-contents |
Reorder blocks within a section. |
Collection entries
| Tool |
Notes |
get-itemset-items |
List entries in a collection. |
get-itemset-item-by-id |
Read one entry. |
create-itemset-item |
Create an entry. |
update-itemset-item |
Wrapper is data:, not custom:. One locale per write: data alone, OR one translations.<locale> alone. |
delete-itemset-item |
Remove an entry. |
Media
| Tool |
Notes |
get-media, get-media-list |
Read media. |
get-media-folders |
Read the folder tree. |
upload-media, request-upload-url |
Upload, or get a signed upload URL. |
update-media, replace-media, delete-media |
Edit, swap, remove. |
create-media-folder, update-media-folder, move-media-folder, delete-media-folder |
Folder operations. |
move-media-to-folder |
Move media between folders. |
Types and settings
| Tool |
Notes |
get-site-settings |
Param type: page-types, item-set-types, global-fields, content-types, miscellaneous. |
get-site-context |
Read the site's resolved context. |
get-me |
The authenticated account, and your profile on the site when website is passed. |
update-setting |
Whole-file write. Destructive — replaces the entire settings file. |
update-settings-partial |
Canonical. target = the top-level key of the YAML being written. |
Translations and dictionary
| Tool |
Notes |
get-dictionary |
Read static UI strings. |
update-dictionary-translations |
Write static UI _() strings. |
Routes
| Tool |
Notes |
get-routes |
Read routes. |
create-route, update-route, delete-route |
Route CRUD. |
Global fields
| Tool |
Notes |
get-global-fields-data |
Read global fields values. |
update-global-fields-data |
data and translations are JSON-stringified. |
Skills
| Tool |
Notes |
get-skills |
The 3-level skill taxonomy. |
get-skill |
Read one skill by slug. |
get-documentation |
Deprecated — prefer get-skills and get-skill. |
Feedback, images, AI
| Tool |
Notes |
submit-feedback |
Send feedback. |
generate-image, edit-image, get-image-result |
AI image generation and retrieval. |
update-ai-instructions |
Write the site's agent instructions. |
Key gotchas
The write shapes below are not interchangeable. A wrong wrapper, or a bare scalar where an array is expected, returns a 422.
| Rule |
Detail |
| Wrapper differs per object |
update-content writes under custom:; update-itemset-item writes under data:. Mixing them is the most common error. |
| References have two shapes |
Media fields (image, file) write as [{id: '<uuid>'}]. Every id reference — items, smartselect with source: items, page — writes as a flat ['<uuid>']. Never a bare id. See custom fields. |
update-settings-partial target |
target MUST equal the top-level key of the yamlContent being sent. A mismatch fails silently with no warning. |
replace is whole-block |
A replace operation sends the WHOLE block. There is no merge with existing values. |
| One locale per translation write |
update-itemset-item and translation writes accept at most one locale per call. |
| 422 diagnosis |
A 422 is usually the wrong wrapper, or sending translations alone on a create. |
Two settings tools, one safe choice. update-settings-partial is canonical: it targets a single top-level key. update-setting rewrites the whole settings file and is destructive — reach for it only when you intend to replace everything.
get-documentation is deprecated. It is treated as nonexistent. Use
get-skills for the taxonomy and
get-skill for one guide — they return live, modular content. See the
MCP skill library.
Related
Last updated September 6, 2026.