MCP Excel Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Excel ServerCreate a budget summary from expenses.xlsx"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Excel Server
A Model Context Protocol (MCP) server for Excel file manipulation. Read, write, analyze, and transform Excel spreadsheets (.xlsx, .xlsm) using AI agents.
Features
Read Data - Extract values, ranges, and metadata from Excel files
Write Data - Create and modify spreadsheets programmatically
Formulas - Add Excel formulas for calculations
Charts - Create and modify Excel charts (bar, line, pie, scatter, area)
Tables - Work with Excel structured tables
Analysis - Statistical summaries, filtering, and grouping
VBA Macros - Create, edit, and execute VBA macros (requires Excel installed)
Security - Path validation, audit logging, rate limiting, VBA safety checks
Related MCP server: Excel MCP Server
Quick Start
Installation
# Clone the repository
git clone https://github.com/username/mcp-excel-server.git
cd mcp-excel-server
# Install with Poetry
poetry install
# Or with pip
pip install -e .
# For VBA macro support (requires Excel installed)
pip install -e ".[vba]"Configuration
# Copy environment template
cp .env.example .env
# Edit .env with your settings
# MCP_EXCEL_TRANSPORT=stdio
# MCP_EXCEL_CACHE_SIZE=5Running the Server
# Using Poetry
poetry run python -m mcp_excel.server
# Or directly
python -m mcp_excel.serverClient Configuration
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"excel": {
"command": "python",
"args": ["-m", "mcp_excel.server"],
"cwd": "/path/to/mcp-excel-server"
}
}
}VS Code / Cursor
Add to .vscode/mcp.json or .cursor/mcp.json:
{
"mcpServers": {
"excel": {
"command": "python",
"args": ["-m", "mcp_excel.server"],
"cwd": "${workspaceFolder}"
}
}
}OpenCode
Add to your OpenCode configuration:
{
"mcpServers": {
"excel": {
"command": "python",
"args": ["-m", "mcp_excel.server"],
"env": {
"MCP_EXCEL_TRANSPORT": "stdio"
}
}
}
}Available Tools
Reading Data
Tool | Description |
| Read a single cell value |
| Read a range of cells |
| Get worksheet metadata |
| Search for values |
| List all worksheets |
| Get workbook overview |
Writing Data
Tool | Description |
| Write values to cells |
| Add Excel formulas |
| Create new worksheet |
| Delete a worksheet |
Formulas
Tool | Description |
| Read formula text from a cell |
| Get common formula templates |
Analysis
Tool | Description |
| Statistical summary |
| Filter data by conditions |
| Group and aggregate data |
Charts
Tool | Description |
| Create bar, line, pie, scatter, or area chart |
| List all charts in a worksheet |
| Update chart properties |
| Remove a chart |
Tables
Tool | Description |
| Create Excel structured table |
| List all tables in a worksheet |
| Delete a table |
| Add row to a table |
Example Usage
Read Sales Data
User: Read the sales data from C:/reports/Q1.xlsx
Agent calls:
1. describe_workbook(file_path="C:/reports/Q1.xlsx")
2. list_sheets(file_path="C:/reports/Q1.xlsx")
3. read_range(file_path="C:/reports/Q1.xlsx", sheet_name="Sales", range="A1:F100")Create Summary Report
User: Create a monthly summary with totals
Agent calls:
1. create_sheet(file_path="report.xlsx", sheet_name="Summary")
2. write_cells(file_path="report.xlsx", sheet_name="Summary", range="A1:D1", values=[["Month", "Sales", "Cost", "Profit"]])
3. write_formula(file_path="report.xlsx", sheet_name="Summary", cell="D2", formula="=B2-C2")Analyze Data
User: Analyze customer demographics
Agent calls:
1. get_column_stats(file_path="customers.xlsx", sheet_name="Data", column="Age")
2. group_by(file_path="customers.xlsx", sheet_name="Data", columns=["Region"], agg_column="Revenue", agg_func="sum")
3. filter_rows(file_path="customers.xlsx", sheet_name="Data", filters=[{"column": "Status", "operator": "==", "value": "Active"}])Skills
This server includes agent skills for better interaction:
excel-reading - Guide for reading Excel files
excel-writing - Guide for writing to Excel files
excel-analysis - Guide for data analysis
excel-formulas - Guide for Excel formulas
See the skills/ directory for detailed documentation.
Development
Setup
# Install development dependencies
poetry install --with dev
# Run tests
poetry run pytest
# Run linting
poetry run ruff check src/
# Run type checking
poetry run mypy src/Project Structure
mcp-excel-server/
├── src/mcp_excel/ # Source code
│ ├── server.py # MCP server entry point
│ ├── config.py # Configuration
│ ├── backends/ # Excel backends
│ ├── tools/ # MCP tools
│ ├── resources/ # MCP resources
│ ├── prompts/ # MCP prompts
│ └── utils/ # Utilities
├── tests/ # Test suite
├── skills/ # Agent skills
├── examples/ # Usage examples
└── docs/ # DocumentationAdding New Tools
Create tool in
src/mcp_excel/tools/Add Pydantic models for input/output
Register in
server.pyAdd tests in
tests/Update documentation
Troubleshooting
Common Issues
File not found error:
Ensure you're using absolute paths
Check file exists and is accessible
Permission denied:
Close Excel if file is open
Check file permissions
Memory errors:
Use pagination for large files
Reduce cache size in
.env
See docs/TROUBLESHOOTING.md for more details.
Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests
Run the test suite
Submit a pull request
License
MIT License - see LICENSE for details.
Acknowledgments
Model Context Protocol - The standard for AI-tool integration
FastMCP - Python MCP framework
openpyxl - Excel file handling
This server cannot be deployed
Maintenance
Related MCP Connectors
Open, inspect, filter, edit and convert xlsx and csv files from your AI chat. Processing is local.
131Open, inspect, filter, edit and convert xlsx and csv files from your AI chat. Processing is local.
131Open, inspect, filter, edit and convert xlsx and csv files from your AI chat. Processing is local.
Structured financial modeling for AI agents: build, version, audit models, export to Excel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA robust solution that enables AI agents to create, read, modify, and convert Excel files through the Model Context Protocol without requiring Microsoft Office installation.6MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables AI agents to freely operate Excel spreadsheets, providing tools for workbook creation, cell manipulation, formatting, formula handling, and data export.1181 npmISC
- AlicenseAqualityDmaintenanceEnables AI assistants to perform comprehensive Microsoft Excel operations including data analysis, cell editing, advanced formatting, and VBA execution on Windows systems. It provides a structured workflow for managing workbooks and worksheets through a dedicated Model Context Protocol interface.581 npm4MIT
- AlicenseAqualityCmaintenanceEnables AI agents to directly create, read, edit, and save Excel (.xlsx) spreadsheets using natural language through the Model Context Protocol, supporting cells, sheets, formatting, and formulas without writing Python code.215MIT