Skip to main content
Glama

Update page

update_page
Destructive

Update a page's metadata: rename its slug, change its title, toggle reorder (sort_order), or merge into its metadata. For a page's search title, description, share image or noindex, use update_seo with page_slug. At least one field must be passed. The page tree itself is NOT touched — use insert_nodes / patch_nodes for tree edits. To change the nav, edit the nav-link nodes directly (insert_nodes / patch_nodes / remove_nodes).

Renames: the home page ('/') cannot be renamed (it'd break routing). new_slug must satisfy /^/[a-z0-9/-]*$/, not collide with any existing page, and not shadow a reserved Sitelas route (edit). By default, every node whose data.href / data.url equals the old slug is rewritten to the new slug in the same draft write — so internal links stay valid after the rename. The response reports the count and the rewritten node ids. Pass rewrite_links: false to skip the auto-rewrite (only useful when the caller intends to surgically patch the hrefs themselves). Sub-pages move with the parent by default — pass cascade: false to leave them behind — and every moved URL 308-redirects from its old path once published, so existing links and search results survive. Reach for this whenever a page's slug no longer matches what the page became: adapting a template to a different line of work renames the visible labels but leaves the paths saying the old thing. Writes a new draft version; call publish to push live.

Input Schema

NameRequiredDescriptionDefault
slugYesCurrent slug of the page to update (must exist). Use '/' for the home page.
titleNo
cascadeNoOn rename, also move sub-pages — pages whose slug starts with `${slug}/` — onto the new prefix, at any nesting depth (`/work/a/b` under a `/work` → `/studio` rename becomes `/studio/a/b`). Default true, because the page tree IS the slug prefix: moving a parent without its children leaves them under a path that no longer exists. Set false only when you intend to re-home the children yourself. Each moved page gets its own old-URL redirect and inbound-link rewrite.
site_idYes
metadataNoMerged into the page's stored metadata, key by key; `null` removes a key. For the page's search title, description, share image or noindex use `update_seo` with `page_slug` instead. `renamed_from` (the old URLs that redirect here) is kept by the platform and cannot be set or removed.
new_slugNoRename the page to this slug. Must match /^\/[a-z0-9/-]*$/ and not collide with an existing page or reserved route. Internal links pointing at the old slug ARE rewritten automatically (see `rewrite_links`, default true), and sub-pages move with the parent (see `cascade`, default true), all in the same atomic write — so renaming is safe and needs no patch_nodes follow-up. The old URL keeps working: it 308-redirects to the new one once published. The response reports how many links were rewritten and which sub-pages moved.
sort_orderNoRe-order the page in the site's page list and sitemap output. Lower numbers come first; home (`/`) is conventionally 0. This does NOT change the site's menu — nav links are nodes placed in the header.
rewrite_linksNoOn rename, automatically rewrite every node's `data.href` / `data.url` that equaled the old slug to the new slug. Default true — keeps internal links working after the rename. Set false to leave inbound hrefs untouched (the response still reports the count, so the caller can rewrite them manually with patch_nodes).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare this destructive, non-idempotent, and openWorld=false, but the description adds substantial context beyond them: it explains the auto-rewrite of internal links (and that the response reports the count/node ids), cascade behavior for sub-pages, 308 redirects on publish, the reserved-route and collision guards, and that it writes a new draft version requiring publish to go live. This is unusually rich behavioral disclosure for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose and alternatives before the detailed rename semantics. It is long but nearly every sentence carries actionable constraint or behavioral info; the only cost is density, which slightly favors an agent reading carefully over skimming.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 params, a nested metadata object, and no output schema, the description is complete: it covers every meaningful parameter behavior, the rename edge cases, and what the response reports (rewritten link count, moved sub-pages). Nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75% and the schema itself describes cascade, rewrite_links, new_slug, sort_order, and metadata thoroughly. The description reinforces these with additional meaning, especially the hard-to-infer constraint that the home page ('/') cannot be renamed and the reserved-route restriction. That extra rule beyond the schema earns a 4 rather than a baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the specific verb (update) and resource (a page's metadata), enumerates the editable fields (slug, title, sort_order, metadata), and draws explicit boundaries against update_seo, insert_nodes/patch_nodes, and nav-link node edits. An agent can distinguish it from all relevant siblings without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent: use update_seo for search title/description/share image/noindex, insert_nodes/patch_nodes for tree edits, edit nav-link nodes for nav changes. It also names the condition under which this tool is the right choice ('whenever a page's slug no longer matches what the page became') and the precondition (at least one field must be passed).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources