Skip to main content
Glama

Numbers: set number format

numbers_set_number_format
Destructive

Set how numbers display in a range of a Numbers file (currency, percentage, datetime) without changing the values. Preview changes with dry_run.

Instructions

How numbers display in a range ("B2:B9"): format = number | currency | percentage | scientific | fraction | datetime | text. Options: decimal_places, thousands_separator, negative_style (minus|red|parentheses|red_parentheses), currency_code (ISO, e.g. SAR, USD), accounting, date_format (e.g. "d MMM yyyy"). Values are not changed; the result shows how each cell now displays. dry_run=true previews the change on a copy without touching the file. Use for how numbers display (currency, %, dates, decimals); the values don't change. For fonts and colours use numbers_set_cell_style.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the .numbers file (absolute, or starting with ~).
cellsYesA cell or range in A1 notation, e.g. "B2" or "A1:D1".
sheetNoSheet name. Omit when the file has one sheet (iwork_read lists sheets and tables).
tableNoTable name on that sheet. Omit when the sheet has one table.
formatYesnumber | currency | percentage | scientific | fraction | datetime | text.
dry_runNotrue = make the change on a throwaway copy, run every check, and return what would change; the file itself is not touched. Use it before broad or risky edits and show the user.
accountingNotrue = accounting style (symbol aligned left) for currency.
date_formatNoDate pattern for format=datetime, e.g. "d MMM yyyy".
currency_codeNoISO currency code for format=currency, e.g. "SAR" or "USD".
decimal_placesNoDigits after the decimal point.
negative_styleNominus | red | parentheses | red_parentheses.
thousands_separatorNotrue = group thousands (1,234).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed12 schema fields changedv2.4.1
    • addedInput schema / properties / accounting / description
      Added value: +"true = accounting style (symbol aligned left) for currency."
    • addedInput schema / properties / cells / description
      Added value: +"A cell or range in A1 notation, e.g. \"B2\" or \"A1:D1\"."
    • addedInput schema / properties / currency_code / description
      Added value: +"ISO currency code for format=currency, e.g. \"SAR\" or \"USD\"."
    • addedInput schema / properties / date_format / description
      Added value: +"Date pattern for format=datetime, e.g. \"d MMM yyyy\"."
    • addedInput schema / properties / decimal_places / description
      Added value: +"Digits after the decimal point."
    • addedInput schema / properties / dry_run / description
      Added value: +"true = make the change on a throwaway copy, run every check, and return what would change; the file itself is not touched. Use it before broad or risky edits and show the user."
    • addedInput schema / properties / format / description
      Added value: +"number | currency | percentage | scientific | fraction | datetime | text."
    • addedInput schema / properties / negative_style / description
      Added value: +"minus | red | parentheses | red_parentheses."
    • addedInput schema / properties / path / description
      Added value: +"Path to the .numbers file (absolute, or starting with ~)."
    • addedInput schema / properties / sheet / description
      Added value: +"Sheet name. Omit when the file has one sheet (iwork_read lists sheets and tables)."
    • addedInput schema / properties / table / description
      Added value: +"Table name on that sheet. Omit when the sheet has one table."
    • addedInput schema / properties / thousands_separator / description
      Added value: +"true = group thousands (1,234)."
  2. First observedv2.4.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations declare destructiveHint=true and idempotentHint=false, and the description meaningfully adds that 'values are not changed; the result shows how each cell now displays,' plus the dry_run copy-preview semantics. That explains the nature of the destructive change in a way annotations cannot. It doesn't cover permission or file-write prerequisites, so not a 5.

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?

The main action and the non-mutating-value clarification are front-loaded, and the final sentence efficiently routes to the style sibling. It does spend a sentence duplicating enum options already in the schema, costing some density.

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 an output schema present, return values need not be described, and the description covers the display-vs-value distinction, the dry_run option, and format choices. It is complete enough for a 12-param mutation tool, missing only prerequisite/permission context.

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 100%, so the schema already documents all 12 parameters. The description restates the format enum and negative_style options, which adds little beyond the schema text; it is adequate but does not deepen parameter meaning.

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?

The description states a specific verb+resource (set the display number format for a cell range) and names the sibling it must not be confused with: 'For fonts and colours use numbers_set_cell_style.' An agent can route correctly without opening the schema.

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?

It gives clear context ('Use for how numbers display (currency, %, dates, decimals)') and names an alternative tool for the adjacent styling case. It stops short of saying when NOT to use it relative to numbers_inspect_format or numbers_edit_cell, but the core routing guidance is present.

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