Spreadsheet MCP server
io.github.marekrost/mcp-server-spreadsheet·v0.3.3·2 starsMCP server for spreadsheet files (.xlsx, .csv, .ods) - cell-level ops + DuckDB SQL engine.
2 stars34 downloads/wk
Reviews
Write oneNobody has reviewed Spreadsheet yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Spreadsheet tools (25, 10 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
add_sheetAdd a new sheet to the workbook.
append_rowsAppend one or more rows after the last used row in the sheet.
clear_rangeClear all cell values in a range without removing rows or columns.
copy_rangeCopy a rectangular block of cells to another location.
copy_sheetDuplicate a sheet within the same workbook.
copy_workbookCopy an existing spreadsheet file to a new location.
create_workbook_filewrite actionCreate a new empty spreadsheet file at the given path.
delete_columnswrite actionDelete one or more columns, shifting remaining columns left.
delete_rowswrite actionDelete one or more rows, shifting remaining rows up.
delete_sheetwrite actionDelete a sheet by name from the workbook.
describe_tableInspect the structure of a sheet treated as a database table.
get_sheet_dimensionsGet the dimensions of the used range in a sheet.
insert_columnswrite actionInsert one or more blank columns, shifting existing columns right.
insert_rowswrite actionInsert rows at a given position, shifting existing rows down.
list_sheetsList all sheet names in a workbook, in workbook order.
list_workbooksList all spreadsheet files (.xlsx, .csv, .ods) in a directory (non-recursive).
read_cellRead the value of a single cell.
read_rangeRead a rectangular range of cells as a list of rows.
read_sheetRead an entire sheet (or a bounded sub-region) as a list of rows.
rename_sheetRename an existing sheet in the workbook.
search_sheetSearch all cells in a sheet for values matching a regex pattern.
sql_executewrite actionExecute a mutating SQL statement and write changes back to the file.
sql_querywrite actionExecute a read-only SQL SELECT query against the spreadsheet data.
write_cellwrite actionWrite a single value to a cell.
write_rangewrite actionWrite a 2D array of values into a rectangular region.
Public scan report
scanner v0.1.10 · 2026-11-04 · same rubric, same numbers if you re-run it
- Code scan8 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 85 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Spreadsheet compares
Against every graded Databases MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 88/100
- higher than 75% of 802 Databases servers
- Tools
- 25
- the typical Databases server has 8
- Tools that change things
- 40%
- typical: 10%. Fewer write tools means less an agent can break
- GitHub stars
- 2
- more than 60% of 602 Databases servers
- Downloads a week
- 34
- more than 20% of 328 Databases servers with a package
What its tools let an agent do: 13 read · 6 create · 3 change · 3 delete
Install Spreadsheet in Claude Code, Cursor or VS Code
claude mcp add mcp-server-spreadsheet -- uvx mcp-server-spreadsheet
What the publisher says
From the Spreadsheet repository's README, as published. We do not edit it. Read it on GitHub
mcp-server-spreadsheet
mcp-name: io.github.marekrost/mcp-server-spreadsheet
Data-first MCP server for reading and writing spreadsheet files (.xlsx, .csv, .ods).
Key features
- Multi-format — works with Excel (.xlsx), CSV (.csv), and OpenDocument (.ods) files through a unified tool interface.
- Dual mode — cell-level workbook operations and a DuckDB-powered SQL query engine, interleaved freely on the same file.
- Workbook essentials — worksheets, rows, columns, cells, search.
- Data-only — preserves existing formatting but only reads and writes values.
- Stateless — every call specifies file and sheet explicitly; no handles or sessions.
- Atomic saves — writes go to a temp file, then os.replace() into the target path.
- Type coercion on write — numeric strings become numbers, everything else is text.
- SQL across sheets — JOINs, GROUP BY, aggregates, subqueries via in-memory DuckDB; mutations write back to the file.
- CSV as single-sheet workbook — CSV files are treated as a workbook with one sheet named default.
Requirements
- Python 3.10+
Installation
From PyPI (recommended)
No local checkout needed — just configure your MCP client (see below).
From source (for development)
git clone https://github.com/marekrost/mcp-server-spreadsheet.git
cd mcp-server-spreadsheet
uv syncUsage
Claude Desktop
Add to your claudedesktopconfig.json:
Using PyPI (recommended):
{
"mcpServers": {
"mcp-server-spreadsheet": {
"command": "uvx",
"args": ["mcp-server-spreadsheet"]
}
}
}Using local source:
{
"mcpServers": {
"mcp-server-spreadsheet": {
"command": "uv",
"args": ["run", "--directory", "/path/to/mcp-server-spreadsheet", "main.py"]
}
}
}Claude Code
Add to your .mcp.json:
Using PyPI (recommended):
{
"mcpServers": {
"mcp-server-spreadsheet": {
"command": "uvx",
"args": ["mcp-server-spreadsheet"]
}
}
}Using local source:
{
"mcpServers": {
"mcp-server-spreadsheet": {
"command": "uv",
"args": ["run", "--directory", "/path/to/mcp-server-spreadsheet", "main.py"]
}
}
}Standalone (stdio transport)
# PyPI
uvx mcp-server-spreadsheet
# Local source
uv run main.pyRestricting file access to a directory (optional)
Set MCPSPREADSHEETROOT to confine all path arguments to a single directory tree. Paths outside it are rejected with a clear error returned to the agent.
{
"mcpServers": {
"mcp-server-spreadsheet": {
"command": "uvx",
"args": ["mcp-server-spreadsheet"],
"env": { "MCP_SPREADSHEET_ROOT": "/home/me/spreadsheets" }
}
}
}Unset (the default), any path the server process can access is allowed.
Format notes
Sheet management tools (addsheet, deletesheet, copy_sheet) raise an error for CSV files.
Tools
Workbook Operations
Sheet Operations
Reading Data
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Spreadsheet: common questions
- Is Spreadsheet MCP server safe?
- Yes, by our scan: it is graded A (88/100). Read the Spreadsheet safety report
- How do I install Spreadsheet?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Spreadsheet need an API key?
- No secret keys are declared. It reads 1 setting from the environment.
- Is Spreadsheet maintained?
- The last commit was 85 days ago (2026-08-11). The latest release is v0.3.3.
- What can I use instead of Spreadsheet?
- Servers from other publishers that do the same job: StackQL MCP Server, Magic Cloud MCP server and AnythingMCP MCP server.
- How does Spreadsheet compare with other Databases MCP servers?
- safety score 88/100 (higher than 75% of 802 Databases servers); tools 25 (the typical Databases server has 8); tools that change things 40% (typical: 10%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Spreadsheet
Same job from other publishers: the closest match first, then the best rated.
- StackQL MCP ServerSQL-native query and provisioning engine for cloud infrastructure, served over MCP.not reviewedEstablishedA
Magic CloudGenerate secured CRUD APIs over your database, run SQL, manage files, tasks and a headless browsernot reviewedEstablishedA
AnythingMCPMCP gateway and company brain: 694 connectors (SAP, ERP, SQL), file search, memory and skills.not reviewedEstablishedB- DexSQLSQL for Android APK and DEX files: classes, methods, strings, references and smali.not reviewedGrowingA
ShowboardYour coding agent answers with dashboards: charts and tables from read-only SQL, Excel and CSV.not reviewedGrowingB