Skip to main content
Glama

empty_trash

Destructive

Permanently deletes one item or all items from an open vault's trash, after the user approves outside the chat; this cannot be undone, so use trash for reversible removal.

Instructions

Delete for good from an open vault's trash: one item (its id from trash_list), or everything when item is empty. This is the only tool that deletes for good and it can't be undone; to remove something undoably use trash. The user approves it outside the chat (a box on their Mac or the app's own question), never with a code from you; if that can't be asked, or the user switched it off for AI apps, it sends them to the control center. Returns how many items were deleted, or that nothing was changed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemNoThe id of one item, from trash_list. Leave empty to empty the whole trash.
vaultYesThe vault's name, as listed by the vaults tool, for example 'Taxes'.
purposeYesA few words on why, shown to the user or kept in the vault's change log.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.1.4
    • addedInput schema / properties / item / description
      Added value: +"The id of one item, from trash_list. Leave empty to empty the whole trash."
    • addedInput schema / properties / purpose / description
      Added value: +"A few words on why, shown to the user or kept in the vault's change log."
    • addedInput schema / properties / vault / description
      Added value: +"The vault's name, as listed by the vaults tool, for example 'Taxes'."
  2. First observedv0.1.3

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true, but the description adds substantial non-obvious behavior: the action is irreversible, one-item vs whole-trash scope, that approval occurs outside the chat via a Mac box or app prompt, that it must never be approved with a code, and that it redirects to the control center when approval is unavailable or disabled. It also discloses the return behavior.

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-loads the core action and the destructiveness warning, then layers approval mechanics. It is somewhat long and could be tightened, but nearly every sentence carries decision-relevant 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, yet the description still summarizes the return (count deleted or nothing changed), and it covers the approval/permission model that an agent needs to call this destructive tool correctly. Nothing material is missing.

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 the baseline is 3. The description restates that item is an id from trash_list and that empty empties everything, which mirrors the schema rather than adding new semantics such as formats or edge cases.

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 (permanently delete from an open vault's trash) and distinguishes itself from its closest sibling, trash, as the only irreversible delete tool. An agent can differentiate it from trash and trash_list 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?

Explicitly gives when-to-use vs when-not: use this for permanent deletion, use trash for undoable removal. It also documents the approval flow, stating the user approves outside the chat and never with a code from the agent, with a defined fallback to the control center. This is unusually complete routing guidance.

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