Skip to main content

Excel MCP Server for manipulating Excel files

Project description

Excel MCP Server Logo

PyPI version 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.

基于原项目: 本项目 fork 自 haris-musa/excel-mcp-server,由 BachStudio 维护和发布。

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

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

uvx bachstudio-excel-mcp-server sse

SSE transport connection:

{
   "mcpServers": {
      "excel": {
         "url": "http://localhost:8000/sse",
      }
   }
}

3. Streamable HTTP Transport (Recommended for remote connections)

uvx bachstudio-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 bachstudio-excel-mcp-server streamable-http
    
  • Example (Linux/macOS):
    EXCEL_FILES_PATH=/path/to/excel_files FASTMCP_PORT=8007 uvx bachstudio-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.

License

MIT License - see LICENSE for details.

Credits

This project is based on excel-mcp-server by haris-musa.

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

bachstudio_excel_mcp_server-0.1.7.tar.gz (23.2 kB view details)

Uploaded Source

Built Distribution

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

bachstudio_excel_mcp_server-0.1.7-py3-none-any.whl (3.9 kB view details)

Uploaded Python 3

File details

Details for the file bachstudio_excel_mcp_server-0.1.7.tar.gz.

File metadata

File hashes

Hashes for bachstudio_excel_mcp_server-0.1.7.tar.gz
Algorithm Hash digest
SHA256 87ae7a6f44e605a5a3e2f51fb5964dd483c044b762470a43fe23646d3304a8a2
MD5 38d94049f9e0a70fd417cca39593d9db
BLAKE2b-256 33f0e14b9d115e755ae4e096c4396726102b0b62c153876d04c1066e3cbd6659

See more details on using hashes here.

File details

Details for the file bachstudio_excel_mcp_server-0.1.7-py3-none-any.whl.

File metadata

File hashes

Hashes for bachstudio_excel_mcp_server-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 8d184e0eedf352ed503bd8f7604114285c0db9cafc919e65b84ac57d1f139c0f
MD5 95dd62fe17ea4020333aa25d94955c33
BLAKE2b-256 43a5477aaddbd2c2a50c87d8fbadf98fb04ab8b441b3acf95a13ab7236607f27

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