excel-mcp-server
by: haris-musa
A Model Context Protocol server for Excel file manipulation
📌Overview
Purpose: To enable Excel file manipulation capabilities without requiring Microsoft Excel installation, allowing for workbook creation, data manipulation, formatting, and advanced features through a Model Context Protocol (MCP) server.
Overview: The Excel MCP Server is an implementation designed to manipulate Excel workbooks using Python and the OpenPyXL library. It allows users to create, modify, and manage Excel files efficiently while providing a robust set of tools for various data operations.
Key Features:
-
Full Excel Support: Offers comprehensive Excel functionalities for users to perform a wide range of operations.
-
Data Manipulation: Facilitates reading, writing, and transforming data within Excel workbooks, making it ideal for data processing tasks.
-
Advanced Features: Supports charts, pivot tables, and detailed formatting options, enhancing data visualization and analysis capabilities.
-
Error Handling: Includes comprehensive error handling mechanisms that provide clear and helpful error messages to users, improving overall reliability.
Excel MCP Server
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
- Create and modify Excel workbooks
- Read and write data
- Apply formatting and styles
- Create charts and visualizations
- Generate pivot tables
- Manage worksheets and ranges
Quick Start
Prerequisites
- Python 3.10 or higher
Installation
- Clone the repository:
git clone https://github.com/haris-musa/excel-mcp-server.git
cd excel-mcp-server
- Install using uv:
uv pip install -e .
Running the Server
Start the server (default port 8000):
uv run excel-mcp-server
Custom port (e.g., 8080):
# Bash/Linux/macOS
export FASTMCP_PORT=8080 && uv run excel-mcp-server
# Windows PowerShell
$env:FASTMCP_PORT = "8080"; uv run excel-mcp-server
Using with AI Tools
Cursor IDE
- Add this configuration to Cursor:
{
"mcpServers": {
"excel": {
"url": "http://localhost:8000/sse",
"env": {
"EXCEL_FILES_PATH": "/path/to/excel/files"
}
}
}
}
- The Excel tools will be available through your AI assistant.
Remote Hosting & Transport Protocols
This server uses Server-Sent Events (SSE) transport protocol. For different use cases:
-
Using with Claude Desktop (requires stdio):
Use Supergateway (https://github.com/supercorp-ai/supergateway) to convert SSE to stdio. -
Hosting Your MCP Server:
Remote MCP Server Guide at https://developers.cloudflare.com/agents/guides/remote-mcp-server/
Environment Variables
FASTMCP_PORT
: Server port (default: 8000)EXCEL_FILES_PATH
: Directory for Excel files (default:./excel_files
)
Available Tools
The server provides a comprehensive set of Excel manipulation tools. See TOOLS.md for complete documentation of all available tools.
License
MIT License - see LICENSE for details.