senoff avatar

Xlsx For Ai

senoff/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 tools

Public 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

xlsx-for-ai MCP server

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.


View the full README on GitHub

Details

Repository
github.com/senoff/xlsx-for-ai
Category
Data & Analytics
Package
xlsx-for-ai
Transport
STDIO
Registry
MCP registry, active

Related Data & Analytics MCP servers

View all
1cyanheads avatarUsaspending Mcp Servercyanheads/usaspending-mcp-serverAccess US federal award, recipient, agency, and spending analytics data from USAspending.gov.5stars
2neonia-io avatarNeonia: The Cloud Backend for AI Agentsneonia-io/agent-mcp-examplesMultiple MCP tools, persistent graph memory, token-saving data pointers, and more.0stars
3talonicdev avatarTalonictalonicdev/talonic-mcpExtract structured, schema-validated data from PDFs, scans, images, spreadsheets, and forms.5stars
4cmeans avatarClipboardcmeans/mcp-clipboardRead and write the system clipboard — tables, text, code, JSON, URLs, images, and more.4stars
5cyanheads avatarSurvey Mcp Servercyanheads/survey-mcp-serverMCP server for conducting dynamic, conversational surveys with structured data collection.4stars
6larsbaunwall avatarUnlinkedlarsbaunwall/unlinkedYour LinkedIn profile and recent activity as JSON, via CLI or MCP server (EEA and Switzerland only).4stars