Skip to main content
Glama

Excel MCP Server

An MCP server that provides comprehensive Excel file management and data analysis capabilities.

Features

  • Excel File Operations

    • Read multiple Excel formats (XLSX, XLS, CSV, TSV, JSON)

    • Write and update Excel files

    • Get file information and sheet names

  • Data Analysis

    • Summary statistics and descriptive analysis

    • Data quality assessment

    • Pivot tables

    • Filtering and querying data

  • Visualization

    • Generate charts and plots from Excel data

    • Create data previews

    • Export visualizations as images

Related MCP server: Excel MCP Server

Installation

  1. Create a new Python environment (recommended):

# Using uv (recommended)
uv init excel-mcp-server
cd excel-mcp-server
uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Or using pip
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  1. Install dependencies:

# Using uv
uv pip install -e .

Integration with Claude Desktop

  1. Install Claude Desktop

  2. Open Settings and go to the Developer tab

  3. Edit claude_desktop_config.json:

{
  "mcpServers": {
      "command": "uvx",
      "args": [
        "mcp-excel-server"
      ],
      "env": {
        "PYTHONPATH": "/path/to/your/python"
      }
  }
}

Available Tools

File Reading

  • read_excel: Read Excel files

  • get_excel_info: Get file details

  • get_sheet_names: List worksheet names

Data Analysis

  • analyze_excel: Perform statistical analysis

  • filter_excel: Filter data by conditions

  • pivot_table: Create pivot tables

  • data_summary: Generate comprehensive data summary

Data Visualization

  • export_chart: Generate charts

    • Supports line charts, bar charts, scatter plots, histograms

File Operations

  • write_excel: Write new Excel files

  • update_excel: Update existing Excel files

Available Resources

  • excel://{file_path}: Get file content

  • excel://{file_path}/info: Get file structure information

  • excel://{file_path}/preview: Generate data preview image

Prompt Templates

  • analyze_excel_data: Guided template for Excel data analysis

  • create_chart: Help create data visualizations

  • data_cleaning: Assist with data cleaning

Usage Examples

  • "Analyze my sales_data.xlsx file"

  • "Create a bar chart for product_sales.csv"

  • "Filter employees over 30 in employees.xlsx"

  • "Generate a pivot table of department sales"

Security Considerations

  • Read files only from specified paths

  • Limit file size

  • Prevent accidental file overwriting

  • Strictly control data transformation operations

Dependencies

  • pandas

  • numpy

  • matplotlib

  • seaborn

License

MIT License

Available Tools

8 tools
analyze_excelC
Perform statistical analysis on Excel data.

Args:
    file_path: Path to the Excel file
    columns: Comma-separated list of columns to analyze (analyzes all numeric columns if None)
    sheet_name: Name of the sheet to analyze (for Excel files)
    
Returns:
    JSON string with statistical analysis

Inputs: file_path (required), columns, sheet_name.

data_summaryC
Generate a comprehensive summary of the data in an Excel file.

Args:
    file_path: Path to the Excel file
    sheet_name: Name of the sheet to summarize (for Excel files)
    
Returns:
    Comprehensive data summary as string

Inputs: file_path (required), sheet_name.

export_chartB
Create a chart from Excel data and return as an image.

Args:
    file_path: Path to the Excel file
    x_column: Column to use for x-axis
    y_column: Column to use for y-axis
    chart_type: Type of chart ('line', 'bar', 'scatter', 'hist')
    sheet_name: Name of the sheet to chart (for Excel files)
    
Returns:
    Chart as image

Inputs: file_path (required), x_column (required), y_column (required), chart_type, +1 more.

filter_excelB
Filter Excel data using a pandas query string.

Args:
    file_path: Path to the Excel file
    query: Pandas query string (e.g., "Age > 30 and Department == 'Sales'")
    sheet_name: Name of the sheet to filter (for Excel files)
    
Returns:
    Filtered data as string

Inputs: file_path (required), query (required), sheet_name.

pivot_tableB
Create a pivot table from Excel data.

Args:
    file_path: Path to the Excel file
    index: Column to use as the pivot table index
    columns: Optional column to use as the pivot table columns
    values: Column to use as the pivot table values
    aggfunc: Aggregation function ('mean', 'sum', 'count', etc.)
    sheet_name: Name of the sheet to pivot (for Excel files)
    
Returns:
    Pivot table as string

Inputs: file_path (required), index (required), columns, values, +2 more.

read_excelA
Read an Excel file and return its contents as a string.

Args:
    file_path: Path to the Excel file
    sheet_name: Name of the sheet to read (only for .xlsx, .xls)
    nrows: Maximum number of rows to read
    header: Row to use as header (0-indexed)
    
Returns:
    String representation of the Excel data

Inputs: file_path (required), sheet_name, nrows, header.

update_excelC
Update an existing Excel file with new data.

Args:
    file_path: Path to the Excel file to update
    data: New data in CSV or JSON format
    sheet_name: Name of the sheet to update (for Excel files)
    format: Format of the input data ('csv' or 'json')
    
Returns:
    Confirmation message

Inputs: file_path (required), data (required), sheet_name, format.

write_excelB
Write data to an Excel file.

Args:
    file_path: Path to save the Excel file
    data: Data in CSV or JSON format
    sheet_name: Name of the sheet (for Excel files)
    format: Format of the input data ('csv' or 'json')
    
Returns:
    Confirmation message

Inputs: file_path (required), data (required), sheet_name, format.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 8 tools

    Disambiguation4/5

    Most tools have distinct purposes like reading, writing, filtering, and analyzing Excel data, but analyze_excel and data_summary overlap significantly as both perform data analysis/summarization. The descriptions help differentiate them slightly, but an agent might struggle to choose between them for basic statistical tasks.

    Naming Consistency5/5

    All tools follow a consistent verb_noun or verb_excel pattern (e.g., read_excel, update_excel, filter_excel, pivot_table). The naming is predictable and readable throughout, with no mixing of conventions like camelCase or snake_case deviations.

    Tool Count5/5

    With 8 tools, this server is well-scoped for Excel operations, covering core tasks like reading, writing, updating, filtering, analyzing, summarizing, charting, and pivoting. Each tool earns its place without feeling excessive or insufficient for the domain.

    Completeness4/5

    The toolset provides strong coverage for Excel data manipulation and analysis, including CRUD-like operations (read, write, update) and advanced features (pivot tables, charts). A minor gap exists in lacking tools for specific Excel formatting or cell-level edits, but agents can work around this with the available tools.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      An MCP server for manipulating Excel files that features a headless engine for real-time formula calculation and data validation. It enables users to create, read, and manage workbooks, sheets, and charts without requiring Microsoft Excel installed.
      26 npm
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      An MCP server for reading, writing, and analyzing Excel files using Python, pandas, and openpyxl. It enables tasks such as managing multiple worksheets, performing structural data analysis, and creating new files from JSON data.
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server for reading and writing .xls (Excel 97-2003) files, enabling data manipulation, sheet listing, and metadata retrieval.
      MIT