create_workbookLABSCO SUMMARY
A real spreadsheet engine, reached over SSE.
Most Excel connectors read cells; this one builds charts and pivot tables and exports a formatted PDF, because there is a full document library underneath. The transport is the thing to plan for — it runs as a service on a port, so a stdio-only client needs a bridge in front of it.
What it is
An MCP server built on Spire.XLS for Python that gives an agent real Excel manipulation. It is independent of Microsoft Office, so it runs on a server with no Excel installed, and the conversions keep formatting fidelity rather than approximating it.
What you get
- Workbook and worksheet basics — create, read, write and delete worksheets or whole workbooks
- Worksheet control: rename, move, hide, freeze panes
- Cell-level data work — read and write ranges, apply formulas, sort and filter
- Formatting — styles, merged cells, fonts and colors, conditional formatting
- Charts of several types, and pivot tables to summarize and explore the data
- Conversion out of Excel to PDF, HTML, CSV, image and XML
Requirements
No account and no key. Python 3.10 or higher and uv. Clone the repository and uv pip install -e ., then start it with uv run spire-xls-mcp-server. It speaks SSE, so the client config points at a URL — http://localhost:8000/sse by default — rather than launching a command; FASTMCP_PORT changes the port and EXCEL_FILES_PATH sets the working directory for files, defaulting to ./excel_files. Claude Desktop needs stdio, so it requires a bridge such as Supergateway. Package spire-xls-mcp-server at 0.1.1, MIT.
Setup effort
Build from source — git clone https://github.com/eiceblue/spire-xls-mcp-server.git
USE CASES
Turning a raw export into a report
Have the assistant load the sheet, add a chart and a pivot table, then convert the workbook to PDF for sending on.
Generating spreadsheets on a server with no Office
Run it in a container and build workbooks from data, since nothing here depends on Microsoft Excel being installed.
Getting data out of a workbook in a usable shape
Convert the sheet to CSV or XML instead of asking a model to read numbers out of a screenshot.
22 tools
Listed in project docs. Your client may show a different list.
create_worksheetget_workbook_metadatawrite_data_to_excelread_data_from_excelformat_rangemerge_cellsunmerge_cellsapply_formulacreate_chartcreate_pivot_tablecopy_worksheetdelete_worksheetrename_worksheetcopy_rangedelete_rangevalidate_excel_rangeexport_to_jsonimport_from_jsonconvert_excelget_shape_image_base64apply_autofilterBEFORE YOU INSTALL
What to know first
Tools you get
22 tools named in the project's documentation.
Requires
- A client that can reach a remote MCP server over HTTP
- Python 3.10 or later
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
This one is built from source rather than installed with a single command.
Server setup
git clone https://github.com/eiceblue/spire-xls-mcp-server.git
cd spire-xls-mcp-serverStart the server (default port 8000) and leave it running — uv installs the project into its own environment on the first run:
uv run spire-xls-mcp-serverMCP Clients
Cursor
{
"mcpServers": {
"excel": {
"url": "http://localhost:8000/sse"
}
}
}EXCEL_FILES_PATH is read by the server when it starts, not from this client entry: set it in the shell where you run uv run spire-xls-mcp-server (it defaults to ./excel_files).