Excel File Manipulation logo

Excel File Manipulation

CommunityPopular
haris-musa

A Model Context Protocol server for Excel file manipulation

Publisherharis-musa
Repositoryexcel-mcp-server
LanguagePython
Forks
416
Stars
3.8K
Available tools
25
Transport typestdio
Categories
LicenseMIT
Links
  • Connect tools to AI workflows

    Excel File Manipulation exposes MCP capabilities that can be used by compatible AI clients and agents.

  • 25 available tools

    Browse the callable actions below, including names and descriptions when provided by the server.

  • Ready-to-copy setup

    Use the installation snippets to configure this server in your preferred MCP client.

  • Open source signals

    3.8K stars and 416 forks from the linked repository.

PyPI version Total Downloads License: MIT smithery badge Install 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

  • 📊 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)

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

2. SSE Transport (Server-Sent Events - Deprecated)

bash
uvx excel-mcp-server sse

SSE transport connection:

json
{
   "mcpServers": {
      "excel": {
         "url": "http://localhost:8000/sse",
      }
   }
}

3. Streamable HTTP Transport (Recommended for remote connections)

bash
uvx excel-mcp-server streamable-http

Streamable HTTP transport connection:

json
{
   "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 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.
  • With these transports, tool filepath values must be relative to that directory (e.g. reports/q1.xlsx); absolute paths and directory traversal are rejected.

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):
    powershell
    $env:EXCEL_FILES_PATH="E:\MyExcelFiles"
    $env:FASTMCP_PORT="8007"
    uvx excel-mcp-server streamable-http
  • Example (Linux/macOS):
    bash
    EXCEL_FILES_PATH=/path/to/excel_files FASTMCP_PORT=8007 uvx 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.

Star History

Star History Chart

License

MIT License - see LICENSE for details.

Installation

TypingMind
Prerequisites:

Node.js 18+

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

Available Tools

  • apply_formula
    Apply Excel formula to cell.
    Excel formula will write to cell with verification.
    
  • validate_formula_syntax

    Validate Excel formula syntax without applying it.

  • format_range

    Apply formatting to a range of cells.

  • read_data_from_excel
    Read data from Excel worksheet with cell metadata including validation rules.
    
    Args:
        filepath: Path to Excel file
        sheet_name: Name of worksheet
        start_cell: Starting cell (default A1)
        end_cell: Ending cell (optional, auto-expands if not provided)
        preview_only: Whether to return preview only
    
    Returns:  
    JSON string containing structured cell data with validation metadata.
    Each cell includes: address, value, row, column, and validation info (if any).
    
  • write_data_to_excel
    Write data to Excel worksheet.
    Excel formula will write to cell without any verification.
    
    PARAMETERS:  
    filepath: Path to Excel file
    sheet_name: Name of worksheet to write to
    data: List of lists containing data to write to the worksheet, sublists are assumed to be rows
    start_cell: Cell to start writing to, default is "A1"
    
    
  • create_workbook

    Create new Excel workbook.

  • create_worksheet

    Create new worksheet in workbook.

  • create_chart

    Create chart in worksheet.

  • create_pivot_table

    Create pivot table in worksheet.

  • create_table

    Creates a native Excel table from a specified range of data.

  • copy_worksheet

    Copy worksheet within workbook.

  • delete_worksheet

    Delete worksheet from workbook.

  • rename_worksheet

    Rename worksheet in workbook.

  • get_workbook_metadata

    Get metadata about workbook including sheets, ranges, etc.

  • merge_cells

    Merge a range of cells.

  • unmerge_cells

    Unmerge a range of cells.

  • get_merged_cells

    Get merged cells in a worksheet.

  • copy_range

    Copy a range of cells to another location.

  • delete_range

    Delete a range of cells and shift remaining cells.

  • validate_excel_range

    Validate if a range exists and is properly formatted.

  • get_data_validation_info
    Get all data validation rules in a worksheet.
    
    This tool helps identify which cell ranges have validation rules
    and what types of validation are applied.
    
    Args:
        filepath: Path to Excel file
        sheet_name: Name of worksheet
        
    Returns:
        JSON string containing all validation rules in the worksheet
    
  • insert_rows

    Insert one or more rows starting at the specified row.

  • insert_columns

    Insert one or more columns starting at the specified column.

  • delete_sheet_rows

    Delete one or more rows starting at the specified row.

  • delete_sheet_columns

    Delete one or more columns starting at the specified column.

