productivityanalytics-data

Excel File Manipulation

by haris-musa

Automate Excel file tasks without Microsoft Excel using openpyxl and xlsxwriter for formatting, formulas, charts, and ad

Enables Excel file manipulation without Microsoft Excel installation using openpyxl, providing workbook operations, data validation detection, formatting, formulas, charts, pivot tables, and native Excel table support for automating spreadsheet workflows and report generation.

github stars

3.4K

No Microsoft Excel installation requiredTriple transport support (stdio, SSE, HTTP)Built-in data validation

best for

  • / Automating spreadsheet report generation
  • / Data analysts working with Excel files programmatically
  • / Building applications that process Excel data
  • / Creating Excel dashboards and charts without Excel installed

capabilities

  • / Read and write Excel file data
  • / Apply and validate Excel formulas
  • / Create charts and pivot tables
  • / Format cells and ranges
  • / Create native Excel tables
  • / Manage worksheets and workbooks

what it does

Manipulates Excel files without requiring Microsoft Excel installation, enabling creation and modification of workbooks, worksheets, formulas, charts, and pivot tables.

about

Excel File Manipulation is a community-built MCP server published by haris-musa that provides AI assistants with tools and capabilities via the Model Context Protocol. Automate Excel file tasks without Microsoft Excel using openpyxl and xlsxwriter for formatting, formulas, charts, and ad It is categorized under productivity, analytics data. This server exposes 25 tools that AI clients can invoke during conversations and coding sessions.

how to install

You can install Excel File Manipulation in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

license

MIT

Excel File Manipulation is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

readme

Excel MCP Server Logo

[![PyPI version](https://img.shields.io/pypi/v/excel-mcp-server.svg)](https://pypi.org/project/excel-mcp-server/) [![Total Downloads](https://static.pepy.tech/badge/excel-mcp-server)](https://pepy.tech/project/excel-mcp-server) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![smithery badge](https://smithery.ai/badge/@haris-musa/excel-mcp-server)](https://smithery.ai/server/@haris-musa/excel-mcp-server) [![Install MCP Server](https://cursor.com/deeplink/mcp-install-dark.svg)](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 [![Star History Chart](https://api.star-history.com/svg?repos=haris-musa/excel-mcp-server&type=Date)](https://www.star-history.com/#haris-musa/excel-mcp-server&Date) ## License MIT License - see [LICENSE](LICENSE) for details.