Skip to main content
Glama

spreadsheet_file_delete

DestructiveIdempotent

Soft-delete a spreadsheet file: stamps deleted_at on the row so it drops out of the library and folder listings, while the row and its R2 object both survive untouched — there is no purge or restore lane yet, so this cannot be reversed through any current door. Requires the file id; an empty id is refused before anything is touched. NEXT: spreadsheet_file_read to confirm deleted_at is now set — the generic list tool still includes soft-deleted rows.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "id": "<id>"
    },
    "name": "spreadsheet_file_delete"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesThe spreadsheet_file id (spreadsheet_file_list shows them).
tagsNo
titleNo
r2_keyNo
sourceNo
ai_promptNo
file_sizeNo
folder_idNo
row_countNo
deleted_atNo
sheet_countNo
sheet_namesNo
column_countNo
analysis_summaryNo
last_analyzed_atNo
original_filenameNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the bar is lower, yet the description adds substantial non-obvious behavior: the underlying row and its R2 object survive untouched, the change is irreversible through any current interface, and an empty id is rejected before any write occurs. That last point is a pre-flight validation guarantee an agent cannot infer from annotations or schema, and the soft-vs-destructive nuance materially changes how an agent should present the action to a user.

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 action, then mechanism, then irreversibility, then the confirmation step — a sensible information order. Some phrasing is ornamental ('through any current door', 'survive untouched') and could be tightened, but no sentence is filler; each carries a behavioral fact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 16-parameter mutation with no output schema, the description supplies the safety profile, irreversibility, validation behavior, and a verification path. The remaining gap is the return payload — with no output schema, the agent has no idea what a successful delete responds with, and the description doesn't say. That is the one thing an agent might still need before calling.

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 only 6% — just the `id` property is documented — so the description must carry the load. It does cover the one required parameter well, including validation behavior on empty input, which adds value beyond the schema. However, the other fifteen properties (tags, r2_key, deleted_at, folder_id, etc.) are entirely undocumented anywhere; the description does not say they are ignored or irrelevant for this operation, leaving an agent to guess whether passing them matters.

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?

Opens with a specific verb+resource ('Soft-delete a spreadsheet file') and immediately qualifies the mechanism ('stamps deleted_at … drops out of the library and folder listings'). The 'soft' qualifier cleanly separates it from a hypothetical hard delete and from sibling spreadsheet_file_update, and the mechanism is concrete enough that an agent knows exactly what state change occurs.

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?

It states that no purge or restore lane exists, which tells the agent this is the only removal path available, and it names the follow-up (spreadsheet_file_read) plus a non-obvious caveat that the generic list tool still returns soft-deleted rows. That caveat prevents a real misdiagnosis. It stops short of an explicit 'use X instead of Y' routing statement, but with no competing delete sibling there is little to route.

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