Skip to main content
Glama
iTvX

Google Workspace MCP — Gmail edition

by iTvX

manage_sheets

Read, write, and manage Google Sheets data: create spreadsheets, append or update rows, clear ranges, and add, rename, duplicate, copy, or delete tabs.

Instructions

Read, write, and manage Google Sheets spreadsheets.

Input Schema

NameRequiredDescriptionDefault
emailYesAccount email address. On list operations, "all" runs it once for every configured account.
indexNoPosition among tabs (0-based). Appended at the end if omitted.
rangeNoA1 notation range (e.g. 'Sheet1!A1:D10', or just 'Sheet1' for a whole tab). On `append`, the target tab — defaults to 'Sheet1'; use 'MyTab' or 'MyTab!A:Z' to append to a specific one.
titleNoOn `create`, the spreadsheet title (defaults to 'Untitled spreadsheet'); on `renameSpreadsheet`, its new title. On `addSheet`, the name of the new TAB; on `renameSheet`, that tab's new title; on `duplicateSheet`, the name for the copy (defaults to 'Copy of <source>').
valuesNoComma-separated values for a single row (e.g. 'Alice,100,true')
sheetIdNoSheet ID of the tab, from `manage_sheets get`. On `duplicateSheet` and `copySheetTo`, the SOURCE tab to copy.
rowCountNoInitial row count (default 1000)
operationYesget: get spreadsheet metadata and sheet names | create: create a new spreadsheet (optionally with a title) | read: read cell values from a range; rendered rows are prefixed with their sheet row number (e.g. 'R3: …') since blank rows are otherwise invisible | append: append rows to a spreadsheet (rows land after the last row of existing data in the target range) | getValues: get values from a specific range (raw API); rendered rows are prefixed with their sheet row number (e.g. 'R3: …') | updateValues: write values to a specific range | clearValues: clear cell values from a range (structure preserved) | addSheet: add a new tab (sheet) to the spreadsheet | renameSheet: rename a tab (sheet) within a spreadsheet | deleteSheet: delete a tab (sheet) from the spreadsheet — irreversible | duplicateSheet: duplicate a tab within the same spreadsheet | renameSpreadsheet: rename the spreadsheet (the document title, not a tab) | copySheetTo: copy a tab from this spreadsheet into another spreadsheet
jsonValuesNoJSON 2D array of rows (e.g. '[["a","b"],["c","d"]]'). Use for bulk and multi-row writes.
columnCountNoInitial column count (default 26)
spreadsheetIdNoSpreadsheet ID. On `copySheetTo`, the SOURCE spreadsheet.
valueInputOptionNoHow input is interpreted: USER_ENTERED (default, parses formulas/types) or RAW
destinationSpreadsheetIdNoDestination spreadsheet ID

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv4.8.0

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it delivers almost nothing: no mention of destructive operations (deleteSheet, clearValues), no auth or permission expectations, no note on the email-scoped 'all' fan-out, no rate-limit or batch guidance. The single sentence repeats the tool's name rather than adding behavioral context.

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?

One front-loaded sentence with no filler, which is genuinely concise and never buries the point. It is thin for a 13-parameter tool, but that is a completeness issue rather than a structure or verbosity problem.

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?

The tool is complex (13 operations, 13 parameters, no annotations, no output schema) yet the description is a single generic line. The schema compensates heavily by documenting each operation and even the rendered return format, so it is not inadequate — just barely sufficient for a tool of this complexity.

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%, and the per-parameter and per-operation descriptions are unusually detailed (range semantics, jsonValues bulk writes, row-number prefixes). The description adds nothing on top of that, so the baseline 3 is appropriate — the schema does all the work.

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 set (read, write, manage) against a specific resource (Google Sheets spreadsheets), which distinguishes it from the Docs/Drive/Calendar siblings. However, it is generic — it doesn't hint at the 13-operation dispatch model that is the tool's actual core, so an agent learns the domain but not the shape.

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

Usage Guidelines2/5

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

No when-to-use guidance, no exclusions, and no mention of the natural alternative (manage_drive for file-level operations, manage_docs for text documents). The agent must infer all routing from the operation enum in the schema rather than from the description.

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