Skip to main content
Glama

delete_file

DestructiveIdempotent

DESTRUCTIVE — IRREVERSIBLE. Permanently delete a file from the user's Drive. Removes the file from S3 storage and the database. Storage quota is freed immediately. ALWAYS ask for explicit user confirmation before calling this tool.

delete_file

When to use

DESTRUCTIVE — IRREVERSIBLE. Permanently delete a file from the user's Drive. Removes the file from S3 storage and the database. Storage quota is freed immediately. ALWAYS ask for explicit user confirmation before calling this tool.

Parameters to validate before calling

  • file_token (string, required) — The file token (UUID) of the file to delete. Get via fetch_files.

Notes

  • DESTRUCTIVE — IRREVERSIBLE. Always confirm with the user before calling. Explain what will be lost.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
confirmYesMust be true. Set it ONLY after the user explicitly confirmed THIS deletion in this conversation, having been told what is lost: the file and every link pointing to it. Never assume, never carry a confirmation over from a previous item, never set it to satisfy the schema.
file_tokenYesThe file token (UUID) of the file to delete. Get via fetch_files.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / confirm
      Added value: +{
      +  "description": "Must be true. Set it ONLY after the user explicitly confirmed THIS deletion in this conversation, having been told what is lost: the file and every link pointing to it. Never assume, never carry a confirmation over from a previous item, never set it to satisfy the schema.",
      +  "type": "boolean"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "file_token"
      -]New value: +[
      +  "file_token",
      +  "confirm"
      +]
  2. Added

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, but the description adds substantial context beyond them: irreversibility ('IRREVERSIBLE'), exact blast radius ('Removes the file from S3 storage and the database'), immediate quota release, and the mandatory user-confirmation step. This is exactly the behavioral color an agent needs before invoking a destructive operation. No contradiction with annotations; the idempotentHint=true sits slightly oddly with 'Permanently delete' but is not explicitly contradicted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The identical 3-sentence warning block is repeated verbatim three times: once in the opening paragraph, once under '## When to use', and again (abbreviated) under '## Notes'. Only the opening paragraph contains original content; the markdown sections largely duplicate it and the schema. The critical warning is front-loaded, but the redundancy means not every sentence earns its place.

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 simple 2-param destructive tool with rich annotations and a fully documented schema, the description covers the essentials: what is deleted, where it is deleted from, quota consequences, and the confirmation requirement. Minor gaps exist — no output schema means return/error behavior is unstated, and error cases (e.g., file not found) are not mentioned — but nothing an agent needs to invoke it safely 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 coverage is 100% and the schema itself is exceptionally detailed — the confirm parameter's description alone covers the never-assume, never-carry-over rules. The description's parameter section only restates file_token ('The file token (UUID) of the file to delete. Get via fetch_files.'), which duplicates the schema. Baseline 3 applies because the schema carries the semantic burden and the description adds no new parameter-level meaning.

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 a file from the user's Drive.' The scope ('file from Drive') cleanly distinguishes it from the many delete_* siblings (delete_note, delete_ticket, delete_survey, etc.) without needing to open any schema. The first sentence is an unambiguous, high-signal statement of exactly what the tool does.

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?

Provides clear operational guidance: 'ALWAYS ask for explicit user confirmation before calling this tool' and 'Get via fetch_files' for the token. It also tells the agent to explain what will be lost. It does not explicitly name alternatives or exclusion conditions (e.g., when not to delete), but for a destructive tool the confirmation gate is the critical usage rule and it is stated prominently.

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