Skip to main content
Glama
cmssy-io

@cmssy/mcp-server

Official
by cmssy-io

update_record

Update a CMS record by ID: merge field values or transition its lifecycle status while preserving unspecified fields.

Instructions

Update an existing record by id (from list_records). Pass data to merge field values (fields you don't pass are unchanged), and/or status to transition the record's lifecycle state. At least one of data/status is required. Only call AFTER you described the change and the user explicitly agreed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNoThe field values to change, keyed by the model's field keys. Merged into the record's current data - fields you don't pass are unchanged. A translatable field (localized: true on the model) takes a language map, e.g. { title: { pl: 'Łożysko' } }; the languages you don't pass are kept, so you can add one translation without resending the others.
statusNoNew status value to transition the record to (validated against the model's statusField transitions).
recordIdNoThe record's id (from list_records)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.73.1

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It discloses merge semantics (fields not passed are unchanged), status transition behavior, the requirement of at least one of data/status, and the user-consent precondition. This goes well beyond a bare 'update record' statement, though return values and side effects are not described.

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

Conciseness5/5

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

Three sentences with no fluff: the first names the action and id source, the second explains the two parameter paths and merge behavior, and the third states the usage gate. Each sentence earns its place and the key information is front-loaded.

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?

Despite no annotations or output schema, the description gives enough to select and invoke the tool correctly: id provenance, partial-update semantics, status transition, required argument constraint, and user-consent requirement. It doesn't mention return format or error behavior, but the invocation path is complete for an update operation with a rich input schema.

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 100%, so the baseline is 3. The description adds the cross-parameter constraint that at least one of data/status is required, which the schema does not encode (required parameters: 0). It also frames data as a merge operation and status as a lifecycle transition, complementing the schema without redundantly repeating it.

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?

The description states a specific action ('Update an existing record by id') and resource ('from list_records'), clearly distinguishing it from create_record, delete_record, and get_record. It immediately tells the agent what the tool operates on and where the id comes from.

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?

The description gives a clear explicit precondition: 'Only call AFTER you described the change and the user explicitly agreed.' It also clarifies that at least one of data/status is required. However, it does not explicitly mention alternatives like create_record for new records or get_record for reads, though 'existing record' implies the boundary.

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