Skip to main content

Excel MCP Server for manipulating Excel files

Project description

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",
      }
   }
}

3. Streamable HTTP Transport (Recommended for remote connections)

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.

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

mcp_excel_tools-0.1.8.tar.gz (23.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_excel_tools-0.1.8-py3-none-any.whl (3.8 kB view details)

Uploaded Python 3

File details

Details for the file mcp_excel_tools-0.1.8.tar.gz.

File metadata

  • Download URL: mcp_excel_tools-0.1.8.tar.gz
  • Upload date:
  • Size: 23.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for mcp_excel_tools-0.1.8.tar.gz
Algorithm Hash digest
SHA256 ff39739ccd61e7da614c4b7a75d6fbc151510f24485de8769c7f23c5d0ee9f3c
MD5 6a4c220e9d3606047ebb9704d64e4bc6
BLAKE2b-256 96a5e1ec97aa6e5f73bd95dbeda24c5993f55eb8b3666166fecb48da9bc680da

See more details on using hashes here.

File details

Details for the file mcp_excel_tools-0.1.8-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_excel_tools-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 13fffc75421eb7cbb7da0214da8b82515cce3a7cb5ef3f1c617f460279a19725
MD5 d979cd207dc441da88069f672d298156
BLAKE2b-256 8f10854b4bdcc95e0be4f4097fa65747479b0d4dc29a53d79a0de43e91e2cce2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page