Skip to main content
Glama

Resize Sheet Dimensions

resize_sheet_dimensions
Destructive

Resize rows and columns in Google Sheets, auto-fit content, freeze panes, hide or unhide, and insert or delete rows and columns to control spreadsheet layout.

Instructions

Manages sheet-level dimension properties: resize columns/rows, auto-resize to fit content, freeze rows/columns, hide/unhide rows/columns, and insert/delete rows/columns.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hide_rowsNoList of 1-based row numbers to hide. Example: [3, 4].
row_sizesNoDict mapping 1-based row numbers to pixel heights. Example: {"1": 40, "3": 60}. Can be a JSON string or Python dict.
sheet_nameNoSheet name to target. Defaults to the first sheet if not provided.
delete_rowsNoList of 1-based row numbers to delete. Example: [5, 6]. Best for non-contiguous rows.
insert_rowsNoNumber of rows to insert.
unhide_rowsNoList of 1-based row numbers to unhide. Example: [3, 4].
column_sizesNoDict mapping column letters to pixel widths. Example: {"A": 200, "C": 300}. Can be a JSON string or Python dict.
hide_columnsNoList of column letters to hide. Example: ["C", "D"].
delete_columnsNoList of column letters to delete. Example: ["E", "F"].
insert_columnsNoNumber of columns to insert.
insert_rows_atNo1-based row number to insert before. Appends to the end of the sheet if omitted.
spreadsheet_idYesThe ID of the spreadsheet. Required.
unhide_columnsNoList of column letters to unhide. Example: ["C", "D"].
auto_resize_rowsNoList of 1-based row numbers to auto-resize to fit content. Example: [1, 2].
delete_row_rangeNoContiguous range of rows to delete, as "start:end" (1-based, inclusive). Example: "5:10" deletes rows 5 through 10. More efficient than delete_rows for large contiguous ranges.
frozen_row_countNoNumber of rows to freeze from the top. Use 0 to unfreeze all rows.
insert_columns_atNoColumn letter to insert before (e.g. "C"). Appends to the end if omitted.
user_google_emailYesThe user's Google email address. Required.
auto_resize_columnsNoList of column letters to auto-resize to fit content. Example: ["A", "B"].
frozen_column_countNoNumber of columns to freeze from the left. Use 0 to unfreeze all columns.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Install Server

TDQS

A4.2/5.0
Behavior4/5

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

The description goes beyond the destructiveHint annotation by spelling out the actual structural modifications: deleting/inserting rows and columns, hiding/unhiding, and freezing. This makes the mutating nature concrete for the agent. It stops short of noting consequences like irreversible data loss from deletion, but the annotations already flag destructiveness.

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?

The description is a single, front-loaded sentence that states the tool's scope and then lists its operation groups in a compact, scannable list. There is no filler or redundant explanation.

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?

Given the large parameter surface (20 params), the description plus the fully documented schema and existing output schema provide enough for an agent to invoke the tool correctly. It could add a note about combining multiple operations in one call, but that is reasonably implied by the optional parameters.

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 input schema already documents every parameter with types, defaults, and examples. The tool description only summarizes operation categories and does not add parameter-level semantics, which is acceptable given the schema's richness.

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?

The description clearly specifies the tool's domain: sheet-level dimension properties, and enumerates the concrete operations (resize, auto-resize, freeze, hide/unhide, insert/delete rows/columns). This distinguishes it from sibling sheet tools like modify_sheet_values or format_sheet_range, which handle content and formatting rather than dimensional structure.

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 provides clear context for when to use the tool: whenever an agent needs to alter row/column dimensions, visibility, or structure. It does not explicitly name alternatives or exclusion conditions, but the operation list is specific enough to route selection correctly among the large sibling set.

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

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/WorldCentralKitchen/google_workspace_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server