
Xlsx For Ai
Exposes 37 tools for working with Excel files through MCP. You get the obvious read/write/diff operations, plus structural introspection that pandas drops on the floor: named ranges, data validations, conditional formatting, pivot table definitions, slicers, embedded images, form controls, and VBA macro detection. The `xlsx_doctor` tool runs a one-shot health check for macros, external links, and hidden sheets. Compute layer includes filter, aggregate, sort, and pivot operations that run server-side. Installs globally via npm, registers via stdio transport, and auto-provisions an anonymous client UUID on first use. Free tier available. Useful when your agent needs to preserve Excel semantics instead of flattening everything to CSV.
- GitHub stars
- 6
- tools
- 40
- transport
- STDIO
- last updated
- Oct 15, 2026
Tools
40 toolsPublic tool metadata for what this MCP can expose to an agent.
xlsx_readread an .xlsx file by path and return a rendered markdown/JSON/SQL representation.
read an .xlsx file by path and return a rendered markdown/JSON/SQL representation.
No parameter schema in public metadata yet.
xlsx_read_handleread 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.
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.
No parameter schema in public metadata yet.
xlsx_validatesoundness check on a LOCAL .xlsx file — parses the workbook with the server's own OOXML engine and reports whether it loads cleanly.
soundness check on a LOCAL .xlsx file — parses the workbook with the server's own OOXML engine and reports whether it loads cleanly.
No parameter schema in public metadata yet.
xlsx_chartsList every chart in a LOCAL .xlsx file with type, title, axis titles, and per-series formula refs.
List every chart in a LOCAL .xlsx file with type, title, axis titles, and per-series formula refs.
No parameter schema in public metadata yet.
xlsx_commentslist every cell comment in a workbook — both legacy notes and modern threaded comments.
list every cell comment in a workbook — both legacy notes and modern threaded comments.
No parameter schema in public metadata yet.
xlsx_conditional_formatslist every conditional formatting rule in a workbook.
list every conditional formatting rule in a workbook.
No parameter schema in public metadata yet.
xlsx_data_validationslist every cell-level data validation rule defined in a workbook.
list every cell-level data validation rule defined in a workbook.
No parameter schema in public metadata yet.
xlsx_describepandas-style df.describe() per column — count, nulls, unique, min/max/mean/std for numerics, dtype with purity score.
pandas-style df.describe() per column — count, nulls, unique, min/max/mean/std for numerics, dtype with purity score.
No parameter schema in public metadata yet.
xlsx_external_linkslist every external workbook reference this file depends on.
list every external workbook reference this file depends on.
No parameter schema in public metadata yet.
xlsx_form_controlslist every form control in a workbook with the linked cell, current value, dropdown source range, and min/max/step bounds.
list every form control in a workbook with the linked cell, current value, dropdown source range, and min/max/step bounds.
No parameter schema in public metadata yet.
xlsx_formulasextract every formula in a LOCAL .xlsx workbook — cell coord (A1), formula text, cached result.
extract every formula in a LOCAL .xlsx workbook — cell coord (A1), formula text, cached result.
No parameter schema in public metadata yet.
xlsx_hyperlinkslist every hyperlink in a workbook with its anchor cell, target URL/anchor, display text, tooltip, and a kind classifier.
list every hyperlink in a workbook with its anchor cell, target URL/anchor, display text, tooltip, and a kind classifier.
No parameter schema in public metadata yet.
xlsx_imagesList every embedded image in a LOCAL .xlsx file with format, size in bytes, sheet attribution, and anchor cell range.
List every embedded image in a LOCAL .xlsx file with format, size in bytes, sheet attribution, and anchor cell range.
No parameter schema in public metadata yet.
xlsx_list_sheetslist sheet names, dimensions, and visibility for a LOCAL .xlsx file.
list sheet names, dimensions, and visibility for a LOCAL .xlsx file.
No parameter schema in public metadata yet.
xlsx_macrosInspect xlsm / xlsb workbooks for VBA macro presence, vbaProject.bin size, and likely module names.
Inspect xlsm / xlsb workbooks for VBA macro presence, vbaProject.bin size, and likely module names.
No parameter schema in public metadata yet.
xlsx_merged_cellslist every merged-cell region with master-cell value, range, span dimensions, and kind heuristic.
list every merged-cell region with master-cell value, range, span dimensions, and kind heuristic.
No parameter schema in public metadata yet.
xlsx_named_rangeslist all defined names (named ranges) in a LOCAL .xlsx workbook — name, scope, kind, reference.
list all defined names (named ranges) in a LOCAL .xlsx workbook — name, scope, kind, reference.
No parameter schema in public metadata yet.
xlsx_pivot_tablesList every PRE-EXISTING pivot table definition in a LOCAL .xlsx file.
List every PRE-EXISTING pivot table definition in a LOCAL .xlsx file.
No parameter schema in public metadata yet.
xlsx_print_settingssurface what would Excel print right now per worksheet — print area, orientation, paper size, margins, headers/footers, print titles, page breaks.
surface what would Excel print right now per worksheet — print area, orientation, paper size, margins, headers/footers, print titles, page breaks.
No parameter schema in public metadata yet.
xlsx_propertiesSurface the workbook's identity card from a LOCAL .xlsx file — core, application, and custom properties.
Surface the workbook's identity card from a LOCAL .xlsx file — core, application, and custom properties.
No parameter schema in public metadata yet.
xlsx_protectionSurface every protection setting in a LOCAL .xlsx file so an agent knows what it can and cannot edit.
Surface every protection setting in a LOCAL .xlsx file so an agent knows what it can and cannot edit.
No parameter schema in public metadata yet.
xlsx_schemainfer column schema of a LOCAL .xlsx file — types, nullable flags, header row, sample values.
infer column schema of a LOCAL .xlsx file — types, nullable flags, header row, sample values.
No parameter schema in public metadata yet.
xlsx_slicers_timelinesList every slicer and timeline in a LOCAL .xlsx file with captions, source bindings, and timeline granularity.
List every slicer and timeline in a LOCAL .xlsx file with captions, source bindings, and timeline granularity.
No parameter schema in public metadata yet.
xlsx_stylessurface cell formatting (number formats, fonts, fills, alignment) so an agent knows what a cell LOOKS like.
surface cell formatting (number formats, fonts, fills, alignment) so an agent knows what a cell LOOKS like.
No parameter schema in public metadata yet.
xlsx_tableslist every Excel ListObject (Format as Table structures) in a LOCAL .xlsx workbook — name, sheet, range, header/totals flags, columns.
list every Excel ListObject (Format as Table structures) in a LOCAL .xlsx workbook — name, sheet, range, header/totals flags, columns.
No parameter schema in public metadata yet.
xlsx_workbook_viewsSurface the UI state of a LOCAL .xlsx file — what a human sees when they open it in Excel.
Surface the UI state of a LOCAL .xlsx file — what a human sees when they open it in Excel.
No parameter schema in public metadata yet.
xlsx_aggregatepandas-style df.groupby([cols]).agg({col: func}) on a LOCAL .xlsx file.
pandas-style df.groupby([cols]).agg({col: func}) on a LOCAL .xlsx file.
No parameter schema in public metadata yet.
xlsx_diffcompute a semantic diff between two LOCAL .xlsx files — cell-level deltas, formula changes, added/removed rows.
compute a semantic diff between two LOCAL .xlsx files — cell-level deltas, formula changes, added/removed rows.
No parameter schema in public metadata yet.
xlsx_evalevaluate Excel formulas against a LOCAL .xlsx file with our own recalc engine.
evaluate Excel formulas against a LOCAL .xlsx file with our own recalc engine.
No parameter schema in public metadata yet.
xlsx_filterpandas-style row filter on a LOCAL .xlsx file with predicates AND-combined.
pandas-style row filter on a LOCAL .xlsx file with predicates AND-combined.
No parameter schema in public metadata yet.
xlsx_pivotpandas-style pivot_table() on a LOCAL .xlsx file — reshape a flat table into a 2D matrix.
pandas-style pivot_table() on a LOCAL .xlsx file — reshape a flat table into a 2D matrix.
No parameter schema in public metadata yet.
xlsx_sortpandas-style df.sort_values() on a LOCAL .xlsx file with multi-column sort and per-column direction.
pandas-style df.sort_values() on a LOCAL .xlsx file with multi-column sort and per-column direction.
No parameter schema in public metadata yet.
xlsx_topologyone-call workbook orientation returning sheets, dimensions, formulas, named ranges, tables, validations, hyperlinks, merges, and feature flags.
one-call workbook orientation returning sheets, dimensions, formulas, named ranges, tables, validations, hyperlinks, merges, and feature flags.
No parameter schema in public metadata yet.
xlsx_value_countspandas-style Series.value_counts() on one column of a LOCAL .xlsx file.
pandas-style Series.value_counts() on one column of a LOCAL .xlsx file.
No parameter schema in public metadata yet.
xlsx_data_cleanAI-native data cleaning for a LOCAL .xlsx file — flags or applies fixes for common data-grime issues.
AI-native data cleaning for a LOCAL .xlsx file — flags or applies fixes for common data-grime issues.
No parameter schema in public metadata yet.
xlsx_convertuniversal spreadsheet format converter reading 25+ input formats and emitting supported output formats.
universal spreadsheet format converter reading 25+ input formats and emitting supported output formats.
No parameter schema in public metadata yet.
xlsx_redactredact PII and sensitive values from a LOCAL .xlsx file before sharing or archiving.
redact PII and sensitive values from a LOCAL .xlsx file before sharing or archiving.
No parameter schema in public metadata yet.
xlsx_writecreate or update a LOCAL .xlsx file from a structured spec.
create or update a LOCAL .xlsx file from a structured spec.
No parameter schema in public metadata yet.
xlsx_healer_cureApply ONE specific cure operation against a diagnosed workbook and return cured bytes plus a receipt.
Apply ONE specific cure operation against a diagnosed workbook and return cured bytes plus a receipt.
No parameter schema in public metadata yet.
xlsx_healer_diagnoseproduce a structured diagnostic report of external references that are broken or at risk in a workbook.
produce a structured diagnostic report of external references that are broken or at risk in a workbook.
No parameter schema in public metadata yet.
Sponsors
Readme
xlsx-for-ai
Short name: xfa — a real CLI command (xfa <file>, xfa samples, xfa --version) and the prompt shorthand (e.g. "use xfa to read this file"). Same entrypoint as xlsx-for-ai; matches the internal xfa_* / XFA_* brand surface.
Verified values, preserved structure, up to 100MB
The missing reliability layer for spreadsheet work in LLM agents. Read, write, diff, validate, and analyze .xlsx files end-to-end — with merged cells, formulas, named ranges, conditional formatting, pivots, and charts preserved.
Details
- Repository
- github.com/senoff/xlsx-for-ai
- Category
- Data & Analytics
- Package
xlsx-for-ai- Transport
- STDIO
- Registry
- MCP registry, active