Why an MCP server for this
Formula assistance
Describe a calculation in plain language and get a correct, paste-ready Excel or Google Sheets formula instead of an LLM guess.
Data cleaning pipelines
Apply a repeatable JSON spec — normalize headers, drop duplicates, fix types — across many files without manual clicking.
Finance and operations
Clean ledger or operational exports and generate formulas without sending confidential spreadsheets to an online service.
AI agents and automation
Give Claude Desktop or Cursor callable, deterministic spreadsheet tools that return null on an unknown intent rather than hallucinating.
What it does
- generate_formula(text) — one plain-language sentence to a paste-ready Excel/Google Sheets formula across 30+ intents; returns
formula: nullwhen the intent is not recognized rather than guessing. - list_formula_intents() — enumerate every supported formula intent.
- clean_table(input, spec, output, as_csv) — clean a CSV/XLSX by a declarative JSON spec and write the result to disk.
- Cleaning spec supports normalize_headers, drop_empty_cols, drop_duplicates, strip_whitespace, number_columns, date_columns, split_columns, select_columns, fillna, filter and dedup_subset.
- Deterministic template engine — no LLM and no network, so identical input always produces identical output with no token cost.
- selftest() — built-in engine self-check. 100% local with no API key.
Install and connect
Published to the official MCP Registry as io.github.diyaluo/excel-toolkit-mcp and as an OCI image on GHCR. Run locally over stdio:
pip install -e .
excel_toolkit_mcp
Client configuration (Claude Desktop / Cursor / any MCP client):
{
"mcpServers": {
"excel-toolkit": {
"command": "excel_toolkit_mcp",
"env": {}
}
}
}
Frequently asked questions
What does this MCP server do?
It gives an MCP-compatible AI agent two deterministic spreadsheet tools: generate_formula converts a plain-language request into a paste-ready Excel/Google Sheets formula, and clean_table transforms a CSV/XLSX file according to a JSON specification.
Does it call an LLM to write formulas?
No. Formula generation uses a local deterministic template engine covering 30+ intents. If an intent is not supported it returns formula:null instead of hallucinating, and there is no token cost or network dependency.
What cleaning operations are supported?
The clean_table spec supports header normalization, dropping empty columns and duplicates, whitespace stripping, number and date column coercion, splitting and selecting columns, fillna, filtering and subset deduplication.
Does it upload my files?
No. The server runs locally over stdio with no network access, so confidential spreadsheets remain on the machine.
Which MCP clients are supported?
Any Model Context Protocol client over stdio, including Claude Desktop and Cursor. It is published to the official MCP Registry as io.github.diyaluo/excel-toolkit-mcp and on GHCR.