create_workbook_toolLABSCO SUMMARY
Formatting is part of the write, not a second pass.
The formatted-table and dashboard tools take number formats, header styling and chart placement as arguments, so a report comes out looking finished rather than as raw values you then have to style by hand. The dependency shape is the thing to check first: it is a Node package that shells into Python, so a missing or wrong Python on PATH is the most common reason it will not start.
What it is
An MCP server that manipulates Excel files directly through openpyxl and pandas, so no copy of Excel is involved. It creates and opens workbooks, manages sheets, writes data and formulas, builds formatted tables and charts, assembles multi-visualisation dashboards, and moves data in and out of other formats. Full formula support runs through every write operation.
What you get
- Workbooks created, opened, saved and enumerated across XLSX, XLSM, XLTX and XLTM —
create_workbook_tool,open_workbook_tool,save_workbook_tool,list_sheets_tool - Worksheets added, deleted and renamed —
add_sheet_tool,delete_sheet_tool,rename_sheet_tool - Data and formulas written by range or single cell, and read back with pagination —
write_sheet_data_tool,update_cell_tool - Excel tables created plainly or with number formats, header styling and a table style applied in one call —
add_table_tool,create_formatted_table_tool - Charts in column, bar, line, pie and scatter form, and dashboards combining several tables and charts across sheets —
add_chart_tool,create_dashboard_tool - Rows filtered by value lists and comparisons against a named table —
filter_data_tool - Data imported from CSV, JSON and SQL and exported to CSV, JSON and PDF, including per-sheet and multi-sheet PDF export —
import_data_tool,export_data_tool,export_single_sheet_pdf_tool,export_sheets_pdf_tool - Automatic column-width adjustment, row-height optimisation for wrapped text, and chart styles such as
colorful-1anddark-blue
Requirements
No account and no key. Node.js 14.0 or higher and Python 3.8 or higher — the launcher is Node, the work is Python. Run it with npx @guillehr2/excel-mcp-server@latest or install globally with npm; the published package is @guillehr2/excel-mcp-server 1.0.7 with an excel-mcp-server binary. Python dependencies — fastmcp, openpyxl, pandas, numpy, matplotlib, xlsxwriter, xlrd and xlwt — are installed automatically on first run, which is why Python must already be on your PATH. Windows, macOS and Linux.
Setup effort
One command — npx @guillehr2/excel-mcp-server@latest
USE CASES
Producing a report someone else will open in Excel
Write the data as a styled table with number formats, add a chart against the same range, and save the workbook — no manual formatting afterwards.
Building a dashboard from data you already have
Import from CSV, JSON or SQL into sheets, then lay out tables and several charts across a dashboard sheet in one call.
Answering a question about a workbook you were sent
Open it, list the sheets, and filter the table by the values and comparisons you care about instead of scrolling.
Getting a workbook out to something else
Export sheets to CSV or JSON for a pipeline, or to PDF — a single sheet or several — for circulation.
22 tools
Listed in project docs. Your client may show a different list.
open_workbook_toolsave_workbook_toollist_sheets_tooladd_sheet_tooldelete_sheet_toolrename_sheet_toolwrite_sheet_data_toolupdate_cell_toolcreate_sheet_with_data_tooladd_table_toolcreate_formatted_table_tooladd_chart_toolcreate_chart_from_data_toolcreate_dashboard_toolcreate_report_from_template_toolupdate_report_toolimport_data_toolexport_data_toolfilter_data_toolexport_single_sheet_pdf_toolexport_sheets_pdf_toolBEFORE YOU INSTALL
What to know first
Tools you get
22 tools named in the project's documentation.
Requires
- npx on PATH
- Node.js 14.0 or later
- Python 3.8 or later
INSTALLATION
Connect your client
Server setup
Any MCP client
npx @guillehr2/excel-mcp-server@latestMCP Clients
Claude Desktop — npx
{
"mcpServers": {
"excel-master": {
"command": "npx",
"args": [
"-y",
"@guillehr2/excel-mcp-server@latest"
]
}
}
}Claude Desktop — pinned version
{
"mcpServers": {
"excel-master": {
"command": "npx",
"args": [
"-y",
"@guillehr2/excel-mcp-server@1.0.7"
]
}
}
}Claude Desktop — global install
{
"mcpServers": {
"excel-master": {
"command": "excel-mcp-server"
}
}
}Claude Desktop — from source
git clone https://github.com/guillehr2/Excel-MCP-Server-Master.git
cd Excel-MCP-Server-Master
npm install
pip install -r requirements.txtAdd the server to Claude Desktop with the full path to index.js in that folder
{
"mcpServers": {
"excel-master": {
"command": "node",
"args": [
"<YOUR_PATH_TO_EXCEL_MCP_SERVER_MASTER>/index.js"
]
}
}
}<YOUR_PATH_TO_EXCEL_MCP_SERVER_MASTER>/index.js is the absolute path of index.js in your clone. Claude Desktop does not resolve a relative path against it.