Skip to main content
Glama
hermoso-ai

Hermoso

Official

Read a Google Sheet range

read_sheet
Read-only

Retrieve cell values from a Google Sheet by providing its spreadsheet ID or pasting its URL. Returns a 2-D array of values for use in your workflows.

Instructions

Read cells from a Google Sheet Hermoso can reach — one it created, or one the user handed over with the Google file picker in the app (that is how an EXISTING spreadsheet becomes readable; find its id with list_drive_files). Pass the spreadsheetId (from create_sheet) OR paste a Google Sheets URL as sheetUrl. If Google answers that the file was not found, the user has not picked it yet — ask them to pick it in the app rather than retrying. Returns a 2-D array of values.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
rangeNoA1 range, e.g. "A1:D50" (default A1:Z1000)
sheetUrlNoa Google Sheets URL to read — the spreadsheet id is extracted from it
spreadsheetIdNothe spreadsheet id (from create_sheet)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.161

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations, the description adds meaningful behavioral context: access is limited to sheets Hermoso owns or the user explicitly picked, and a 'file not found' response is diagnosed as a permission/picker issue rather than a retryable error. This tells the agent what actually happens in a key failure scenario. No contradiction with the readOnlyHint/openWorldHint/destructiveHint annotations.

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?

Every sentence serves a purpose: access model, parameter guidance, error handling, and return type. The description is dense but not bloated, with no filler or repetition of the title.

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 read-only tool with no output schema, the description covers enough to call it correctly: how to identify the sheet, how to pass it, what happens on failure, and what the response looks like. Combined with the complete input schema, nothing essential 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?

Schema coverage is 100%, so the schema already documents each parameter. The description adds value by clarifying the relationship between spreadsheetId and sheetUrl (pass one OR the other) and by reinforcing where each identifier comes from. This goes beyond the schema's individual parameter descriptions, though it does not explain behaviors when both are supplied.

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 names a specific operation (read cells), a specific resource (a Google Sheet), and a precise scope (sheets Hermoso created or the user handed over via the file picker). This clearly differentiates it from sheet-writing siblings like update_sheet, append_to_sheet, and clear_sheet_range, and the return shape is even stated.

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?

It gives concrete invocation guidance: use spreadsheetId from create_sheet or a Google Sheets URL as sheetUrl, and explains how existing spreadsheets become readable, including finding the id via list_drive_files. It also provides an explicit error-handling rule (do not retry; ask the user to pick the file). It does not explicitly name write-tool alternatives or state when not to use this tool, but the context is otherwise clear.

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

Deploy Server

Other Tools