Skip to main content

Excel MCP Tools Logo

PyPI version Total Downloads License: MIT

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 mcp-excel-tools stdio
{
   "mcpServers": {
      "excel": {
         "command": "uvx",
         "args": ["mcp-excel-tools", "stdio"]
      }
   }
}

2. SSE Transport (Server-Sent Events - Deprecated)

uvx mcp-excel-tools sse 

SSE transport connection:

{
   "mcpServers": {
      "excel": {
         "url": "http://localhost:8000/sse",
      }
   }
}
uvx mcp-excel-tools 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 mcp-excel-tools streamable-http
    
  • Example (Linux/macOS):
    EXCEL_FILES_PATH=/path/to/excel_files FASTMCP_PORT=8007 uvx mcp-excel-tools 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.

set EXCEL_FILES_PATH can help agent as soon as possible to find the Excel file, actually every tool's env and base path diffent another one, but they should resolve the relative path to absolute path.

Available Tools

The server provides a comprehensive set of Excel manipulation tools. See TOOLS.md for complete documentation of all available tools.

Thanks

this project is based on excel-mcp-server, thanks for the original work.

License

MIT License - see LICENSE for details.

Metadata

Release files for mcp-excel-tools 0.1.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-excel-tools 0.1.9
File Size Uploaded Provenance
mcp_excel_tools-0.1.9.tar.gz 84.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-excel-tools 0.1.9
File Interpreter ABI Platform
mcp_excel_tools-0.1.9-py3-none-any.whl Python 3 none any Details

Total release size: 115.4 kB

Release files / mcp_excel_tools-0.1.9.tar.gz

Download URL mcp_excel_tools-0.1.9.tar.gz
Size 84.7 kB
Tags Source
SHA-256 checksum
How to use checksums
032ff1fd2e6c3fc4db8e2c1be5bb6459e758aafca302736f8d8e513c813cee1d
BLAKE2b-256 checksum
How to use checksums
495368e08161393d9a76a6b664a93f0aaca39e9212f56aa77cf9d14229add204
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.18

Release files / mcp_excel_tools-0.1.9-py3-none-any.whl

Download URL mcp_excel_tools-0.1.9-py3-none-any.whl
Size 30.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6b54d871f28ea8957c592c1fa02cf41dc6f06a1513a041a04ad973abc497bfc8
BLAKE2b-256 checksum
How to use checksums
eb38cb32e182cc3a7613c015cd0a6455cae07f8959a1b5554b64d2476d6d8e25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.18

Security for mcp-excel-tools 0.1.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.9 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page