Home · Comparisons

MCP Spreadsheet vs agent-spreadsheet and mcp-server-spreadsheet: which MCP server to pick

This is the one category where all three options are local. None of them uploads your workbook. agent-spreadsheet is a Rust engine aimed at formula-heavy models, with recalculation and a write, recalc, proof, diff loop. mcp-server-spreadsheet is a Python server with cell level operations and a DuckDB SQL engine over the same file. Ours is a small TypeScript server aimed at the ordinary case: read a file, answer a question about it, write a column back without breaking anything.

The facts, read from each project

FactOursagent-spreadsheetmcp-server-spreadsheet
Tools8 plus license_status and license_activate27 baseline, up to 31 with capabilities25
Language and runtimeTypeScript on Node 18 or newer, no native dependenciesRust binary (npm, cargo, Homebrew, Docker)Python 3.10 or newer, via uvx
Formatsxlsx, csvxlsx, xlsm, xls, xlsbxlsx, csv, ods
Formula recalculationNoYes, native Formualizer or LibreOffice backendNo, values only
SQL over sheetsNo, a query tool with filters, group by and sumsNoYes, DuckDB SELECT plus INSERT, UPDATE and DELETE
LicenceMITApache-2.0MIT
Latest release read0.2.3 on the MCP registryv0.15.0, 2026-09-02v0.3.3, 2026-08-11
Data locationYour files, local onlyYour files, local onlyYour files, local only

When to pick agent-spreadsheet

Pick it for real spreadsheet models: financial workbooks with formula chains where an edit has to be recalculated and proven. It exposes 27 operations by default and up to 31 with capabilities enabled, including sheet screenshots and VBA introspection, and it reads xlsm, xls and xlsb, which we do not. It also runs as an HTTP service with a canonical operation route. It is a Rust binary; the npm install ships a prebuilt one so no toolchain is needed, and recalculation is off unless you turn it on. At 54 stars it is the most used of the three.

When to pick mcp-server-spreadsheet

Pick it if you want SQL. Its DuckDB engine runs SELECT with JOINs across sheets, GROUP BY, aggregates and subqueries, and its sql_execute writes INSERT, UPDATE and DELETE back into the file. It also handles OpenDocument .ods, which neither of the other two do, and it has cell and range level operations plus sheet management that our eight tools do not cover. It needs a Python 3.10 runtime.

When to pick ours

Pick ours when the file is a data export rather than a model, and you want the smallest thing that answers the question. Eight tools: info, read, query, stats, add column, write, find, convert. No Python, no Rust, no native dependencies, so npx works on a machine you did not set up. sheet_query filters, groups and sums in one call rather than making the model read rows and add them up. Writes are checked before they land: a write that would only partly apply is refused rather than half done. Free covers reads and queries up to 5,000 rows and writes up to 500.

What we measured

The spreadsheet package carries 39 automated tests, all passing, including csv edge cases, expression evaluation, the query engine and a rounding case. The validate.mjs probe suite is at 121 of 121. In user value round 5, two spreadsheet scenarios were driven through the real Claude CLI and scored 4 of 6: a 250 row supplier CSV grouped by supplier matched an independent Python sum on all 10 groups to the cent, and an xlsx conversion computed a VAT column correctly at 1,250.00 times 1.23 equals 1,537.50, but 245 of 250 VAT cells carried more than two decimals and 5 of 250 amount cells were written as strings rather than numbers. Both are recorded as open defects rather than hidden.

Install lines

Ours, Claude Code:

claude mcp add spreadsheet -- npx -y @theluckystrike/mcp-spreadsheet

agent-spreadsheet:

npm i -g agent-spreadsheet
claude mcp add spreadsheet-agent -- agent-spreadsheet-mcp --transport stdio

mcp-server-spreadsheet:

claude mcp add spreadsheet-py -- uvx mcp-server-spreadsheet

Per client config paths are on the setup pages, the product page is MCP Spreadsheet, and the guides cover querying a large CSV from chat.

Questions

Which of the three should I use for a workbook full of formulas?

agent-spreadsheet. It is the only one of the three that recalculates. Ours reads cached values and writes values; a formula you write with sheet_write is stored as text, not evaluated.

Do any of them upload my spreadsheet?

No. All three read and write files on your own disk over stdio. That is the one fact all three share, and it is the main reason to use any of them instead of a web converter.

Can your server handle a 200 MB file?

Free covers reads, queries and stats up to 5,000 rows and writes up to 500 rows; Pro removes both limits. Very large xlsx files are held in memory, so for gigabyte workbooks the Rust option will be more comfortable.

What happens if a write fails halfway?

It does not land. Writes are validated first and applied atomically through a temp file and rename, so the original file is either updated completely or left untouched.

Why only 8 tools when the others have 25 and 27?

Different aim. Ours is sized for reading an export and answering a question about it, so one query tool replaces a dozen cell level calls. If you need sheet management, cell ranges or SQL, the other two genuinely cover more surface.

Related

Product page · Setup per client · Guides · All comparisons