For Claude Code, Claude Desktop, Cursor and Codex
Your agent edits the Excel file.
You review before it's saved.
GridPath's engine as an MCP server. Every change comes back with a review link: see each changed cell, reject what you don't want, save.
claude mcp add gridpath -- npx -y gridpath mcp --review-required
Edits the real .xlsx. Shows you the diff.
Not a Python script that rewrites your workbook and hopes. The file you had, the cells you approved, nothing else touched.
Real-time calculation engine
A calculation engine (a fork of IronCalc, compiled to WebAssembly) runs inside the server, so your agent sees what its edit did to the sheet instead of guessing. Change a driver and it reads back the recomputed growth rates in the same turn. The scripting path can't: openpyxl doesn't calculate formulas at all.
Leaves your Excel file intact
Saves rewrite only the package parts an edit touched; charts, pivots, macros, add-in data and custom XML come back byte-identical. When a Python library opens and re-saves a heavy model, it can quietly drop or damage charts, data validation, pivot caches or formatting. Here that's ruled out by construction, not by the model's judgment on the day.
Finds things fast, spends fewer tokens
A workbook map and row search locate “Product revenue” in a 1,400-row model in a few calls, not a cell-by-cell scan. On a 1.4 MB, 55,000-formula model the same row insert took 17 s, 1,000 output tokens and $0.35 through GridPath versus 52 s, 6,100 and $0.86 through the scripting path — same model, same prompt, medians of five runs each.
Review before save
Every write returns a review_url: the sheet with changed cells highlighted and recomputed dependents visible, a card per agent action with before → after, and Accept, Reject, Save. With --review-required, only that page can write the file.
Runs anywhere Node runs
One install line. No Python environment, no openpyxl, no LibreOffice recalc pass, no Excel install — which is what the “just script it” path quietly needs. Works on the locked-down laptop.
Sandboxed scripts
run_script runs the agent's JavaScript against the workbook in a worker with a hard timeout and lands the result as one reviewable batch — the right tool for “for every row where…”.
Add it to your agent
Claude Desktop
Download, double-click, done. Review required by default. No terminal, no Node install.
Download for Claude DesktopClaude Desktop shows its standard warning for extensions installed from a file. The source is public; nothing is written to a file until you accept and save on the review page.
Claude Code
claude mcp add gridpath -- npx -y gridpath mcp --review-required
Cursor / Claude Desktop (manual)
{
"mcpServers": {
"gridpath": {
"command": "npx",
"args": ["-y", "gridpath", "mcp", "--review-required"]
}
}
}
Codex (config.toml)
[mcp_servers.gridpath] command = "npx" args = ["-y", "gridpath", "mcp", "--review-required"]
What a session looks like
- "In
model.xlsx, add an FY2029E column with the same formula pattern." - The agent calls
describe_workbook, thenrun_script; the result comes back with a readback of every cell it wrote and a review link. - You open the link: the new column is highlighted, the values are already computed, the card shows each formula.
- Accept, Save. The file on disk changes in exactly one part: that sheet.
Honest note: the newest coding agents, given a careful prompt, often preserve workbook parts on their own by editing the XML directly. GridPath's difference is that it always does, it shows you the diff first, and it needs nothing installed but Node. Numbers and methodology in the evals repo.
Don't use a coding agent?
GridPath is also a desktop app with the same engine and review, and its own agent built in. Free with your Claude or ChatGPT subscription.