Skip to content
Agentmart
Submit a tool

MCP Server Spreadsheet

MCP server for spreadsheet files (.xlsx,.csv,.ods) - cell-level ops + DuckDB SQL engine.

Connector by marekrost · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 2
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/marekrost-mcp-server-spreadsheet

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

MCP server for spreadsheet files (.xlsx, .csv, .ods) - cell-level ops + DuckDB SQL engine.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
8 read · 9 write · 4 delete · 4 not yet classified
Secrets
None asked for
Install scripts
Not scanned yet
Runs as
Python package

Tools by what they do 25

Read from the source code; the running server may list different tools.

Read 8 · Look things up without changing anything.

  • describe_table
  • get_sheet_dimensions
  • list_sheets
  • list_workbooks
  • read_cell
  • read_range
  • read_sheet
  • search_sheet

Write 9 · Create, change, send or run things.

  • add_sheet
  • append_rows
  • create_workbook_file
  • insert_columns
  • insert_rows
  • rename_sheet
  • sql_execute
  • write_cell
  • write_range

Delete 4 · Delete, drop, revoke or wipe things.

  • clear_range
  • delete_columns
  • delete_rows
  • delete_sheet

Not yet classified 4 · We could not tell from the name and description.

  • copy_range
  • copy_sheet
  • copy_workbook
  • sql_query

Secrets and settings it asks for

Other settings (environment variables or headers).

  • MCP_SPREADSHEET_ROOT

Files it touches

  • Any path the agent passes to its tools

Tools (25)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • add_sheet

    Add a new sheet to the workbook. Returns the name of the newly created sheet. Not supported for CSV files.

  • append_rows

    Append one or more rows after the last used row in the sheet. Values are type-coerced (numeric strings to numbers). This is the most efficient way to add data to the end of a sheet.

  • clear_range

    Clear all cell values in a range without removing rows or columns. Sets every cell in the range to null. Row/column structure is preserved.

  • copy_range

    Copy a rectangular block of cells to another location. Copies raw values only. The destination can be on the same sheet or a different sheet in the same workbook. Existing values at the destination are overwritten.

  • copy_sheet

    Duplicate a sheet within the same workbook. Copies all cell values. Returns the name of the new sheet. Not supported for CSV files.

  • copy_workbook

    Copy an existing spreadsheet file to a new location. Performs a full file copy preserving all data. The destination must not already exist. Returns the absolute path of the new file.

  • create_workbook_file

    Create a new empty spreadsheet file at the given path. The file format is determined by the extension (.xlsx, .csv, or .ods). The file must not already exist. Returns the absolute path of the created file.

  • delete_columns

    Delete one or more columns, shifting remaining columns left.

  • delete_rows

    Delete one or more rows, shifting remaining rows up. All data in the deleted rows is permanently removed.

  • delete_sheet

    Delete a sheet by name from the workbook. All data in the sheet is permanently removed. Not supported for CSV files.

  • describe_table

    Inspect the structure of a sheet treated as a database table. Returns column names, inferred data types (text, integer, number, boolean, date), total row count, and sample values from the first 3 data rows. Use this before writing SQL queries to understand the available columns and their types. When sheet is omitted, returns a list of descriptions for all sheets.

  • get_sheet_dimensions

    Get the dimensions of the used range in a sheet. Returns {"rows": N, "columns": M} where N is the number of the last used row and M is the number of the last used column. Both are 0 for an empty sheet.

  • insert_columns

    Insert one or more blank columns, shifting existing columns right.

  • insert_rows

    Insert rows at a given position, shifting existing rows down. If data is provided, the inserted rows are filled with those values (type-coerced). Otherwise the rows are left blank.

  • list_sheets

    List all sheet names in a workbook, in workbook order. Returns a list of sheet name strings. CSV files always return a single sheet named 'default'.

Show 10 more tools
  • list_workbooks

    List all spreadsheet files (.xlsx, .csv, .ods) in a directory (non-recursive). Returns the full path of each file found, sorted alphabetically.

  • read_cell

    Read the value of a single cell. Returns the cell's value: numbers as int/float, text as string, and empty cells as null.

  • read_range

    Read a rectangular range of cells as a list of rows. Returns a 2D array where each inner list is one row of values. Empty cells return null.

  • read_sheet

    Read an entire sheet (or a bounded sub-region) as a list of rows. Each row is a list of cell values. Empty cells appear as null. Use the optional row/column bounds to limit output for large sheets.

  • rename_sheet

    Rename an existing sheet in the workbook. Returns the new sheet name on success.

  • search_sheet

    Search all cells in a sheet for values matching a regex pattern. Returns a list of matches, each with the cell reference and value, e.g. [{"cell": "B3", "value": "hello"}, ...]. Returns an empty list if no matches are found.

  • sql_execute

    Execute a mutating SQL statement and write changes back to the file. Supports INSERT INTO (adds rows), UPDATE (modifies cell values), and DELETE FROM (removes rows). The target sheet is determined from the SQL statement. After execution, the modified table is written back to the file atomically. Returns {"affected_rows": N}.

  • sql_query

    Execute a read-only SQL SELECT query against the spreadsheet data. Every sheet in the workbook is loaded as a database table, with the header row defining column names and data rows below it. Returns results as a list of {column: value} objects. Only SELECT (and WITH ... SELECT) statements are accepted. Use sql_execute for INSERT, UPDATE, or DELETE.

  • write_cell

    Write a single value to a cell. Overwrites any existing value. The value is type-coerced: numeric strings become numbers, all else is text.

  • write_range

    Write a 2D array of values into a rectangular region. Writing starts at start_cell and expands right and down to fit the data. Prefer this over multiple write_cell calls for efficiency.

Signals

Stars
2
Forks
1
Open issues
0
Weekly downloads
53
Last commit
Aug 11, 2026 (2 months ago)
Last release
Aug 11, 2026 (2 months ago)
Last package publish
Aug 11, 2026 (2 months ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.marekrost/mcp-server-spreadsheet
Version
0.3.3
Auth
No auth
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026
Cite this page

MCP Server Spreadsheet. Agent Mart. https://agentmart.dev/connectors/marekrost-mcp-server-spreadsheet (last updated 2026-10-24)