Excel MCP Server
by haris-musa
README.md
<p align="center">
<img src="https://raw.githubusercontent.com/haris-musa/excel-mcp-server/main/assets/logo.png" alt="Excel MCP Server Logo" width="300"/>
</p>
[](https://pypi.org/project/excel-mcp-server/)
[](https://pepy.tech/project/excel-mcp-server)
[](https://opensource.org/licenses/MIT)
[](https://smithery.ai/server/@haris-musa/excel-mcp-server)
[](https://cursor.com/install-mcp?name=excel-mcp-server&config=eyJjb21tYW5kIjoidXZ4IGV4Y2VsLW1jcC1zZXJ2ZXIgc3RkaW8ifQ%3D%3D)
A Model Context Protocol (MCP) server that lets you manipulate Excel files without needing Microsoft Excel installed. Create, read, and modify Excel workbooks with your AI agent.
## Features
- 📊 **Excel Operations**: Create, read, update workbooks and worksheets
- 📈 **Data Manipulation**: Formulas, formatting, charts, pivot tables, and Excel tables
- 🔍 **Data Validation**: Built-in validation for ranges, formulas, and data integrity
- 🎨 **Formatting**: Font styling, colors, borders, alignment, and conditional formatting
- 📋 **Table Operations**: Create and manage Excel tables with custom styling
- 📊 **Chart Creation**: Generate various chart types (line, bar, pie, scatter, etc.)
- 🔄 **Pivot Tables**: Create dynamic pivot tables for data analysis
- 🔧 **Sheet Management**: Copy, rename, delete worksheets with ease
- 🔌 **Triple transport support**: stdio, SSE (deprecated), and streamable HTTP
- 🌐 **Remote & Local**: Works both locally and as a remote service
## Usage
The server supports three transport methods:
### 1. Stdio Transport (for local use)
```bash
uvx excel-mcp-server stdio
```
```json
{
"mcpServers": {
"excel": {
"command": "uvx",
"args": ["excel-mcp-server", "stdio"]
}
}
}
```
### 2. SSE Transport (Server-Sent Events - Deprecated)
```bash
uvx excel-mcp-server sse
```
**SSE transport connection**:
```json
{
"mcpServers": {
"excel": {
"url": "http://localhost:8000/sse",
}
}
}
```
### 3. Streamable HTTP Transport (Recommended for remote connections)
```bash
uvx excel-mcp-server streamable-http
```
**Streamable HTTP transport connection**:
```json
{
"mcpServers": {
"excel": {
"url": "http://localhost:8000/mcp",
}
}
}
```
## Environment Variables & File Path Handling
### SSE and Streamable HTTP Transports
When running the server with the **SSE or Streamable HTTP protocols**, you **must set the `EXCEL_FILES_PATH` environment variable on the server side**. This variable tells the server where to read and write Excel files.
- If not set, it defaults to `./excel_files`.
- With these transports, tool `filepath` values must be **relative** to that directory (e.g. `reports/q1.xlsx`); absolute paths and directory traversal are rejected.
You can also set the `FASTMCP_PORT` environment variable to control the port the server listens on (default is `8017` if not set).
- Example (Windows PowerShell):
```powershell
$env:EXCEL_FILES_PATH="E:\MyExcelFiles"
$env:FASTMCP_PORT="8007"
uvx excel-mcp-server streamable-http
```
- Example (Linux/macOS):
```bash
EXCEL_FILES_PATH=/path/to/excel_files FASTMCP_PORT=8007 uvx excel-mcp-server streamable-http
```
### Stdio Transport
When using the **stdio protocol**, the file path is provided with each tool call, so you do **not** need to set `EXCEL_FILES_PATH` on the server. The server will use the path sent by the client for each operation.
## Available Tools
The server provides a comprehensive set of Excel manipulation tools. See [TOOLS.md](TOOLS.md) for complete documentation of all available tools.
## Star History
[](https://www.star-history.com/#haris-musa/excel-mcp-server&Date)
## License
MIT License - see [LICENSE](LICENSE) for details.
TDQS
B3.2/5.0
Scored across 25 tools
Disambiguation4/5
Most tools target distinct Excel operations, but slight overlap exists between 'apply_formula' and 'write_data_to_excel' as both write to cells, though descriptions clarify their specific purposes.
Naming Consistency5/5
All tool names follow a consistent verb_noun pattern in snake_case, e.g., create_workbook, delete_worksheet, merge_cells, with no deviations.
Tool Count4/5
25 tools is at the upper end of the 'reasonable' range for an Excel server, covering many core operations without being excessive.
Completeness4/5
The tool set covers essential Excel operations like workbook/worksheet management, data reading/writing, formatting, formulas, charts, pivot tables, and tables, though advanced features like sorting or filtering are missing.
Maintenance
ActivityInactive
ResponsivenessUnresponsive