Skip to main content
Glama
KitchenSink4AI

io.github.nometalalchemist/kitchensink4xl

Find Cells

find_cells
Read-only

Search Excel workbooks, sheets, or ranges for exact, contains, or regex matches in values or formulas, returning every match with its address. Results paginate with limit and offset.

Instructions

Search cell values and/or formulas across a workbook, sheet, or range and return EVERY match with its unambiguous address (the plural form of the single-target search location selector). match is exact, contains, or regex (timeout-guarded, so a pathological pattern refuses instead of hanging); look_in is values, formulas, or both; a formula cell's searchable value is its last cached one. Results page with limit and offset and report the total match count. Read-only; works while the file is open in Excel.

Input Schema

NameRequiredDescriptionDefault
pathYes
limitNo
matchNocontains
queryYes
sheetNo
offsetNo
look_inNovalues
locationNo
match_caseNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.2.0
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": true,
      -  "type": "object"
      -}New value: +null
  2. Changed2 schema fields changedv1.1.0
    • addedInput schema / properties / location / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedInput schema / properties / location / title
      Removed value: -"Location"
  3. First observedv1.0.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=true and openWorldHint=false. The description adds genuinely useful traits beyond that: regex is timeout-guarded so a pathological pattern refuses instead of hanging, a formula cell's searchable value is its last cached one, results page via limit/offset, and it works while the file is open in Excel. Only the return shape is left unspecified.

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 the core verb and resource, and nearly every clause carries information (return cardinality, match modes, timeout behavior, paging). The one weak spot is the tangled parenthetical about the 'plural form of the single-target search location selector', which costs a re-read.

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?

For a 9-parameter, no-output-schema tool the description does cover what an agent needs to call it correctly: search scope, match modes, caching semantics, and pagination with a total count. It falls short only on the composite location parameter and the sheet/match_case defaults, which the schema states but does not explain.

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%, so the description carries the burden, and it explains match (exact/contains/regex), look_in (values/formulas/both), and the limit/offset paging semantics well. However, the location parameter is described only cryptically as 'the plural form of the single-target search location selector', and sheet and match_case get no treatment at all, leaving three of nine parameters under-specified.

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 ('Search cell values and/or formulas') plus the scope ('across a workbook, sheet, or range') and the return contract ('EVERY match with its unambiguous address'). This cleanly separates it from read_range, get_cells, and replace_cells, which an agent can distinguish 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?

Usage is implied by the search framing and the parenthetical reference to a 'single-target search location selector' (i.e. a plural-vs-singular search distinction), but no sibling is named and no explicit when-to-use/when-not condition is given. An agent must infer that this is the multi-hit search versus query_range or get_cells.

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