Skip to main content
Glama

Remove Sheet Field

sheet.remove_attribute
DestructiveIdempotent

Remove an attribute from a sheet. The server may reject removing the primary Title column (PRIMARY_TITLE_PROTECTED). Removed attributes go to a deleted-attributes pool and can be restored if needed; this is therefore mutating_reversible. The files of a File List field are the exception: they are deleted for good. Removing a File List field that holds files is refused with FILE_LIST_FILES_LOST, naming the field and how many rows hold files, and nothing is removed; tell the user and call again with confirmFileLoss: true only once they accept. In a chat the user accepts on a card instead: the call waits for it.

Input Schema

NameRequiredDescriptionDefault
sheetIdYes
attributeIdYes
confirmFileLossNoRemove a File List field whose files are deleted for good. Only once the user accepts it.

Output Schema

NameRequiredDescriptionDefault
okYesThe change was applied
nameYesIts name
attributeIdYesThe removed field

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / confirmFileLoss
      Added value: +{
      +  "description": "Remove a File List field whose files are deleted for good. Only once the user accepts it.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / attributeId
      Added value: +{
      +  "description": "The removed field",
      +  "type": "number"
      +}
    • addedOutput schema / properties / name
      Added value: +{
      +  "description": "Its name",
      +  "type": "string"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "ok"
      -]New value: +[
      +  "ok",
      +  "attributeId",
      +  "name"
      +]
  2. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Annotations only flag destructiveHint=true; the description goes well beyond by disclosing the reversibility model (deleted-attributes pool), the exception where data is permanently lost (File List files), and the two named rejection paths PRIMARY_TITLE_PROTECTED and FILE_LIST_FILES_LOST with their required follow-up. It also explains the chat-card confirmation handshake, which no annotation conveys.

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?

The purpose is front-loaded in the first sentence and each subsequent sentence adds distinct behavioral information. The phrase 'this is therefore mutating_reversible' is slightly jargon-like, but overall it is dense with no padding.

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 mutation with only partial schema coverage, the description covers everything an agent needs to call it safely: rejection conditions, the confirmation gate, the irreversibility exception, and the chat-flow variant. Return values are covered by the output schema, so nothing important 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?

Two of three parameters (sheetId, attributeId) have no schema descriptions, but the description covers the one non-obvious parameter, confirmFileLoss, in detail: it is only valid after FILE_LIST_FILES_LOST and only once the user accepts. The remaining IDs are self-describing, so the gap is minor.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence states a specific verb and resource (remove an attribute from a sheet), and the rest of the description clarifies how it differs from a plain delete by noting attributes land in a deleted-attributes pool. It never explicitly names the sibling it complements (sheet.add_attribute, sheet.update_attribute, sheet.restore_attribute), so the agent must infer the routing from the reversibility note.

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?

The description gives a clear conditional workflow: call with confirmFileLoss consumed only after the user accepts, and in chat contexts wait on a card instead. It does not state when to prefer update_attribute over removal or when restoration is the better path, but the when-to-use guidance for the dangerous case is concrete.

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