Skip to main content
Glama

Restore deleted items

restore_items
Idempotent

Bring back deleted items of one kind from the 30-day recycle bin.

When to use:

  • Undoing delete_items.

When NOT to use:

  • Items deleted more than 30 days ago: they are gone and report not found.

What to know:

  • Whatever used a restored item (playlists, screens) uses it again; a restored screen re-pairs by itself if its device still holds its pairing. Each id reports ok or not found. Needs the kind's delete permission.

Parameters:

  • kind: the list_items kind name, so a recycle_bin row of kind playlist is restored with kind playlists.

  • ids: up to 50, from list_items kind recycle_bin. An id that is not in the bin reports "not in the recycle bin"; one deleted over 30 days ago reports not found.

  • Example: {kind:"playlists", ids:["pl_8f2c"]}.

Input Schema

NameRequiredDescriptionDefault
idsYesDeleted item ids.
kindYesKind of the ids.

Output Schema

NameRequiredDescriptionDefault
kindNoThe kind that was acted on.
failedNoHow many failed; the rest still ran.
resultsNoOne row per id or item, in the order given.
succeededNoHow many ids or items succeeded.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / ids / description
      Previous value: -"Ids to restore, 1 to 50, from list_items kind recycle_bin."New value: +"Deleted item ids."
    • changedInput schema / properties / kind / description
      Previous value: -"The kind of every id."New value: +"Kind of the ids."
  2. Added

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the annotations (readOnly=false, destructive=false, idempotent=true), the description discloses that restored items become usable again by dependent objects, that screens self-re-pair when the device still holds pairing, per-id ok/not-found reporting, and the required delete permission. That is substantial behavioral context the agent could not infer from the hints alone.

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?

Front-loaded one-line purpose followed by labeled sections (when to use, when not to use, what to know, parameters) and a concrete example. Every line carries distinct information with no restatement of the schema.

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 two-parameter mutation with an output schema present, nothing essential is missing: the permission prerequisite, the 30-day failure mode, the id cap, and the enum naming convention are all covered. Return values needn't be explained because an output schema exists.

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 real meaning: kind must use the list_items plural kind name (a recycle_bin row of kind playlist is restored with kind playlists), ids come from list_items kind recycle_bin, and the two distinct per-id error cases are spelled out. It stops short of explaining every enum value, so a 4 rather than 5.

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?

"Bring back deleted items of one kind from the 30-day recycle bin" states a specific verb (bring back/restore) plus the resource and its scope (one kind, 30-day bin). It is immediately distinguishable from delete_items, list_items, and get_items.

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?

Explicit "When to use" names undoing delete_items, and "When NOT to use" names the 30-day expiry case with the resulting not-found behavior. The agent has a clear routing rule plus an exclusion, and the sibling delete_items is named directly.

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