Skip to main content
Glama

Append rows

append_rows

Append rows after the last data row in a Google Sheets table, using a tab or range and a 2D array of values to add records or formulas.

Instructions

Append rows after the last row of data in a table (detected from the given range or tab).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
rangeYesTab name or table range, e.g. "Sales" or "Sales!A:F"
valuesYes2D array of rows. Strings starting with = are formulas.
accountNoGoogle account to use: an email or unique part of one (e.g. "acme.com"). Default: the account that can open the spreadsheet, else the default account.
spreadsheetYesGoogle Sheets link or spreadsheet ID. The name of a spreadsheet used with Sheets MCP before also works

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.3.1

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds the genuinely useful detail that the append point is auto-detected from the range/tab rather than an explicit row index, but omits whether the operation can extend the sheet beyond current data/grid bounds and what happens to existing formulas or formatting in adjacent rows.

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?

A single front-loaded sentence with the key behavioral qualifier (detection of the last row) in parentheses rather than buried. No waste, no filler.

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

Completeness3/5

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

For a mutation tool with no output schema, the description should ideally state what comes back (e.g. updated range/rows written) and whether permissions must be pre-granted. Annotations cover safety and the schema covers inputs, so the gap is moderate rather than severe.

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%: all four parameters carry descriptions covering range syntax, formula strings, account resolution and spreadsheet identifiers. The description adds nothing beyond the schema (its 'range or tab' phrasing merely echoes the range parameter), so the baseline 3 is appropriate.

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?

States a specific verb+resource (append rows) and pins down the insertion point ('after the last row of data in a table'), which meaningfully separates it from write_range or insert_rows_or_columns. It stops short of naming those siblings explicitly, so an agent still has to infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the usage context (append to a table detected from the given range or tab) but gives no explicit when-to-use/when-not guidance and never names write_range, insert_rows_or_columns, or fill_range as alternatives. Adequate but leaves the routing decision to inference.

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