A Model Context Protocol server for Excel file manipulation
Configuration
View docs{
"mcpServers": {
"haris-musa-excel-mcp-server": {
"url": "http://localhost:8000/mcp",
"headers": {
"FASTMCP_PORT": "8007",
"EXCEL_FILES_PATH": "/path/to/excel_files"
}
}
}
}You can run the Excel MCP Server to create, read, and modify Excel workbooks without needing Microsoft Excel installed. It provides multiple transports to connect your AI agent to Excel capabilities, whether you run locally or remotely. This guide walks you through practical usage, installation steps, and configuration options.
Choose the transport that fits your workflow and run the server accordingly. You can connect to the server via a local stdio pipeline for quick testing, or use HTTP transports for remote access. The server exposes a rich set of Excel manipulation capabilities, including workbook and worksheet operations, data handling, formatting, charts, pivots, and more.
Prerequisites: you need a runtime environment capable of executing the MCP server commands. The server can be run via a local stdio transport or through HTTP transports for remote usage.
1) Install the runtime tool you will use to start the server (example: a package runner or binary that provides the uvx command in your environment).
2) Install any necessary dependencies for the MCP server in your project workspace if you are integrating it into an existing setup.
3) Start the server using one of the supported transports described below.
There are three transport methods you can use to connect to the Excel MCP Server. Each method has its own setup steps and connection details.
SSE transport is deprecated but still supported for compatibility. If you choose this method, you will connect via the SSE endpoint.
Streamable HTTP transport is the recommended option for remote connections. It exposes an HTTP endpoint that your MCP client can connect to.
Stdio transport is intended for local use and pipes the server through standard input/output. The server path and arguments are provided in a local command.
{
"mcpServers": {
"excel": {
"type": "http",
"url": "http://localhost:8000/mcp",
"args": []
}
}
}
```
```json
{
"mcpServers": {
"excel": {
"type": "http",
"url": "http://localhost:8000/sse",
"args": []
}
}
}When using the SSE or Streamable HTTP transports, set the server-side environment variable EXCEL_FILES_PATH to specify where Excel files are stored. If you omit this, the default path is ./excel_files. You can also set FASTMCP_PORT to control the listening port (default is 8017).
For local stdio usage, the file path is provided with each operation by the client, so there is no need to set EXCEL_FILES_PATH on the server.