excel
A Model Context Protocol (MCP) server for working with Excel (.xlsx) files without requiring Microsoft Excel. Enables AI assistants to create, read, modify, and format spreadsheets using openpyxl, fully in Python and cross-platform.
claude mcp add --transport stdio mort-lab-excel-mcp uvx excel-mcp-server
How to use
The Excel MCP Server provides a suite of 20 MCP tools implemented in Python to manipulate Excel workbooks without requiring Microsoft Excel. It supports workbook management (creating workbooks, retrieving metadata, listing sheets), sheet operations (creating, deleting, renaming, and copying sheets), cell operations (reading and writing individual cells or ranges, including formulas), and rich formatting (font, fill, border, alignment, and number formatting). All tools are validated with Pydantic, ensuring type-safety and predictable input/output for automation workflows. You can invoke these tools via MCP-compliant clients and have them operate on local files or remote sources, enabling AI assistants to automate common Excel tasks such as generating reports, transforming data, applying formatting, and calculating results through formulas. The server uses openpyxl under the hood to provide feature-rich Excel interactions in a cross-platform, no-Excel-required environment.
How to install
Prerequisites:
- Python 3.10+ installed on your system
- Internet access to install packages
- Optional: uv (uvx) tooling if you want the provided local server command
Installation steps:
- Install the MCP server package (via uvx or pip as described in the README):
- uvx installation (recommended): uvx excel-mcp-server
- Python package installation: pip install excel-mcp-server
- If you are cloning from source:
- git clone https://github.com/mort-lab/excel-mcp
- cd excel-mcp
- uv sync
- Run the server locally via uvx (recommended):
- uvx excel-mcp-server
- Verify the server is running by checking the Smithery/CLI endpoints or by using the MCP client to connect to the server’s mcp endpoint.
Notes:
- The project relies on Python 3.10+ and openpyxl for Excel operations.
- If you prefer Smithery deployment, you can host the server under Smithery as described in the README.
- For Claude/Desktop integration, you can point clients to the configured mcpServers entry in your Claude config.
Additional notes
Tips and considerations:
- Environment variables are not strictly required by default; you can add placeholders for any needed paths or credentials if you extend the server to access remote files.
- If you run into Python dependency issues, ensure you are using a compatible Python environment (3.10+ as per the badge).
- The API validates inputs with Pydantic; if a client sends invalid types or missing required fields, you will receive structured validation errors.
- When automating formatting or formulas, remember that openpyxl supports a rich set of Excel features, but extremely advanced or vendor-specific features may have limitations.
- For local development, running uv sync, uv run pytest, and uv run ruff are recommended to keep code healthy.
Related MCP Servers
web-eval-agent
An MCP server that autonomously evaluates web applications.
mcp-neo4j
Neo4j Labs Model Context Protocol servers
Gitingest
mcp server for gitingest
zotero
Model Context Protocol (MCP) server for the Zotero API, in Python
fhir
FHIR MCP Server – helping you expose any FHIR Server or API as a MCP Server.
unitree-go2
The Unitree Go2 MCP Server is a server built on the MCP that enables users to control the Unitree Go2 robot using natural language commands interpreted by a LLM.