Use Excel File Manipulation MCP with multiple AI models

TypingMind connects MCP tools at the workspace level, so once Excel File Manipulation is connected, you can use it with different AI models in TypingMind instead of setting it up separately for each model. This MCP runs locally through the TypingMind MCP connector on your device.

Setup guide to use the local connector

Use this when the MCP server needs access to local files, apps, or private resources on your computer.

1

Open the MCP settings

In TypingMind, go to Settings, Advanced Settings, then Model Context Protocol and choose Setup Connector.

  1. Open TypingMind in your browser.
  2. Click the Settings icon.
  3. Go to Advanced Settings.
  4. Open the Model Context Protocol section.
  5. Click Setup Connector and choose This Device.
TypingMind MCP connector setup screen with This Device selected
2

Run the connector command

Choose This Device, copy the command from TypingMind, and run it in Terminal. Keep the process running while you use MCP.

  1. Copy the setup command shown by TypingMind.
  2. Open Terminal on macOS or Windows Terminal on Windows.
  3. Paste and run the command.
  4. Approve the package install if Terminal asks you to proceed.
  5. Keep the Terminal window running while using MCP tools.
3

Add Excel File Manipulation as a server

When the connector status is Ready, click Edit Servers and paste the MCP server configuration.

  1. Wait until the connector status shows Ready.
  2. Click Edit Servers.
  3. Paste the Excel File Manipulation MCP server configuration.
  4. Save the server list.
  5. Refresh if you want to confirm the connector is still ready.
TypingMind MCP settings showing active server and Edit Servers button
{
  "mcpServers": {
    "excel-file-manipulation": {
      "command": "npx",
      "args": [
        "-y",
        "excel-mcp-server"
      ]
    }
  }
}
4

Use it across models

Save the server list, open Plugins, enable the Excel File Manipulation MCP tools, then select any supported AI model in TypingMind and use the tools in chat or assign them to an AI agent.

  1. Open the Plugins page in TypingMind.
  2. Enable the Excel File Manipulation MCP tools.
  3. Start a chat and choose the AI model you want to use.
  4. Use the MCP tools in chat or assign them to an AI agent.
  5. Switch to another AI model whenever needed without reconnecting MCP.
TypingMind chat using enabled MCP tools with a selected AI model
Can you use Excel File Manipulation to help me with this task?
Excel File Manipulation
Sure. I read it.
Here is what I found using Excel File Manipulation.

Frequently asked questions

What is the Excel File Manipulation MCP server used for?

Excel File Manipulation is an MCP server that lets compatible AI clients connect to external tools and context. In TypingMind, you can add this MCP server once and make its tools available in your AI workspace.

Can I use Excel File Manipulation MCP with multiple AI models in TypingMind?

Yes. TypingMind connects MCP tools at the workspace level, so you can use Excel File Manipulation with different AI models such as Claude, ChatGPT, Gemini, or other models you have configured in TypingMind without setting up the MCP server separately for each model.

Why use Excel File Manipulation MCP with TypingMind?

TypingMind is one of the best frontends for LLM chat because it brings multiple AI models, prompts, plugins, AI agents, API keys, and MCP tools into one workspace. With Excel File Manipulation connected, you can use its MCP tools across your preferred models while keeping your chat workflow organized in TypingMind.

How do I connect Excel File Manipulation MCP to TypingMind?

Excel File Manipulation runs through the TypingMind local MCP connector. This is best when the MCP server needs access to local files, desktop apps, command-line tools, or private resources on your computer.

What tools does Excel File Manipulation MCP provide in TypingMind?

Excel File Manipulation exposes 25 MCP tools that can be enabled from the TypingMind Plugins page and used in chat or assigned to AI agents.

Do I need to share my API keys with TypingMind to use Excel File Manipulation MCP?

No. TypingMind is local-first and lets you keep your model providers, API keys, prompts, and MCP configuration under your control. If Excel File Manipulation requires authentication, add the required headers, OAuth settings, or local configuration for that MCP server when you create the connection.

Related MCP Servers

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