excel-mcp-server

excel-mcp-server

3.2

If you are the rightful owner of excel-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

A Model Context Protocol (MCP) server that reads and writes MS Excel data.

Excel MCP Server

A Model Context Protocol (MCP) server that reads and writes MS Excel data.

Features

  • Read text values from MS Excel file
  • Write text values to MS Excel file
  • Read formulas from MS Excel file
  • Write formulas to MS Excel file
  • Capture screen image from MS Excel file (Windows only)

For more details, see the tools section.

Requirements

  • Node.js 20.x or later

Supported file formats

  • xlsx (Excel book)
  • xlsm (Excel macro-enabled book)
  • xltx (Excel template)
  • xltm (Excel macro-enabled template)

Installation

Installing via NPM

excel-mcp-server is automatically installed by adding the following configuration to the MCP servers configuration.

Using stdio transport (default)

For Windows:

{
    "mcpServers": {
        "excel": {
            "command": "cmd",
            "args": ["/c", "npx", "--yes", "@fbeawels/excel-mcp-server"],
            "env": {
                "EXCEL_MCP_PAGING_CELLS_LIMIT": "4000"
            }
        }
    }
}

For other platforms:

{
    "mcpServers": {
        "excel": {
            "command": "npx",
            "args": ["--yes", "@fbeawels/excel-mcp-server"],
            "env": {
                "EXCEL_MCP_PAGING_CELLS_LIMIT": "4000"
            }
        }
    }
}
Using SSE transport

For Windows:

{
    "mcpServers": {
        "excel": {
            "command": "cmd",
            "args": ["/c", "npx", "--yes", "@fbeawels/excel-mcp-server"],
            "env": {
                "EXCEL_MCP_PAGING_CELLS_LIMIT": "4000",
                "EXCEL_MCP_TRANSPORT": "sse",
                "EXCEL_MCP_HOST": "0.0.0.0",
                "EXCEL_MCP_PORT": "8000"
            }
        }
    }
}

For other platforms:

{
    "mcpServers": {
        "excel": {
            "command": "npx",
            "args": ["--yes", "@fbeawels/excel-mcp-server"],
            "env": {
                "EXCEL_MCP_PAGING_CELLS_LIMIT": "4000",
                "EXCEL_MCP_TRANSPORT": "sse",
                "EXCEL_MCP_HOST": "0.0.0.0",
                "EXCEL_MCP_PORT": "8000"
            }
        }
    }
}

When using SSE transport, the server will start an HTTP server with the following endpoints:

  • /sse - SSE endpoint for receiving events from the server
  • /command - POST endpoint for sending commands to the server
  • /status - GET endpoint for checking server status

Installing via Smithery

To install Excel MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @fbeawels/excel-mcp-server --client claude

Tools

read_sheet_names

List all sheet names in an Excel file.

Arguments:

  • fileAbsolutePath
    • Absolute path to the Excel file

read_sheet_data

Read data from Excel sheet with pagination.

Arguments:

  • fileAbsolutePath
    • Absolute path to the Excel file
  • sheetName
    • Sheet name in the Excel file
  • range
    • Range of cells to read in the Excel sheet (e.g., "A1:C10"). [default: first paging range]
  • knownPagingRanges
    • List of already read paging ranges

read_sheet_formula

Read formulas from Excel sheet with pagination.

Arguments:

  • fileAbsolutePath
    • Absolute path to the Excel file
  • sheetName
    • Sheet name in the Excel file
  • range
    • Range of cells to read in the Excel sheet (e.g., "A1:C10"). [default: first paging range]
  • knownPagingRanges
    • List of already read paging ranges

read_sheet_image

[Windows only] Read data as an image from the Excel sheet with pagination.

Arguments:

  • fileAbsolutePath
    • Absolute path to the Excel file
  • sheetName
    • Sheet name in the Excel file
  • range
    • Range of cells to read in the Excel sheet (e.g., "A1:C10"). [default: first paging range]
  • knownPagingRanges
    • List of already read paging ranges

write_sheet_data

Write data to the Excel sheet.

Arguments:

  • fileAbsolutePath
    • Absolute path to the Excel file
  • sheetName
    • Sheet name in the Excel file
  • range
    • Range of cells to read in the Excel sheet (e.g., "A1:C10").
  • data
    • Data to write to the Excel sheet

write_sheet_formula

Write formulas to the Excel sheet.

Arguments:

  • fileAbsolutePath
    • Absolute path to the Excel file
  • sheetName
    • Sheet name in the Excel file
  • range
    • Range of cells to read in the Excel sheet (e.g., "A1:C10").
  • formulas
    • Formulas to write to the Excel sheet (e.g., "=A1+B1")

Configuration

Command-line Arguments

The following command-line arguments are available:

--transport <type>   Transport type (stdio or sse)
--host <address>     Host address to listen on for SSE transport (default: all interfaces)
--port <number>      Port for SSE transport (default: 8000)

Example usage:

npx @fbeawels/excel-mcp-server --transport sse --host 0.0.0.0 --port 8000

Environment Variables

You can also change the MCP Server behaviors by the following environment variables:

EXCEL_MCP_PAGING_CELLS_LIMIT

The maximum number of cells to read in a single paging operation.
[default: 4000]

EXCEL_MCP_TRANSPORT

The transport mechanism to use for communication.
Possible values: stdio, sse
[default: stdio]

EXCEL_MCP_HOST

The host address to bind to when using SSE transport.
[default: ""] (all interfaces)

EXCEL_MCP_PORT

The port to use for the HTTP server when using SSE transport.
[default: 8000]

License

Copyright (c) 2025 Franck Besnard

excel-mcp-server is released under the