xlsx_diff

MCP tool from Xlsx For Ai by senoff

compute a semantic diff between two LOCAL .xlsx files — cell-level deltas, formula changes, added/removed rows.

How to use it

Project documentation lists xlsx_diff for the Xlsx For Ai MCP server. Add the server to your MCP client (Claude Desktop, Cursor, Windsurf and others), then check which tools your installed version makes available. Tool availability can depend on configuration and credentials. A server handshake does not verify this tool’s behavior. See the full listing for setup details.

Install Xlsx For Ai

$claude mcp add xfa -- xlsx-for-ai-mcp
FULL XLSX FOR AI LISTING

Other tools in Xlsx For Ai (39)

xlsx_aggregate

pandas-style df.groupby([cols]).agg({col: func}) on a LOCAL .xlsx file. funcs: sum / mean / min / max / count / countdistinct.

xlsx_charts

List every chart in a LOCAL .xlsx file with type (bar / line / pie / scatter / area / doughnut / radar / stock / surface / bubble), title, axis titles, and per-series formula refs (the cell ranges the chart pulls from). Sheet attribution via the OOXML drawing rel chain.

xlsx_comments

list every cell comment in a workbook — both legacy notes (yellow stickies, cell.note) AND modern threaded comments (multi-author conversations stored separately in the OOXML zip). Per entry: kind, sheet, cell, author, text, plus any reply thread.

xlsx_conditional_formats

list every conditional formatting rule in a workbook — color scales, data bars, icon sets, formula-based highlights, top-N, duplicate / unique values, contains-text, time-period, above-average. Per rule: range, type, operator, formulae, priority, stopIfTrue.

xlsx_convert

universal spreadsheet format converter. Reads ANY of 25+ input formats (xlsx, xlsb, xlsm, xls, ods, fods, numbers, csv, tsv, dbf, lotus 1-2-3, quattro pro, sylk, dif, html, rtf, etc.) and emits ANY supported output format (xlsx, csv, json, md, html, etc.).

xlsx_data_clean

