Skip to main content
Glama

read_range

Reads values, formulas, and number formats from a specified range or entire used range in a live workbook, returning a 2D grid with its address and dimensions.

Instructions

Read values, formulas and number formats from a range of the live workbook. Returns a 2D array (rows x columns) plus the range address and dimensions. Use "usedRange": true to read the whole used range of the sheet.

Input Schema

NameRequiredDescriptionDefault
rangeNoA1 range address, e.g. "A1:C10" or "MyTable". Omit when usedRange is true.
sheetNameNoWorksheet name. Defaults to the active worksheet.
usedRangeNoRead the entire used range of the worksheet instead of a specific address.
workbookIdNoTarget workbook ID from list_workbooks. Optional when only one workbook is connected.
includeFormulasNoInclude the formulas grid (default true).
includeNumberFormatNoInclude the number-format grid (default false).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.0

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description carries the full burden and it only partially does so. It usefully discloses the return shape (2D rows x columns array plus address and dimensions), but says nothing about read-only safety, whether it triggers recalculation, what happens when both range and usedRange are omitted, or behavior against an unsaved/unsynced workbook.

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?

Three short sentences, the core action and return shape come first, and the usedRange hint is appended as a secondary tip. No sentence is redundant with the title or schema.

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?

With no output schema and no annotations, the description does the important work of describing the returned array and metadata, which is the main thing an agent needs. Gaps remain around default resolution when neither range nor usedRange is given and around multi-workbook targeting (workbookId), which the schema alone covers thinly.

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 baseline is 3; the description adds real value by tying the includeFormulas and includeNumberFormat flags to the output ('values, formulas and number formats') and by explaining the usedRange switch as an alternative to supplying an address. It still doesn't clarify interaction with workbookId or the sheetName default beyond what the schema says.

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 ('Read') and resource ('a range of the live workbook') and enumerates exactly what is returned (values, formulas, number formats), which separates it from write_range or format_range by intent. It never names a sibling or explicitly contrasts with find_in_range / inspect_workbook, so differentiation rests on the verb alone.

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 only guidance is parameter-level: use "usedRange": true to read the whole sheet. There is no statement of when to prefer this over inspect_workbook, find_in_range, or execute_officejs, nor any prerequisite such as needing a connected workbook or an open workbook session.

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