Skip to main content
Glama

Restore an item

restore_item
Destructive

Put an item back as it was at an event (item-created, item-updated, item-restored or item-deleted; find them with list_events and restorable: true), as a new version: its data, description, tags, readonly and activated. A deleted item is re-created with its original id (give it by id). Needs the token's restore permission; checked against the list's current schema and its write rules. Restoring twice makes two versions; restoring to the current version fails with ITEM_UNABLE_TO_RESTORE. 1 request.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemYesThe item: its id or alias value (a deleted item only by id)
listYesThe list: its id or pathName
eventIdYesThe event to restore to
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
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.6/5.0
Behavior5/5

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

Adds rich behavior beyond the annotations: permission requirement, schema/write-rule validation, the fact that restoring twice yields two versions, and the specific failure ITEM_UNABLE_TO_RESTORE when restoring to the current version. This is consistent with idempotentHint=false and destructiveHint=true, sharpening rather than repeating them.

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?

Dense and front-loaded with the core action first, then prerequisites, failure modes, and request cost. The opening sentence's long parenthetical is slightly heavy but every clause carries operational value.

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?

For a destructive, non-idempotent mutation with an output schema, the description covers what is restored (data, description, tags, readonly, activated), permission/auth needs, error codes, and the precondition behavior implied by ifMatch. Nothing an agent needs to invoke 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 100% so baseline is 3, but the description adds real meaning: a deleted item must be supplied by original id and is re-created with it, which goes beyond the schema's 'its id or alias value'. It also ties eventId to events discoverable via list_events.

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 ('put back as it was at an event') and resource, and precisely enumerates the four event types it restores to ('item-created, item-updated, item-restored or item-deleted'). An agent can distinguish this from update_item or patch_item_data purely from the description.

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 explicit context: events must be found first via list_events with restorable: true, and the token needs restore permission. It does not explicitly contrast against sibling alternatives like patch_item_data or update_item for non-restore edits, so it falls just short of a full when/when-not statement.

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