
Mcp Server Spreadsheet
io.github.marekrost由 GitHub 帳號 marekrost 發布v0.3.3更新於 Oct 25, 2026
MCP server for spreadsheet files (.xlsx, .csv, .ods) - cell-level ops + DuckDB SQL engine.
概覽
本機 MCP 伺服器,用來讀寫 Excel、CSV 與 ODS 試算表,提供儲存格層級工具與 DuckDB SQL 引擎。
- 可以做什麼
- 列出、建立與複製活頁簿檔案,並列出、新增、重新命名、刪除或複製工作表(CSV 視為名為 default 的單一工作表)。讀取整張工作表、單一儲存格、範圍與已使用範圍尺寸。寫入儲存格、範圍與附加列;插入、刪除、清除與複製列、欄及範圍。依值或正規表示式搜尋工作表。檢視資料表結構並執行唯讀 SQL SELECT(含跨表 JOIN 與彙總),或執行 INSERT、UPDATE、DELETE 並寫回檔案。
- 適用情境
- 適合讓助理在本機檢視或修改試算表資料,例如彙整 CSV、調整 Excel 活頁簿結構,或用 SQL 查詢多張工作表而不必逐格讀取。
- 執行需求
- 以 PyPI 套件 mcp-server-spreadsheet 透過 uvx 在本機 stdio 執行,或以 uv 從原始碼執行;需要 Python 3.10 以上。無需驗證。可選設定 MCP_SPREADSHEET_ROOT 為絕對目錄,將所有路徑參數限制在該目錄內。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Mcp Server Spreadsheet,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
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
fileandsheetexplicitly; 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)
Usage
Claude Desktop
Add to your claude_desktop_config.json:
Using PyPI (recommended):
Using local source:
Claude Code
Add to your .mcp.json:
Using PyPI (recommended):
Using local source:
Standalone (stdio transport)
Restricting file access to a directory (optional)
Set MCP_SPREADSHEET_ROOT to confine all path arguments to a single directory tree. Paths outside it are rejected with a clear error returned to the agent.
Unset (the default), any path the server process can access is allowed.
Format notes
Sheet management tools (add_sheet, delete_sheet, copy_sheet) raise an error for CSV files.
Tools
Workbook Operations
Sheet Operations
Reading Data
Writing Data
Column Operations
Search
Table Mode (SQL)
SQL examples:
Sheet names with spaces must be quoted: SELECT * FROM "Q1 Sales".
Sheets whose table doesn't start at row 1
All three SQL tools accept header_row and data_start_row. Each can be an
int (applied to every sheet) or a {sheet_name: row} mapping (sheets not
listed fall back to the default). Use header_row when column titles live
below row 1, and data_start_row when extra rows (e.g. a units row) sit
between the header and the data.
sql_execute preserves rows above header_row when writing changes back.
Running tests
Every tool is exercised against .xlsx, .csv, and .ods fixtures generated into a temp directory.
Common Parameters
Every sheet-level tool accepts:
All row/column indices are 1-based. Cell references use A1 notation (A1, $B$2).
來源:README.md,提交 13e9e25
工具
0版本歷史
1- v0.3.3最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分