Get the FREE Ultimate OpenClaw Setup Guide →

excel

MCP server from fbeawels/excel-mcp-server

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio fbeawels-excel-mcp-server npx --yes @fbeawels/excel-mcp-server \
  --env EXCEL_MCP_PAGING_CELLS_LIMIT="4000"

How to use

Excel MCP Server is a Node.js-based MCP server that reads from and writes to Microsoft Excel workbooks. It exposes a set of tools that let you query sheet names, read and write sheet data, and even read formulas or images from a workbook (the image feature is Windows-only). The server operates over the MCP protocol and can be driven via the stdio transport by default or via SSE when configured to use the HTTP-based transport. Tools include read_sheet_names, read_sheet_data, read_sheet_formula, read_sheet_image (Windows only), write_sheet_data, and write_sheet_formula. To use these tools, start the server through the MCP entry point and invoke the tools by sending properly structured MCP requests for the target Excel file and sheet. For large Excel files, you can leverage the paging mechanism (EXCEL_MCP_PAGING_CELLS_LIMIT) to control how many cells are processed per operation.

How to install

Prerequisites:

  • Node.js 20.x or later installed on your system
  • npm or pnpm for package management

Installation steps:

  1. Ensure Node.js is installed. You can verify with: node -v npm -v
  2. Install the MCP server by configuring your MCP server list to use the Excel MCP Server package. The following configuration snippet demonstrates the standard stdio transport setup (Windows uses a similar pattern with cmd for Windows):

For stdio transport (default):

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

Optionally, you can enable SSE transport by including environment variables (EXCEL_MCP_TRANSPORT, EXCEL_MCP_HOST, EXCEL_MCP_PORT) as described in the README to run an HTTP server for commands at /command and status at /status. Example with SSE:

{
  "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"
      }
    }
  }
}
  1. Start the MCP server within your MCP hosting environment. If using Smithery, you can install via the Smithery CLI as documented in the repository:
npx -y @smithery/cli install @fbeawels/excel-mcp-server --client <your-client>

Additional notes

Notes and tips:

  • EXCEL_MCP_PAGING_CELLS_LIMIT controls how many cells are read per paging operation. The default is 4000; adjust as needed for performance and memory.
  • EXCEL_MCP_TRANSPORT determines how clients communicate with the server. Supported values include stdio and sse. If using SSE, you’ll expose an HTTP API at /command and /status and can configure host/port accordingly.
  • EXCEL_MCP_HOST and EXCEL_MCP_PORT are only applicable when using SSE transport.
  • The server supports multiple Excel formats: xlsx, xlsm, xltx, xltm. Ensure the target file is accessible from the environment running the MCP server.
  • The tool read_sheet_image is Windows-only; on other platforms this tool will be unavailable.
  • When using exporting or writing data, ensure the Excel file isn’t opened exclusively by another process to avoid write conflicts.
  • The npm package name is @fbeawels/excel-mcp-server; the server can be automatically installed as part of the MCP config using npx.

Related MCP Servers

Sponsor this space

Reach thousands of developers