Skip to main content
Glama
BACH-AI-Tools

BachStudio Excel MCP Server

Official

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

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/BACH-AI-Tools/bachstudio-excel-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server