Excel MCP Server for manipulating Excel files
Project description
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.
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
License
MIT License - see LICENSE for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file excel_mcp_server-0.1.7.tar.gz.
File metadata
- Download URL: excel_mcp_server-0.1.7.tar.gz
- Upload date:
- Size: 23.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b18e46ec72e3221d38303fb4dfc1e6f4aaf695b1f3dab505907e8a7f9cbddae7
|
|
| MD5 |
5d581610e650d0193247e3f0de515e6a
|
|
| BLAKE2b-256 |
ec737472df2843504a599ae10e7918fcc7bedf9ba5e64f3e4b075b39498b7802
|
Provenance
The following attestation bundles were made for excel_mcp_server-0.1.7.tar.gz:
Publisher:
publish.yml on haris-musa/excel-mcp-server
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
excel_mcp_server-0.1.7.tar.gz -
Subject digest:
b18e46ec72e3221d38303fb4dfc1e6f4aaf695b1f3dab505907e8a7f9cbddae7 - Sigstore transparency entry: 358482797
- Sigstore integration time:
-
Permalink:
haris-musa/excel-mcp-server@f0c0ecdcd7e5c13fb446f12f3b6c8e3e729f6417 -
Branch / Tag:
refs/tags/v0.1.7 - Owner: https://github.com/haris-musa
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f0c0ecdcd7e5c13fb446f12f3b6c8e3e729f6417 -
Trigger Event:
release
-
Statement type:
File details
Details for the file excel_mcp_server-0.1.7-py3-none-any.whl.
File metadata
- Download URL: excel_mcp_server-0.1.7-py3-none-any.whl
- Upload date:
- Size: 30.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bbaa93c555585a260c3b674e22fc58b680b96c36b3377dc06a3d176a3fb6f43a
|
|
| MD5 |
781199899ed566543422908aa26e70b2
|
|
| BLAKE2b-256 |
160edf5222e1564de3ccc88479d8c599a2b3b2bd339715e141a844d876430d50
|
Provenance
The following attestation bundles were made for excel_mcp_server-0.1.7-py3-none-any.whl:
Publisher:
publish.yml on haris-musa/excel-mcp-server
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
excel_mcp_server-0.1.7-py3-none-any.whl -
Subject digest:
bbaa93c555585a260c3b674e22fc58b680b96c36b3377dc06a3d176a3fb6f43a - Sigstore transparency entry: 358482818
- Sigstore integration time:
-
Permalink:
haris-musa/excel-mcp-server@f0c0ecdcd7e5c13fb446f12f3b6c8e3e729f6417 -
Branch / Tag:
refs/tags/v0.1.7 - Owner: https://github.com/haris-musa
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f0c0ecdcd7e5c13fb446f12f3b6c8e3e729f6417 -
Trigger Event:
release
-
Statement type: