Manipulate Excel Data Without Excel
Manipulate Excel files with AI. Create, read, update workbooks, worksheets, data, charts, and pivot tables without needing Excel installed.
Maintainer of this project? Claim this page to edit the listing.
0.1.8Add to Favorites
Why it matters
Empower your AI agents to directly interact with Excel files, enabling the creation, reading, and modification of workbooks and sheets without requiring Microsoft Excel to be installed.
Outcomes
What it gets done
Create, read, and update Excel workbooks and sheets programmatically.
Perform data manipulation including formulas, formatting, and charts.
Automate data validation and integrity checks within Excel files.
Manage Excel tables, charts, and pivot tables via an AI agent.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/vb-excel | bash Capabilities
Tools your agent gets
Create a new Excel workbook with specified sheets and data.
Read and retrieve data from an existing Excel workbook.
Modify and update data in an existing Excel workbook.
Create a new sheet within an Excel workbook.
Copy an existing sheet within or between Excel workbooks.
Rename an existing sheet in an Excel workbook.
Delete a sheet from an Excel workbook.
Add formulas to cells in an Excel workbook.
Overview
Excel MCP Server
The Excel MCP Server is a Model Context Protocol (MCP) server designed for AI agents. It enables the creation, reading, and modification of Excel workbooks and worksheets without requiring Microsoft Excel to be installed. The server supports advanced features like data manipulation with formulas, formatting, chart creation, and pivot tables. Use this server when your AI agent needs to interact with Excel files for tasks such as data entry, report generation, data analysis, or automating spreadsheet workflows. It is particularly useful in environments where installing Microsoft Excel is not feasible or desired.
What it does
The big job is to enable AI agents to interact with and manage Excel data programmatically. The small job is to provide a robust MCP server that allows an AI client to perform various Excel operations, such as creating, reading, updating workbooks and worksheets, manipulating data with formulas and formatting, generating charts, and creating pivot tables, all without requiring Microsoft Excel to be installed on the machine.
For local use, you can start the server with the stdio transport:
uvx excel-mcp-server stdio
Or configure it in your MCP client like this:
{
"mcpServers": {
"excel": {
"command": "uvx",
"args": ["excel-mcp-server", "stdio"]
}
}
}
Source README
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)
uvx excel-mcp-server stdio
{
"mcpServers": {
"excel": {
"command": "uvx",
"args": ["excel-mcp-server", "stdio"]
}
}
}
2. SSE Transport (Server-Sent Events - Deprecated)
uvx excel-mcp-server sse
SSE transport connection:
{
"mcpServers": {
"excel": {
"url": "http://localhost:8000/sse",
}
}
}
3. Streamable HTTP Transport (Recommended for remote connections)
uvx excel-mcp-server streamable-http
Streamable HTTP transport connection:
{
"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
filepathvalues 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):
$env:EXCEL_FILES_PATH="E:\MyExcelFiles" $env:FASTMCP_PORT="8007" uvx excel-mcp-server streamable-http - Example (Linux/macOS):
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 for complete documentation of all available tools.
Star History
FAQ
Common questions
Discussion
Questions & comments Β· 0
Sign In Sign in to leave a comment.