xlwings-mcp-server
A Model Context Protocol (MCP) server that manipulates Excel files using xlwings - providing native Excel integration through COM automation.
๐ฏ Why xlwings Instead of openpyxl?
This MCP server is specifically designed for corporate environments where:
- ๐ Document security policies prevent direct file access
- ๐ข Excel files are managed by enterprise document management systems
- ๐ You need to work with Excel through official Microsoft APIs
- โ IT compliance requires using approved COM automation
Key difference: While openpyxl directly reads/writes Excel files (which may be blocked by security policies), xlwings controls Excel through Microsoft's official COM interface - the same way VBA macros work. This means if you can run Excel macros, you can use this MCP server.
๐ Acknowledgments
This project is based on excel-mcp-server by Haris Musa.
The original excel-mcp-server uses openpyxl for Excel manipulation. This fork has been modified to use xlwings instead, which provides:
- Native Excel COM automation
- Better compatibility with complex Excel features
- Real-time Excel interaction
- Support for Excel-specific features like native pivot tables and charts
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
The original excel-mcp-server is also MIT licensed. Copyright (c) 2025 Haris.
๐ Features
All 25 tools from the original excel-mcp-server are fully functional:
Core Excel Operations
- โ Create, open, save workbooks
- โ Manage worksheets (create, copy, rename, delete)
- โ Read and write data with validation
- โ Apply formulas and validate syntax
- โ Format cells and ranges
Advanced Features
- โ Native Excel charts through COM
- โ Real pivot tables (not just data summaries)
- โ Excel tables (ListObjects)
- โ Cell merging and unmerging
- โ Row and column operations
- โ Range operations (copy, delete)
- โ Data validation info
๐ฆ Installation
Prerequisites
- Python 3.10+
- Microsoft Excel (required for xlwings)
- Windows (recommended) or macOS with Excel
Option 1: Install from PyPI (Recommended)
pip install xlwings-mcp-server
Option 2: Install from Source
- Clone the repository:
git clone https://github.com/hyunjae-labs/xlwings-mcp-server.git
cd xlwings-mcp-server
- Create virtual environment:
python -m venv .venv
.venv\Scripts\activate # Windows
# or
source .venv/bin/activate # macOS/Linux
- Install in development mode:
pip install -e .
๐ง Configuration
Add to your Claude Code MCP configuration:
{
"mcpServers": {
"xlwings-mcp-server": {
"type": "stdio",
"command": "C:\\path\\to\\xlwings-mcp-server\\.venv\\Scripts\\python.exe",
"args": ["-m", "xlwings_mcp", "stdio"]
}
}
}
๐ Available Tools
The server provides 25 tools for Excel manipulation:
Workbook Operations (3)
create_workbook- Create new Excel filecreate_worksheet- Add new worksheetget_workbook_metadata- Get workbook information
Data Operations (5)
write_data_to_excel- Write data to cellsread_data_from_excel- Read cell dataapply_formula- Apply Excel formulasvalidate_formula_syntax- Validate formula syntaxvalidate_excel_range- Validate cell ranges
Formatting & Visual (5)
format_range- Apply cell formattingcreate_chart- Create Excel chartscreate_pivot_table- Create pivot tablescreate_table- Create Excel tablesmerge_cells- Merge cell ranges
Sheet Management (6)
copy_worksheet- Copy worksheetsdelete_worksheet- Delete worksheetsrename_worksheet- Rename worksheetsunmerge_cells- Unmerge cellsget_merged_cells- Get merged cell infocopy_range- Copy cell ranges
Row/Column Operations (6)
delete_range- Delete cell rangesget_data_validation_info- Get validation rulesinsert_rows- Insert rowsinsert_columns- Insert columnsdelete_sheet_rows- Delete rowsdelete_sheet_columns- Delete columns
๐ When to Use Which?
Use excel-mcp-server (Original) when:
- โ You don't have Excel installed
- โ You need cross-platform support
- โ You want faster performance
- โ Simple Excel operations are sufficient
Use xlwings-mcp-server (This Fork) when:
- โ Corporate security blocks direct file access
- โ You need to work with protected/encrypted Excel files
- โ You require native Excel features (real pivot tables, complex charts)
- โ Your organization mandates using official Microsoft APIs
- โ You need real-time Excel integration
| Feature | excel-mcp-server (Original) | xlwings-mcp-server (This Fork) |
|---|---|---|
| How it works | Direct file manipulation | Controls Excel application |
| Security Policy | May be blocked | Works if macros are allowed |
| Excel Required | No | Yes |
| Best for | Personal use, servers | Corporate environments |
๐ค Contributing
Contributions are welcome! Please feel free to submit issues or pull requests.
๐ Citation
If you use this project, please acknowledge both:
- The original excel-mcp-server by Haris Musa
- This xlwings modification
๐ Links
- Original Project: excel-mcp-server
- xlwings Documentation: xlwings.org
- MCP Protocol: Model Context Protocol