Skip to main content
Glama

find_cells

Search cells across all or one sheet by text, regex, or number, checking values, formulas, or both, and return each matching sheet, address, value, and formula.

Instructions

Find cells across all sheets (or one) and return their addresses.

mode: 'text' (substring), 'regex' (Python regular expression), or 'number' (numeric cells equal to the query, e.g. '1234.5'). search_in: 'values' (cached results / constants), 'formulas' (formula text, e.g. find every cell that uses VLOOKUP), or 'both' (default). Case-insensitive search also folds Turkish letters (dotted/dotless i, and u o s c g with their Turkish marks), so 'istanbul' finds 'İstanbul' and 'urun' finds 'Ürün'. Each hit shows the sheet, address, value and formula.

Input Schema

NameRequiredDescriptionDefault
modeNotext
pathYes
queryYes
sheetNo
search_inNoboth
max_resultsNo
case_sensitiveNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden; it does disclose useful traits: search is case-insensitive by default, it folds Turkish dotted/dotless i and marked letters, and each hit reports sheet, address, value and formula. It omits what happens when there are no matches, how results are truncated at max_results, and whether scanning is expensive on large workbooks.

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-loads the one-line purpose, then breaks mode/search_in into labeled lines, which is easy to scan. The Turkish case-folding paragraph is longer than strictly necessary for most callers, but it is placed last so it does not obstruct the core instruction.

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?

An output schema exists, so return-field explanation is a bonus rather than a necessity, and the description still names the fields per hit. For a 7-parameter search tool the only real gap is truncation/limit behavior and the semantics of path, which keeps it out of the top band.

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 0% across 7 parameters, so the description must compensate. It well explains mode (with examples: substring, Python regex, numeric equality) and search_in (values/formulas/both), and implies sheet scoping, but says nothing about path, max_results, or case_sensitive as an explicit parameter (the Turkish-folding note only hints at the default).

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 and resource ('Find cells') plus scope ('across all sheets (or one)') and the return form ('return their addresses'). It does not explicitly contrast itself with read_range or describe_columns, so the agent must infer the read-vs-search distinction from the sibling names.

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?

Gives concrete usage contexts for mode and search_in, including a worked example ('find every cell that uses VLOOKUP') that makes the intent of 'formulas' unambiguous. It stops short of naming alternatives or exclusions (e.g., when to use read_range or describe_columns instead, or whether to prefer a sheet-scoped search for large workbooks).

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