Can Claude edit my Excel file?
Yes, if you connect an MCP spreadsheet server. Claude on its own can only read a file you paste or upload in limited ways; it cannot open, recalculate and save a real .xlsx with formulas intact. An MCP server does the open/save; Claude does the deciding.
Procedure
- Mint a token at https://mcp.zovo.one/mcp/connect.
- Add the connector with the URL
https://mcp.zovo.one/mcp/spreadsheet/t/<token>(claude.ai: Settings, Connectors, Add custom connector; Cursor:.mcp.jsonwith the same shape shown on any zovo.one guide page). - Upload or reference the workbook. On the hosted route, send the file contents or a URL, because the server has no access to your local disk.
- Ask for a concrete edit: “In sheet Sales, add a column Total = Quantity * Unit Price for rows 2-200, then sort by Total descending, and return the updated file.”
- Collect the download link. Hosted results expire after one hour; download at once.
When this does not work
- Formulas become values. Some readers flatten formulas. Say “keep formulas” in the request and verify one cell after download; if the server cannot preserve them, it will say so rather than guess.
- File too large. The hosted route transfers the workbook in the request/response; a 50 MB workbook will fail or truncate. Split the workbook or run a local stdio server against the file path.
- Claude reads but does not edit. The connector was added but not enabled in that conversation; open the connectors menu and toggle it on.
Note
The spreadsheet MCP server handles .xlsx and CSV and is hosted free at mcp.zovo.one on the anonymous tier; Pro keys are $19 single, $39 bundle. A cheaper alternative for read-only questions is pasting the CSV directly, which needs no server at all.
Verify the connection with curl
Before blaming the assistant, confirm the server answers a real call. Discovery alone is not proof — initialize and tools/list answer 200 even with a bad token, but this is the exact request shape to start from:
curl -s https://mcp.zovo.one/mcp/spreadsheet/t/<token> \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
If this returns a tool list, the token and URL are good and any remaining problem is in the client’s connector settings.
What the server actually does
A spreadsheet server separates reading from writing: one set of tools reads sheets and cells, another writes or appends. For anything beyond a column of arithmetic, first ask for a read of the relevant range, confirm the row and column layout in chat, then issue the write. That two-step habit catches off-by-one row errors before they reach the file.