AI-native data cleaning for a LOCAL .xlsx file. Scans for the seven most common data-grime issues — NA variants (N/A, NA, null, -), merged-cell residue, type-coercion mistakes (numeric-as-text / date-as-serial / leading-zero stripped), trailing-row noise (footers / totals), header-row-not-first (pre

xlsx_data_validations

list every cell-level data validation rule (dropdowns, numeric/date bounds, text-length caps, custom formulas) defined in a workbook — the constraints that Excel enforces when a human types into the cell.

xlsx_describe

pandas-style df.describe() per column — count, nulls, unique, min/max/mean/std for numerics, dtype with purity score.

xlsx_eval

evaluate Excel formulas against a LOCAL .xlsx file via HyperFormula. xlwings-style.

xlsx_external_links

list every external workbook reference this file depends on — =[Budget.xlsx]Sheet1!A1 style formulas. Per link: target path (decoded), classification (http / network share / absolute / relative), sheets pulled from the external workbook, count of cached cell values, and defined-name references.

xlsx_filter

pandas-style row filter on a LOCAL .xlsx file with predicates AND-combined: eq/ne/gt/gte/lt/lte/contains/in/isnull/notnull.

xlsx_form_controls

list every form control (Check Box, Button, Drop-down, List Box, Option Button, Scroll Bar, Spinner, Label, Group Box) in a workbook with the linked cell, current value, dropdown source range, and min/max/step bounds where applicable.

xlsx_formulas

extract every formula in a LOCAL .xlsx workbook — cell coord (A1), formula text, cached result. openpyxl-style read-only metadata.

xlsx_healer_cure

Apply ONE specific cure operation against a diagnosed workbook. Operations: renamemove (rewrite ref paths), patternbulk (regex-style ref rewrites), sourcedeletedfreeze (replace broken refs with cached values), sourcedeletedredirect (point at a replacement file), sourcedeletedlocalize (snapshot exter

xlsx_healer_diagnose

produce a structured diagnostic report of external references that are broken or at risk in a workbook. Returns five classes of finding: (1) external-workbook references that can't resolve, (2) defined-name external refs, (3) Power Query connections with embedded credentials, (4) #REF! propagation m

xlsx_hyperlinks

list every hyperlink in a workbook with its anchor cell, target URL/anchor, display text, tooltip, and a kind classifier (external / internal / mailto / unknown).

xlsx_images

List every embedded image in a LOCAL .xlsx file with format (png / jpg / gif / svg / bmp / tiff / emf / wmf), size in bytes, sheet attribution, and anchor cell range (the cells the image floats over). Reads xl/media/ + xl/drawings/ directly.

xlsx_list_sheets

list sheet names, dimensions, and visibility for a LOCAL .xlsx file.

xlsx_macros

Inspect xlsm / xlsb workbooks for VBA macro presence, vbaProject.bin size, and likely module names (ThisWorkbook / Sheet<N> / Module<N> / Class<N> / UserForm<N> via heuristic UTF-16LE scan). Returns short safety advice the LLM should relay to the user.

xlsx_merged_cells

list every merged-cell region with master-cell value, range, span dimensions, and kind heuristic ("header" / "horizontal" / "vertical" / "block"). Pandas reads merged cells by dropping the relationship — it sees one value in the master cell and three blanks alongside. xlsxmergedcells is the layout-a

xlsx_named_ranges

list all defined names (named ranges) in a LOCAL .xlsx workbook — name, scope (workbook or sheet), kind (cell / range / formula), reference.

xlsx_pivot

pandas-style pivottable() on a LOCAL .xlsx file — reshape a flat table into a 2D matrix where rows are unique values of index, columns are unique values of columns, and cells are an aggregation of values.

xlsx_pivot_tables

List every PRE-EXISTING pivot table definition in a LOCAL .xlsx file (the ones an Excel user already built). Per pivot: sheet, name, location range, source range (or named-range / table reference), row / column / page fields, and data fields with their agg function (sum / count / average / max / min

xlsx_print_settings

surface "what would Excel print right now" per worksheet — print area, orientation, paper size (A4 / Letter / Legal / Tabloid / etc.), scale or fitToPage, margins, headers/footers split into Excel's L/C/R zones, print titles (rows / columns repeated on every page), manual page breaks, plus B&W / dra

xlsx_properties

Surface the workbook's identity card from a LOCAL .xlsx file. Core: creator, lastmodifiedby, created/modified/lastPrinted timestamps, title, subject, company, manager, keywords, category, description. Application: app name + version, doc security label, hyperlink base. Custom: every user-defined Inf

xlsx_protection

Surface every protection setting in a LOCAL .xlsx file so an agent knows what it can and cannot edit. Workbook-level (lockStructure, lockWindows), per-sheet (protected? password? hidden state?), per-action allow/block list (formatCells, sort, insertRows, pivotTables, etc.), and per-cell unlocked / h

xlsx_read

read an .xlsx file by path and return a rendered markdown/JSON/SQL representation.

xlsx_read_handle

read a workbook that has already been uploaded to the server via the chunked upload flow, by its server-side cache handle, WITHOUT re-transferring the bytes. Returns the same shape as xlsxread (text / json / markdown) but skips the fileb64 round-trip.

xlsx_redact

redact PII and sensitive values from a LOCAL .xlsx file before sharing or archiving.

xlsx_schema

infer column schema of a LOCAL .xlsx file — types, nullable flags, header row, sample values.

xlsx_slicers_timelines

List every slicer (interactive filter button) and timeline (date-range filter visual) in a LOCAL .xlsx file with their captions, source bindings (table column or pivot table), and timeline granularity (years / quarters / months / days) plus the currently-selected date range.

xlsx_sort

pandas-style df.sortvalues() on a LOCAL .xlsx file with multi-column sort and per-column direction (asc/desc, default asc).

xlsx_styles

surface cell formatting (number formats, fonts, fills, alignment) so an agent knows what a cell LOOKS like, not just its raw value. Default mode: per-sheet rollup of top-N number formats / fonts / fills with counts. Detailed mode (opt-in, capped at 1000 cells): per-cell breakdown for narrow queries.

xlsx_tables

list every Excel ListObject ("Format as Table" structures) in a LOCAL .xlsx workbook — name, sheet, range, header/totals flags, columns.

xlsx_topology

one-call workbook orientation. Returns sheets × dimensions × formulas × named ranges × tables × validations × hyperlinks × merges in one shot, plus feature flags (macros / external refs / pivots / LAMBDA / dynamic arrays).

xlsx_validate

cross-engine consistency check on a LOCAL .xlsx file — runs the workbook through TWO independent renderers (@protobi/exceljs and @cj-tech-master/excelts) and reports cell-level divergences.

xlsx_value_counts

pandas-style Series.valuecounts() on one column of a LOCAL .xlsx file — count each unique value, sorted by frequency desc, with percentage.

xlsx_workbook_views

Surface the UI state of a LOCAL .xlsx file — what a human sees when they open it in Excel. Per sheet: visibility (visible / hidden / veryHidden), view state, zoom, active cell + selection, frozen-pane breakdown, gridlines / row-col headers / ruler / RTL flags, tab color. Workbook level: which sheet

xlsx_write

create or update a LOCAL .xlsx file from a structured spec.