Skip to main content
Glama

Read and calculate

read_workbook
Read-onlyIdempotent

Extract computed values, formulas, or formatted text from spreadsheet ranges and sheets, then evaluate formulas without changing the workbook.

Instructions

Read a workbook (xlsx, xlsm, xls, xlsb, ods, csv, tsv, json): computed values, formulas or display text of a range or sheet, and evaluate formulas against it without changing anything (e.g. "=SUMIFS(D:D,A:A,"North")", "=AVERAGE(Sales!C2:C99)").

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNovalues (computed), formulas (formula text where there is one) or formatted (as displayed, number formats applied).values
rangeNoA1 range (default: the used range).
sheetNoDefault: the first sheet.
evaluateNoFormulas to evaluate on the sheet.
max_rowsNo
input_pathYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description reinforces this with 'without changing anything' and adds that formula evaluation happens against the workbook without persisting, plus the supported format set and evaluation examples, which is useful context beyond the annotations.

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?

A single dense sentence with the read action front-loaded and examples parenthesized at the end. The format list is long but earns its place by scoping the tool; no filler text.

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?

With no output schema, the description should say something about the return shape (e.g. how a range or evaluated formula result comes back), and it does not. For a 6-parameter tool it also omits max_rows truncation semantics, so it is adequate but leaves real gaps.

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 coverage is 67% and the description restates the three mode meanings, range/sheet targeting, and the evaluate expressions, matching the schema's own wording without adding format or syntax detail. max_rows and the truncation/limit behavior are not mentioned anywhere in the description.

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?

States a specific verb (read) and resource (workbook), enumerates the supported file formats, and lists the three output modes and the formula-evaluation capability. Combined with the closing 'without changing anything', an agent can distinguish it from create_workbook, edit_workbook, and convert_workbook without opening any schema.

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 usage ('read', 'evaluate formulas ... without changing anything') and shows example evaluation expressions, but never states when to prefer this tool over get_workbook_info or open_in_gridcraft, nor any prerequisite or exclusion. Usage is inferable rather than spelled out.

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