excel-mcp-server

excel-mcp-server

A Model Context Protocol server for Excel file manipulation

haris-musaharis-musa
903 stars
106 forks
Python

MCP Relevance Analysis

Relevance Score85/100 - High Relevance

Summary

excel-mcp-server is a high relevance project related to Model Context Protocol. It has 903 stars and 106 forks on GitHub.

Key Features

  • MCP integration capabilities
  • AI context management
  • Language model communication
  • Structured data processing

Use Cases

  • Enhancing LLM context handling
  • Improving model response quality
  • Building more effective AI applications

README

Excel MCP Server Logo

PyPI version
PyPI downloads
License: MIT

Excel MCP Server#

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.

Features#

  • 📊 Create and modify Excel workbooks
  • 📝 Read and write data
  • 🎨 Apply formatting and styles
  • 📈 Create charts and visualizations
  • 📊 Generate pivot tables
  • 🔄 Manage worksheets and ranges
  • 🔌 Dual transport support: stdio and SSE

Quick Start#

Prerequisites#

  • Python 3.10 or higher

Running the Server#

The server supports two transport modes: stdio and SSE.

Using stdio transport

Stdio transport is ideal for direct integration with tools like Cursor Desktop or local development, which can manipulate local files:

bash
uvx excel-mcp-server stdio

Using SSE transport

SSE transport is perfect for remote connections, which manipulate remote files:

bash
uvx excel-mcp-server sse

Using with AI Tools#

  1. Add this configuration to your client, choosing the appropriate transport method for your needs:

Stdio transport connection (for local integration):

json
{
   "mcpServers": {
      "excel-stdio": {
         "command": "uvx",
         "args": ["excel-mcp-server", "stdio"]
      }
   }
}

SSE transport connection:

json
{
   "mcpServers": {
      "excel": {
         "url": "http://localhost:8000/sse",
      }
   }
}
  1. The Excel tools will be available through your AI assistant.

Environment Variables & File Path Handling#

SSE Transport#

When running the server with the SSE protocol, 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 8000 if not set).

  • Example (Windows PowerShell):
    powershell
    $env:EXCEL_FILES_PATH="E:\MyExcelFiles"
    $env:FASTMCP_PORT="8080"
    uvx excel-mcp-server sse
    
  • Example (Linux/macOS):
    bash
    EXCEL_FILES_PATH=/path/to/excel_files FASTMCP_PORT=8080 uvx excel-mcp-server sse
    

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.

Star History#

Star History Chart

License#

MIT License - see LICENSE for details.