Skip to main content
Glama

Update a CMS item

update_item

Changes one item: values (only the ones you send; null or "" clears one), newSlug (renames the file and its URL), draft (false publishes it with the site), publishedAt, order. Checked against the fields like create_items; a wrong type is refused with the field and why. With locale (a language from list_locales): writes that language's translation of the item instead (content//..md): values for translatable fields only (shared fields are refused: they are the same in every language), newSlug as the item's slug in that language, draft as that language's publish state (a new translation is a draft unless draft is false); publishedAt and order can't take a locale. Translate only when the user asks. Writes go to the branch the workspace has open as unsaved changes the user reviews and saves in Xodia, the same as the Content tab. Works on every plan within its collection and item limits (Free: 2 collections and 100 items a site); turning a folder into a Xodia collection needs a paid plan.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "collection": "<collection>",
      "slug": "<slug>",
      "projectId": "<projectId>"
    },
    "name": "update_item"
  }
}

Input Schema

NameRequiredDescriptionDefault
slugYesThe item to change
draftNofalse publishes it with the site. With locale: this language's publish state
orderNo
branchNoOptional branch; default the branch the workspace has open
localeNoOptional: a language code from list_locales (not the default) to read or write the item in that language; leave out for the default language
valuesNoChanged values only; null or "" clears one. With locale: translatable fields only
newSlugNoRenames the item (its URL changes: add a redirect when it was published). With locale: the item's slug in that language only
projectIdYesProject id from list_projects
collectionYesThe collection id (its folder under content/), from list_collections
publishedAtNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only supply readOnly/destructive/openWorld hints; the description adds substantial behavior beyond them: null or "" clears a field, newSlug renames the file and changes the URL (with a redirect caveat), draft=false publishes, and writes are staged as unsaved branch changes reviewed in Xodia. It also discloses validation behavior (wrong types are refused with the field and reason) and plan limits (Free: 2 collections / 100 items; paid plan to convert a folder into a collection).

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

Conciseness3/5

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

The field list is front-loaded, but the body is one dense run-on stitched together with semicolons and nested parentheses, making the locale rules hard to parse on first read. Content is largely justified, but a bulleted or split structure would preserve the same information with less parsing cost.

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

Completeness4/5

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

For a 10-parameter mutation with no output schema and only hint-level annotations, the description covers the risky edges: clearing values, URL-changing renames, publishing, branch staging, locale branching, and plan limits. It stops short of saying what the tool returns (updated item? branch diff?) or what happens on slug collision, which an agent would want before calling.

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 80%, so the baseline is 3, but the description adds genuine meaning the schema lacks: locale-specific semantics for each parameter (values translatable-only with shared fields refused, newSlug as the per-language slug, draft as that language's publish state, and publishedAt/order being locale-incompatible). The two undocumented schema params (order, publishedAt) are only touched via that exclusion and their value shape is never explained.

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?

Opens with a specific verb and resource ("Changes one item") and immediately enumerates the mutable facets: values, newSlug, draft, publishedAt, order. The locale paragraph further scopes it to writing a translation file at content/<collection>/<slug>.<code>.md, which distinguishes it from create_items, get_item, and update_collection without needing their schemas.

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

Usage Guidelines4/5

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

Gives a real conditional rule for the trickiest mode ("With locale ... writes that language's translation ... Translate only when the user asks") and explains that writes land as unsaved changes on the open branch for the user to review in Xodia. It does not explicitly route to siblings (e.g. use create_items to add, get_item to read, update_collection for schema changes), so the when-not guidance is inferred rather than stated.

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