
Mcp Server Xlwings
Talks to Excel through COM automation instead of reading xlsx files directly, which means it works with DRM-protected workbooks and live sessions that openpyxl can't touch. You get 11 tools covering the usual suspects like read_data and write_data, plus Excel-specific stuff like run_macro for VBA execution, get_active_workbook to see what the user has selected, and manage_sheets for inserting rows or copying sheets. The read_data tool handles merged cells properly and can batch-read all sheets with sheet="*". Useful when you're dealing with enterprise Excel files that have protection or when you need to interact with formulas and macros in a running instance. Windows only since it requires Excel's COM interface.
- GitHub stars
- 1
- tools
- 11
- transport
- STDIO
- last updated
- Mar 1, 2026
Tools
11 toolsPublic tool metadata for what this MCP can expose to an agent.
get_active_workbookGet active workbook info, sheets, and current selection with data
Get active workbook info, sheets, and current selection with data
No parameter schema in public metadata yet.
manage_workbooksList, open, save, close, or recalculate workbooks
List, open, save, close, or recalculate workbooks
No parameter schema in public metadata yet.
read_dataRead a range with merge_info, header_row, sheet="*" batch read, and detail mode
Read a range with merge_info, header_row, sheet="*" batch read, and detail mode
No parameter schema in public metadata yet.
write_dataWrite a 2D array (data) or a single-cell formula (formula)
Write a 2D array (data) or a single-cell formula (formula)
No parameter schema in public metadata yet.
manage_sheetsList, add, delete, rename, copy, activate sheets. Insert/delete rows and columns
List, add, delete, rename, copy, activate sheets. Insert/delete rows and columns
No parameter schema in public metadata yet.
find_replaceSearch for text, optionally replace it
Search for text, optionally replace it
No parameter schema in public metadata yet.
format_rangeApply formatting (bold, italic, color, borders, alignment, number format, etc.)
Apply formatting (bold, italic, color, borders, alignment, number format, etc.)
No parameter schema in public metadata yet.
run_macroExecute a VBA macro and get its return value
Execute a VBA macro and get its return value
No parameter schema in public metadata yet.
get_formulasGet all formulas in a range with optional calculated values
Get all formulas in a range with optional calculated values
No parameter schema in public metadata yet.
get_cell_stylesGet formatting/style info (bold, colors, borders, etc.) for cells in a range
Get formatting/style info (bold, colors, borders, etc.) for cells in a range
No parameter schema in public metadata yet.
get_objectsList charts, images, and shapes on a sheet
List charts, images, and shapes on a sheet
No parameter schema in public metadata yet.
Sponsors
Readme
mcp-server-xlwings
MCP server for Excel automation via xlwings COM. Works with DRM-protected files.
Why xlwings?
Libraries like openpyxl or pandas read .xlsx files directly from disk. This fails when:
- DRM / file-level encryption is applied (common in enterprise environments)
- You need to interact with a live Excel session (formulas, macros, add-ins)
- Files are locked by another process
mcp-server-xlwings uses COM automation to talk to the running Excel process, so it can read and write any file that Excel itself can open -- including DRM-protected documents.
xlwings-exclusive capabilities
These features are impossible with file-based libraries like openpyxl:
Details
- Repository
- github.com/geniuskey/mcp-server-xlwings
- Categories
- Automation & Workflows, Data & Analytics, Productivity & Office
- Package
mcp-server-xlwings- Transport
- STDIO
- Registry
- MCP registry, active