← Excel MCP Server

Excel MCP Server 8d5aa94406b91dbd016800b5761c84ff147c5177

source_git · sbraind/excel-mcp-server · current release

34
Tools
0
Resources
0
Templates
0
Prompts

Observation

Observed 2026-08-25T09:02:43.346Z using mcpSecurity-inventory. Status: succeeded. Negotiated protocol: 2024-11-05.

Server capabilities
{
  "tools": {}
}

Tools 34

ToolCategoryAnnotationsRisk
excel_add_rowAdd a row at the end of the sheet
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name of the sheet"
    },
    "data": {
      "type": "array",
      "description": "Array of values for the new row"
    },
    "createBackup": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "filePath",
    "sheetName",
    "data"
  ]
}
Annotations
{
  "destructiveHint": true
}
— · Destructive
excel_apply_conditional_formatApply conditional formatting to a range
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name of the sheet"
    },
    "range": {
      "type": "string",
      "description": "Range to format (e.g., A1:D10)"
    },
    "ruleType": {
      "type": "string",
      "enum": [
        "cellValue",
        "colorScale",
        "dataBar",
        "topBottom"
      ]
    },
    "condition": {
      "type": "object",
      "description": "Condition for cellValue type"
    },
    "style": {
      "type": "object",
      "description": "Style to apply"
    },
    "colorScale": {
      "type": "object",
      "description": "Color scale settings"
    },
    "createBackup": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "filePath",
    "sheetName",
    "range",
    "ruleType"
  ]
}
Annotations
{
  "destructiveHint": true
}
— · Destructive
excel_copy_rangeCopy range to another location
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sourceSheetName": {
      "type": "string",
      "description": "Source sheet name"
    },
    "sourceRange": {
      "type": "string",
      "description": "Source range (e.g., A1:D10)"
    },
    "targetSheetName": {
      "type": "string",
      "description": "Target sheet name"
    },
    "targetCell": {
      "type": "string",
      "description": "Top-left cell of destination"
    },
    "createBackup": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "filePath",
    "sourceSheetName",
    "sourceRange",
    "targetSheetName",
    "targetCell"
  ]
}
Annotations
{
  "destructiveHint": true
}
— · Destructive
excel_create_chartCreate a chart (line, bar, column, pie, scatter, area)
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name of the sheet"
    },
    "chartType": {
      "type": "string",
      "enum": [
        "line",
        "bar",
        "column",
        "pie",
        "scatter",
        "area"
      ]
    },
    "dataRange": {
      "type": "string",
      "description": "Range of data (e.g., A1:D10)"
    },
    "position": {
      "type": "string",
      "description": "Position for chart (e.g., F2)"
    },
    "title": {
      "type": "string",
      "description": "Chart title"
    },
    "showLegend": {
      "type": "boolean",
      "default": true
    },
    "createBackup": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "filePath",
    "sheetName",
    "chartType",
    "dataRange",
    "position"
  ]
}
Annotations
{
  "destructiveHint": true
}
— · Destructive
excel_create_pivot_tableCreate a pivot table for data analysis
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sourceSheetName": {
      "type": "string",
      "description": "Source sheet name"
    },
    "sourceRange": {
      "type": "string",
      "description": "Source data range"
    },
    "targetSheetName": {
      "type": "string",
      "description": "Target sheet for pivot table"
    },
    "targetCell": {
      "type": "string",
      "description": "Target cell (e.g., A1)"
    },
    "rows": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Row fields"
    },
    "columns": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Column fields"
    },
    "values": {
      "type": "array",
      "description": "Value fields with aggregation"
    },
    "createBackup": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "filePath",
    "sourceSheetName",
    "sourceRange",
    "targetSheetName",
    "targetCell",
    "rows",
    "values"
  ]
}
Annotations
{
  "destructiveHint": true
}
— · Destructive
excel_create_sheetCreate a new sheet in the workbook
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name for the new sheet"
    },
    "createBackup": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "filePath",
    "sheetName"
  ]
}
Annotations
{
  "destructiveHint": true
}
— · Destructive
excel_create_tableConvert a range to an Excel table with formatting
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name of the sheet"
    },
    "range": {
      "type": "string",
      "description": "Range to convert (e.g., A1:D10)"
    },
    "tableName": {
      "type": "string",
      "description": "Name for the table"
    },
    "tableStyle": {
      "type": "string",
      "default": "TableStyleMedium2"
    },
    "showFirstColumn": {
      "type": "boolean",
      "default": false
    },
    "showLastColumn": {
      "type": "boolean",
      "default": false
    },
    "showRowStripes": {
      "type": "boolean",
      "default": true
    },
    "showColumnStripes": {
      "type": "boolean",
      "default": false
    },
    "createBackup": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "filePath",
    "sheetName",
    "range",
    "tableName"
  ]
}
Annotations
{
  "destructiveHint": true
}
— · Destructive
excel_delete_columnsDelete specific columns
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name of the sheet"
    },
    "startColumn": {
      "description": "Starting column (letter or number)"
    },
    "count": {
      "type": "number",
      "description": "Number of columns to delete"
    },
    "createBackup": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "filePath",
    "sheetName",
    "startColumn",
    "count"
  ]
}
Annotations
{
  "destructiveHint": true
}
— · Destructive
excel_delete_rowsDelete specific rows
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name of the sheet"
    },
    "startRow": {
      "type": "number",
      "description": "Starting row number (1-based)"
    },
    "count": {
      "type": "number",
      "description": "Number of rows to delete"
    },
    "createBackup": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "filePath",
    "sheetName",
    "startRow",
    "count"
  ]
}
Annotations
{
  "destructiveHint": true
}
— · Destructive
excel_delete_sheetDelete a sheet from the workbook
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name of the sheet to delete"
    },
    "createBackup": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "filePath",
    "sheetName"
  ]
}
Annotations
{
  "destructiveHint": true
}
— · Destructive
excel_duplicate_sheetDuplicate a complete sheet
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sourceSheetName": {
      "type": "string",
      "description": "Name of sheet to duplicate"
    },
    "newSheetName": {
      "type": "string",
      "description": "Name for duplicated sheet"
    },
    "createBackup": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "filePath",
    "sourceSheetName",
    "newSheetName"
  ]
}
Annotations
{
  "destructiveHint": true
}
— · Destructive
excel_filter_rowsFilter rows by condition
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name of the sheet"
    },
    "column": {
      "description": "Column to filter by"
    },
    "condition": {
      "type": "string",
      "enum": [
        "equals",
        "contains",
        "greater_than",
        "less_than",
        "not_empty"
      ]
    },
    "value": {
      "description": "Value to compare against"
    },
    "responseFormat": {
      "type": "string",
      "enum": [
        "json",
        "markdown"
      ],
      "default": "json"
    }
  },
  "required": [
    "filePath",
    "sheetName",
    "column",
    "condition"
  ]
}
Annotations
{
  "readOnlyHint": true
}
Read only · —
excel_format_cellChange cell formatting (color, font, borders, alignment)
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name of the sheet"
    },
    "cellAddress": {
      "type": "string",
      "description": "Cell address (e.g., A1)"
    },
    "format": {
      "type": "object",
      "description": "Format options"
    },
    "createBackup": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "filePath",
    "sheetName",
    "cellAddress",
    "format"
  ]
}
Annotations
{
  "destructiveHint": true
}
— · Destructive
excel_get_cellRead value from a specific cell
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name of the sheet"
    },
    "cellAddress": {
      "type": "string",
      "description": "Cell address (e.g., A1)"
    },
    "responseFormat": {
      "type": "string",
      "enum": [
        "json",
        "markdown"
      ],
      "default": "json"
    }
  },
  "required": [
    "filePath",
    "sheetName",
    "cellAddress"
  ]
}
Annotations
{
  "readOnlyHint": true
}
Read only · —
excel_get_data_validation_infoGet data validation rules for a cell
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name of the sheet"
    },
    "cellAddress": {
      "type": "string",
      "description": "Cell address (e.g., A1)"
    },
    "responseFormat": {
      "type": "string",
      "enum": [
        "json",
        "markdown"
      ],
      "default": "json"
    }
  },
  "required": [
    "filePath",
    "sheetName",
    "cellAddress"
  ]
}
Annotations
{
  "readOnlyHint": true
}
Read only · —
excel_get_formulaRead the formula from a specific cell
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name of the sheet"
    },
    "cellAddress": {
      "type": "string",
      "description": "Cell address (e.g., A1)"
    },
    "responseFormat": {
      "type": "string",
      "enum": [
        "json",
        "markdown"
      ],
      "default": "json"
    }
  },
  "required": [
    "filePath",
    "sheetName",
    "cellAddress"
  ]
}
Annotations
{
  "readOnlyHint": true
}
Read only · —
excel_get_merged_cellsList all merged cell ranges in a sheet
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name of the sheet"
    },
    "responseFormat": {
      "type": "string",
      "enum": [
        "json",
        "markdown"
      ],
      "default": "json"
    }
  },
  "required": [
    "filePath",
    "sheetName"
  ]
}
Annotations
{
  "readOnlyHint": true
}
Read only · —
excel_insert_columnsInsert columns at a specific position
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name of the sheet"
    },
    "startColumn": {
      "description": "Column to insert at (letter or number)"
    },
    "count": {
      "type": "number",
      "description": "Number of columns to insert"
    },
    "createBackup": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "filePath",
    "sheetName",
    "startColumn",
    "count"
  ]
}
Annotations
{
  "destructiveHint": true
}
— · Destructive
excel_insert_rowsInsert rows at a specific position
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name of the sheet"
    },
    "startRow": {
      "type": "number",
      "description": "Row number to insert at (1-based)"
    },
    "count": {
      "type": "number",
      "description": "Number of rows to insert"
    },
    "createBackup": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "filePath",
    "sheetName",
    "startRow",
    "count"
  ]
}
Annotations
{
  "destructiveHint": true
}
— · Destructive
excel_merge_cellsMerge cells in a range
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name of the sheet"
    },
    "range": {
      "type": "string",
      "description": "Range to merge (e.g., A1:D1)"
    },
    "createBackup": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "filePath",
    "sheetName",
    "range"
  ]
}
Annotations
{
  "destructiveHint": true
}
— · Destructive
excel_read_rangeRead a specific range of cells
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name of the sheet"
    },
    "range": {
      "type": "string",
      "description": "Range to read (e.g., A1:D10)"
    },
    "responseFormat": {
      "type": "string",
      "enum": [
        "json",
        "markdown"
      ],
      "default": "json"
    }
  },
  "required": [
    "filePath",
    "sheetName",
    "range"
  ]
}
Annotations
{
  "readOnlyHint": true
}
Read only · —
excel_read_sheetRead complete data from a sheet (with optional range)
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name of the sheet"
    },
    "range": {
      "type": "string",
      "description": "Optional range (e.g., A1:D10)"
    },
    "responseFormat": {
      "type": "string",
      "enum": [
        "json",
        "markdown"
      ],
      "default": "json"
    }
  },
  "required": [
    "filePath",
    "sheetName"
  ]
}
Annotations
{
  "readOnlyHint": true
}
Read only · —
excel_read_workbookList all sheets and metadata of an Excel workbook
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "responseFormat": {
      "type": "string",
      "enum": [
        "json",
        "markdown"
      ],
      "default": "json"
    }
  },
  "required": [
    "filePath"
  ]
}
Annotations
{
  "readOnlyHint": true
}
Read only · —
excel_rename_sheetRename a sheet
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "oldName": {
      "type": "string",
      "description": "Current sheet name"
    },
    "newName": {
      "type": "string",
      "description": "New sheet name"
    },
    "createBackup": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "filePath",
    "oldName",
    "newName"
  ]
}
Annotations
{
  "destructiveHint": true
}
— · Destructive
excel_search_valueSearch for a value in sheet/range
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name of the sheet"
    },
    "searchValue": {
      "description": "Value to search for"
    },
    "range": {
      "type": "string",
      "description": "Optional range to search within"
    },
    "caseSensitive": {
      "type": "boolean",
      "default": false
    },
    "responseFormat": {
      "type": "string",
      "enum": [
        "json",
        "markdown"
      ],
      "default": "json"
    }
  },
  "required": [
    "filePath",
    "sheetName",
    "searchValue"
  ]
}
Annotations
{
  "readOnlyHint": true
}
Read only · —
excel_set_column_widthAdjust width of a column
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name of the sheet"
    },
    "column": {
      "description": "Column letter (A) or number (1)"
    },
    "width": {
      "type": "number",
      "description": "Width in Excel units"
    },
    "createBackup": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "filePath",
    "sheetName",
    "column",
    "width"
  ]
}
Annotations
{
  "destructiveHint": true
}
— · Destructive
excel_set_formulaSet or modify a formula in a cell
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name of the sheet"
    },
    "cellAddress": {
      "type": "string",
      "description": "Cell address (e.g., A1)"
    },
    "formula": {
      "type": "string",
      "description": "Excel formula (without = sign)"
    },
    "createBackup": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "filePath",
    "sheetName",
    "cellAddress",
    "formula"
  ]
}
Annotations
{
  "destructiveHint": true
}
— · Destructive
excel_set_row_heightAdjust height of a row
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name of the sheet"
    },
    "row": {
      "type": "number",
      "description": "Row number (1-based)"
    },
    "height": {
      "type": "number",
      "description": "Height in points"
    },
    "createBackup": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "filePath",
    "sheetName",
    "row",
    "height"
  ]
}
Annotations
{
  "destructiveHint": true
}
— · Destructive
excel_unmerge_cellsUnmerge previously merged cells
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name of the sheet"
    },
    "range": {
      "type": "string",
      "description": "Range to unmerge (e.g., A1:D1)"
    },
    "createBackup": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "filePath",
    "sheetName",
    "range"
  ]
}
Annotations
{
  "destructiveHint": true
}
— · Destructive
excel_update_cellUpdate value of a specific cell
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name of the sheet"
    },
    "cellAddress": {
      "type": "string",
      "description": "Cell address (e.g., A1)"
    },
    "value": {
      "description": "Value to write"
    },
    "createBackup": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "filePath",
    "sheetName",
    "cellAddress",
    "value"
  ]
}
Annotations
{
  "destructiveHint": true
}
— · Destructive
excel_validate_formula_syntaxValidate Excel formula syntax without applying it
Input schema
{
  "type": "object",
  "properties": {
    "formula": {
      "type": "string",
      "description": "Formula to validate (without = sign)"
    }
  },
  "required": [
    "formula"
  ]
}
Annotations
{
  "readOnlyHint": true
}
Read only · —
excel_validate_rangeValidate if a range string is valid
Input schema
{
  "type": "object",
  "properties": {
    "range": {
      "type": "string",
      "description": "Range to validate (e.g., A1:D10)"
    }
  },
  "required": [
    "range"
  ]
}
Annotations
{
  "readOnlyHint": true
}
Read only · —
excel_write_rangeWrite multiple cells simultaneously
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path to the Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name of the sheet"
    },
    "range": {
      "type": "string",
      "description": "Range to write (e.g., A1:D10)"
    },
    "data": {
      "type": "array",
      "description": "2D array of data to write"
    },
    "createBackup": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "filePath",
    "sheetName",
    "range",
    "data"
  ]
}
Annotations
{
  "destructiveHint": true
}
— · Destructive
excel_write_workbookCreate a new Excel file with data
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "Path for the new Excel file"
    },
    "sheetName": {
      "type": "string",
      "description": "Name for the sheet",
      "default": "Sheet1"
    },
    "data": {
      "type": "array",
      "description": "2D array of data to write"
    },
    "createBackup": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "filePath",
    "data"
  ]
}
Annotations
{
  "destructiveHint": true
}
— · Destructive

Resources 0

Resource templates 0

Prompts 0

Let’s talk about MCP security.

Share your details and our security team will contact you.