Skip to main content
Glama
taylorwilsdon

Google Workspace MCP Server - Control Gmail, Calendar, Docs, Sheets, Slides, Chat, Forms & Drive

Resize Sheet Dimensions

resize_sheet_dimensions
Destructive

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

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
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the description is not required to repeat these. It adds context by specifying the types of destructive operations (insert/delete rows/columns), but does not disclose additional behavioral traits such as potential data shifts or permission requirements.

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 description is a single sentence with a colon-separated list, front-loading the key resource ('sheet-level dimension properties'). It is efficient and covers all major operations without redundancy, though the list format is a bit transactional.

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 tool with 20 parameters, a high-level summary is appropriate. The schema and annotations provide detailed parameter definitions and safety profile. An output schema exists, so return values need not be explained. The description is complete enough for the agent to understand the tool's purpose and choose it correctly.

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 each parameter is already documented with examples and defaults. The description itself adds no parameter-level detail, but the schema fully compensates. This meets the baseline of 3.

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 description clearly states it manages sheet-level dimension properties and enumerates specific operations (resize, auto-resize, freeze, hide/unhide, insert/delete). While 'manages' is not as sharp as a direct verb like 'resize,' the list of actions removes ambiguity and distinguishes it from sibling tools that handle values or formatting.

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 tool is for dimension-related changes but does not explicitly state when to use it vs alternatives like modify_sheet_values or format_sheet_range. No exclusions or alternative tool names are provided, though the scope is reasonably clear from the listed operations.

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

Install Server

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/taylorwilsdon/google_workspace_mcp'

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