Skip to main content
Glama

workbook_overview

Inspect an .xlsx/.xlsm workbook without modifying it: list sheets, ranges, tables, formulas, errors, and features a save would lose. Run this first to plan safe edits.

Instructions

Start here. Summarise a workbook without changing it: sheets (with hidden/very hidden state), used ranges, tables, named ranges, merged cells, hidden rows/columns, data validations, conditional formats, comments, number of formulas, formulas that have NO cached value (the file was never calculated), cells showing errors like #REF!, and the list of features that saving would LOSE (charts, images, pivot tables, macros, slicers, external links, ...). The file is checked for zip bombs and XML entity attacks first.

path: .xlsx or .xlsm, relative to the server's --dir (or absolute inside it).

Input Schema

NameRequiredDescriptionDefault
pathYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations at all, the description carries the full burden and does well: it declares the operation is non-mutating, discloses a pre-flight safety scan (zip bombs, XML entity attacks), and warns that saving would lose features like charts, images, pivot tables and macros. It does not mention cost or latency on large workbooks, which is the main remaining behavioral gap for an agent deciding whether to call it.

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?

Front-loaded with 'Start here' and the core action, followed by a dense but purposeful enumeration where each clause is distinct information. The single run-on sentence listing a dozen features is heavy to parse and the trailing '...' is imprecise, but no sentence is filler.

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 one-parameter inspection tool, the description covers action, safety profile, return content, and path resolution. An output schema exists, so the informal enumeration of returned fields is a bonus for tool selection rather than a missing spec, and nothing an agent needs in order to call this correctly is absent.

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 0% and the single param is undocumented in the schema, but the description compensates: it restricts the accepted formats to .xlsx or .xlsm, explains that the path is resolved relative to the server's --dir, and that absolute paths must remain inside that directory. This is genuine semantic value, only slightly short of complete since it does not cover error behavior for a nonexistent path.

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 and resource ('Summarise a workbook') and then enumerates precisely what the summary contains: sheet visibility states, used ranges, tables, named ranges, merged cells, validations, conditional formats, comments, formula counts, uncached formulas, error cells, and lossy-save features. This is far more distinguishing than sibling names like read_range or describe_columns, which it clearly is not.

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?

'Start here' is an explicit entry-point instruction that routes the agent before any other tool, and 'without changing it' signals the read-only counterpart to set_cells/append_rows. It stops short of naming a specific sibling to prefer for follow-up work or stating when this tool is overkill versus read_range, so it is strong but not fully explicit about alternatives.

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