# excel-mcp-server
**Repository Path**: cpgithub/excel-mcp-server
## Basic Information
- **Project Name**: excel-mcp-server
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-08-14
- **Last Updated**: 2025-08-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
[](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`.
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.