Skip to main content
Glama

Merge into an item's data

merge_item_data
Destructive

Deep-merge a value into an item's data, or into the value at pointer: fields you don't mention are left alone, so this is the safe way to change some fields, including on lists with guard indexes. Arrays are concatenated, not replaced (use patch_item_data or replace_item_data at the array's pointer to replace one). Pass the etag you read as ifMatch. 1 request.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNoThe value to merge in
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)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
etagYes
itemYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already mark this as destructive, non-idempotent and non-read-only, but the description adds merge semantics the agent cannot infer: unmentioned fields are preserved, arrays are concatenated rather than replaced, and writes are conditional on the etag. The single 'safe way to change some fields' phrasing sits slightly in tension with destructiveHint=true, since mentioned fields are still overwritten, though this is not a true contradiction.

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 merge behavior and no filler; the trailing '1 request' is a useful cost signal. The middle sentences are dense and clause-heavy, which slightly hurts scannability, but every sentence carries information.

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?

An output schema exists, so return values need not be explained, and annotations carry the safety profile. Combined with the description's coverage of merge semantics, array behavior, alternatives and preconditioning, an agent has everything needed to call this correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so pointer, ifMatch, item and list are already fully documented in the schema with examples (e.g. RFC 6901, ITEM_PRECONDITION_FAILED, alias/id semantics). The description only adds the 'guard indexes' nuance for pointer, which is marginal beyond the structured data, so the baseline 3 is appropriate.

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 a specific verb and resource ('deep-merge a value into an item's data'), including the scoped variant (into the value at pointer). It explicitly distinguishes itself from the sibling tools patch_item_data and replace_item_data, so an agent can route between the three without opening schemas.

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?

Gives the selecting condition directly: 'fields you don't mention are left alone, so this is the safe way to change some fields.' It also names the alternative with its condition ('use patch_item_data or replace_item_data at the array's pointer to replace one'), covering the main ambiguous case (array handling).

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