Skip to main content
Glama

Replace an item's data

replace_item_data
DestructiveIdempotent

Replace an item's whole data, or the value at pointer. On a list with guard indexes, a replace that covers a guarded value would delete it (this token can't see it), so it's refused unless overwriteGuarded is set: use merge_item_data, patch_item_data or a narrower pointer instead. Pass the etag you read as ifMatch. 1 request (plus 1 to find the list's guard indexes, the first time).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNoThe new value
itemYesThe item: its id or alias value (a deleted item only by id)
listYesThe list: its id or pathName
ifMatchNoThe etag you read the item with. The write only happens if nobody has changed the item since; otherwise it fails with ITEM_PRECONDITION_FAILED and nothing is written. Pass it whenever the write is based on something you read
pointerNoA JSON pointer (RFC 6901) into the item's data, e.g. /address/city or /scores/0. Leave out for the whole data
returnDataNoReturn the item's data after the write (default: metadata only)
overwriteGuardedNoWrite even though it replaces values hidden by guard indexes, deleting them. Only if the user means to

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
etagYes
itemYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations declare destructive=true and idempotent=true, but the description adds real substance beyond them: that a guarded value would be silently deleted and the write refused unless overwriteGuarded is set, the ITEM_PRECONDITION_FAILED semantics tied to ifMatch, and the cost (1 request plus 1 to find guard indexes the first time). This is a mutation tool with a non-obvious failure mode, and the description surfaces it.

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?

Three sentences, front-loaded with the core action before the guard-index caveat and the etag guidance. Tight and information-dense, though the guard-index sentence is long enough to require a careful read.

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?

With an output schema present, return values need no explanation, and the description still covers the safety profile, the precondition mechanism, the guarded-value hazard, and request cost. Nothing an agent needs in order to invoke this 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 100%, so the baseline is 3, but the description adds usage semantics the schema alone does not: which etag to supply for ifMatch and the caution that overwriteGuarded should only be used 'if the user means to' delete guarded values.

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?

Specific verb ('replace') plus resource ('an item's whole data') and precise scope ('or the value at pointer'). It explicitly names the sibling alternatives merge_item_data and patch_item_data, so an agent can distinguish this tool without opening any 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?

States the exact refusal condition (a replace covering a guarded value) and routes the agent to alternatives ('use merge_item_data, patch_item_data or a narrower pointer instead'). It also gives the when-condition for ifMatch ('Pass the etag you read as ifMatch') and the trigger for overwriteGuarded.

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