Skip to main content
Glama

Summarize changes

summarize_changes
Read-only

Use this when the user has two versions of a spreadsheet and wants a summary rather than a full list: "how many prices went up", "which columns changed the most", "biggest changes between these two files", "average price increase". Returns counts (changed, added, removed rows), per-column statistics (cells changed, increases, decreases, total and average percent change, largest increase and decrease) and the biggest single changes, with the same Excel and CSV downloads. Use compare_spreadsheets for the row-by-row list. Does not forecast or explain why values changed.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "summarize_changes"
  }
}

Input Schema

NameRequiredDescriptionDefault
new_fileNoThe NEWER version (CSV, TSV or Excel .xlsx), e.g. pricelist_2026Q4.xlsx or roster-october.csv.
old_fileNoThe OLDER version (CSV, TSV or Excel .xlsx), e.g. pricelist_2026Q3.xlsx or roster-september.csv.
new_sheetNoSheet (tab) to read from the new workbook, e.g. Prices Q4.
new_tableNoInstead of new_file: the newer version pasted as CSV/TSV text with a header row, e.g. "SKU,Price\nA1,10.50\nC3,7.00".
old_sheetNoSheet (tab) to read from the old workbook, e.g. Prices Q3. Default: the sheet with the same name as in the new workbook, else the first sheet with data.
old_tableNoInstead of old_file: the older version pasted as CSV/TSV text with a header row, e.g. "SKU,Price\nA1,10.00\nB2,5.00".
column_mapNoOld column name -> new column name for renamed columns, e.g. {"Unit Price": "Price (USD)"}. Turns off automatic rename detection.
ignore_caseNoTreat ABC and abc as equal, e.g. true. Default false.
key_columnsNoColumn(s) that identify a row, to override the automatic key, e.g. ["SKU"] or ["Store", "Product code"].
header_row_newNoRow number of the column headings in the new file, e.g. 3.
header_row_oldNoRow number of the column headings in the old file when it is not detected, e.g. 3 when two title rows come first.
ignore_columnsNoColumns to leave out of the comparison, e.g. ["Last updated", "Notes"].
normalize_datesNoCompare dates by calendar day, so 2026-03-05, 3/5/2026 and an Excel date serial are equal, e.g. true (default).
trim_whitespaceNoIgnore leading/trailing and repeated spaces, e.g. true (default).
numeric_toleranceNoNumbers that differ by this much or less count as equal, e.g. 0.01 to ignore rounding by a cent. Default 0.
detect_key_changesNoReport a removed row and an added row whose other values are identical as one key change (e.g. a SKU renumbered), e.g. true (default).
compare_row_numbersNoCompare a running row-number column (#, Row, No.: 1, 2, 3...) like any other column, e.g. true. Default false: it shifts whenever a row is inserted, so it is skipped with a note.
compare_numbers_as_valuesNoCompare numbers by value so "1,200.00" equals 1200, e.g. true (default). Codes with leading zeros (00123) stay text.

Output Schema

NameRequiredDescriptionDefault
keyYes
filesYes
notesYes
countsYes
columnsYes
by_columnYes
downloadsYes
added_previewYes
complete_listYes
excluded_rowsYes
biggest_changesYes
changes_previewYes
removed_previewYes
key_changes_previewYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered; the description adds the output shape (counts of changed/added/removed rows, per-column statistics, largest single changes) and that the same Excel/CSV downloads are produced. It does not disclose cost, size limits, or failure modes on mismatched schemas, which keeps it below 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?

Front-loaded with the use case and ends with the routing rule and exclusion, so every clause earns its place. The middle sentence is long and stacks three example groups plus a return-value list, which costs it a perfect score.

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 and annotations already present, the description need not explain return format or safety, and it still summarizes both. It is nearly complete for an 18-parameter tool; the one gap is that it never notes the old_file/new_file vs old_table/new_table input pairing that the schema implies.

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% and every parameter carries a detailed description with examples, so the schema does the heavy lifting. The tool description mentions no parameters at all and does not explain the file-vs-pasted-table input modes, so baseline 3 is appropriate.

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 (summarize changes between two spreadsheet versions) and names the exact sibling it is not: 'Use compare_spreadsheets for the row-by-row list.' An agent can distinguish the two tools without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete user-phrasing triggers ('how many prices went up', 'biggest changes between these two files'), names the alternative and the condition that selects it, and adds an explicit exclusion ('Does not forecast or explain why values changed'). Nothing is left to inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources