Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| EXCEL_MCP_VISIBLE | No | Show Excel windows | false |
| EXCEL_MCP_CALC_MODE | No | Calculation mode | automatic |
| EXCEL_MCP_DEBUG_LOG | No | Enable debug logging | 0 |
| EXCEL_MCP_SESSION_TTL | No | Session TTL in seconds | 600 |
| EXCEL_MCP_MAX_SESSIONS | No | Maximum concurrent sessions | 8 |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| open_workbook | Open an Excel workbook and create a session.
Args:
filepath: Path to Excel file
visible: Whether to show Excel window (default: False)
read_only: Whether to open in read-only mode (default: False)
Returns:
Dictionary with session_id, filepath, visible, read_only, and sheets |
| close_workbook | Close a workbook session.
Args:
session_id: Session ID from open_workbook
save: Whether to save changes (default: True)
Returns:
Success message |
| list_workbooks | List all open workbook sessions.
Returns:
List of session information dictionaries |
| force_close_workbook_by_path_tool | Force close a specific workbook by file path (without saving).
Args:
filepath: Path to the workbook to force close
Returns:
Dictionary with 'closed' (bool) and 'message' (str) |
| apply_formula | Apply Excel formula to cell.
Args:
session_id: Session ID from open_workbook (required)
sheet_name: Name of worksheet
cell: Cell address (e.g., "A1")
formula: Excel formula to apply |
| validate_formula_syntax | Validate Excel formula syntax without applying it.
Args:
sheet_name: Name of worksheet
cell: Cell address (e.g., "A1")
formula: Excel formula to validate
session_id: Session ID from open_workbook (preferred)
filepath: Path to Excel file (legacy, deprecated)
Note: Use session_id for better performance. filepath parameter is deprecated. |
| format_range | Apply formatting to a range of cells.
Args:
sheet_name: Name of worksheet
start_cell: Starting cell
session_id: Session ID from open_workbook (preferred)
filepath: Path to Excel file (legacy, deprecated)
end_cell: Ending cell (optional)
bold: Apply bold formatting
italic: Apply italic formatting
underline: Apply underline formatting
font_size: Font size
font_color: Font color
bg_color: Background color
border_style: Border style
border_color: Border color
number_format: Number format
alignment: Text alignment
wrap_text: Enable text wrapping
merge_cells: Merge cells in range
protection: Cell protection settings (optional)
conditional_format: Conditional formatting settings (optional)
Note: Use session_id for better performance. filepath parameter is deprecated. |
| read_data_from_excel | Read data from Excel worksheet with cell metadata including validation rules.
Args:
session_id: Session ID from open_workbook (required)
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 |
| write_data_to_excel | Write data to Excel worksheet.
Excel formula will write to cell without any verification.
Args:
session_id: Session ID from open_workbook (required)
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 (optional, auto-finds appropriate location) |
| create_workbook | Create new Excel workbook.
Args:
session_id: Session ID for creating workbook in existing session (optional)
filepath: Path to create new Excel file (legacy, deprecated)
Note: Use session_id for better performance. filepath parameter is deprecated. |
| create_worksheet | Create new worksheet in workbook.
Args:
session_id: Session ID from open_workbook (required)
sheet_name: Name of the new worksheet |
| create_chart | Create chart in worksheet.
Args:
sheet_name: Name of worksheet
data_range: Data range for chart
chart_type: Type of chart
target_cell: Cell where chart will be placed
session_id: Session ID from open_workbook (preferred)
filepath: Path to Excel file (legacy, deprecated)
title: Chart title (optional)
x_axis: X-axis label (optional)
y_axis: Y-axis label (optional)
Note: Use session_id for better performance. filepath parameter is deprecated. |
| create_pivot_table | Create pivot table in worksheet.
Args:
sheet_name: Name of worksheet containing source data
data_range: Source data range (e.g., "A1:E100" or "Sheet2!A1:E100")
rows: Field names for row labels
values: Field names for values
session_id: Session ID from open_workbook (preferred)
filepath: Path to Excel file (legacy, deprecated)
columns: Field names for column labels (optional)
agg_func: Aggregation function (sum, count, average, max, min)
target_sheet: Target sheet for pivot table (optional, auto-created if not exists)
target_cell: Target cell for pivot table (optional, finds empty area if not provided)
pivot_name: Custom name for pivot table (optional, auto-generated if not provided)
Note: Use session_id for better performance. filepath parameter is deprecated. |
| create_table | Creates a native Excel table from a specified range of data.
Args:
sheet_name: Name of worksheet
data_range: Range of data to create table from
session_id: Session ID from open_workbook (preferred)
filepath: Path to Excel file (legacy, deprecated)
table_name: Name for the table (optional)
table_style: Style for the table (optional)
Note: Use session_id for better performance. filepath parameter is deprecated. |
| copy_worksheet | Copy worksheet within workbook.
Args:
session_id: Session ID from open_workbook (required)
source_sheet: Name of the source worksheet
target_sheet: Name of the target worksheet |
| delete_worksheet | Delete worksheet from workbook.
Args:
session_id: Session ID from open_workbook (required)
sheet_name: Name of the worksheet to delete |
| rename_worksheet | Rename worksheet in workbook.
Args:
session_id: Session ID from open_workbook (required)
old_name: Current name of the worksheet
new_name: New name for the worksheet |
| get_workbook_metadata | Get metadata about workbook including sheets, ranges, etc.
Args:
session_id: Session ID from open_workbook (required)
include_ranges: Whether to include range information |
| merge_cells | Merge a range of cells.
Args:
sheet_name: Name of worksheet
start_cell: Starting cell
end_cell: Ending cell
session_id: Session ID from open_workbook (preferred)
filepath: Path to Excel file (legacy, deprecated)
Note: Use session_id for better performance. filepath parameter is deprecated. |
| unmerge_cells | Unmerge a range of cells.
Args:
sheet_name: Name of worksheet
start_cell: Starting cell
end_cell: Ending cell
session_id: Session ID from open_workbook (preferred)
filepath: Path to Excel file (legacy, deprecated)
Note: Use session_id for better performance. filepath parameter is deprecated. |
| get_merged_cells | Get merged cells in a worksheet.
Args:
sheet_name: Name of worksheet
session_id: Session ID from open_workbook (preferred)
filepath: Path to Excel file (legacy, deprecated)
Note: Use session_id for better performance. filepath parameter is deprecated. |
| copy_range | Copy a range of cells to another location.
Args:
sheet_name: Name of source worksheet
source_start: Starting cell of source range
source_end: Ending cell of source range
target_start: Starting cell of target range
session_id: Session ID from open_workbook (preferred)
filepath: Path to Excel file (legacy, deprecated)
target_sheet: Target worksheet (optional, uses source sheet if not provided)
Note: Use session_id for better performance. filepath parameter is deprecated. |
| delete_range | Delete a range of cells and shift remaining cells.
Args:
sheet_name: Name of worksheet
start_cell: Starting cell
end_cell: Ending cell
session_id: Session ID from open_workbook (preferred)
filepath: Path to Excel file (legacy, deprecated)
shift_direction: Direction to shift cells ("up" or "left")
Note: Use session_id for better performance. filepath parameter is deprecated. |
| validate_excel_range | Validate if a range exists and is properly formatted.
Args:
sheet_name: Name of worksheet
start_cell: Starting cell
session_id: Session ID from open_workbook (preferred)
filepath: Path to Excel file (legacy, deprecated)
end_cell: Ending cell (optional)
Note: Use session_id for better performance. filepath parameter is deprecated. |
| 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:
sheet_name: Name of worksheet
session_id: Session ID from open_workbook (preferred)
filepath: Path to Excel file (legacy, deprecated)
Note: Use session_id for better performance. filepath parameter is deprecated.
Returns:
JSON string containing all validation rules in the worksheet |
| insert_rows | Insert one or more rows starting at the specified row.
Args:
sheet_name: Name of worksheet
start_row: Row number to start inserting at
session_id: Session ID from open_workbook (preferred)
filepath: Path to Excel file (legacy, deprecated)
count: Number of rows to insert
Note: Use session_id for better performance. filepath parameter is deprecated. |
| insert_columns | Insert one or more columns starting at the specified column.
Args:
sheet_name: Name of worksheet
start_col: Column number to start inserting at
session_id: Session ID from open_workbook (preferred)
filepath: Path to Excel file (legacy, deprecated)
count: Number of columns to insert
Note: Use session_id for better performance. filepath parameter is deprecated. |
| delete_sheet_rows | Delete one or more rows starting at the specified row.
Args:
sheet_name: Name of worksheet
start_row: Row number to start deleting from
session_id: Session ID from open_workbook (preferred)
filepath: Path to Excel file (legacy, deprecated)
count: Number of rows to delete
Note: Use session_id for better performance. filepath parameter is deprecated. |
| delete_sheet_columns | Delete one or more columns starting at the specified column.
Args:
sheet_name: Name of worksheet
start_col: Column number to start deleting from
session_id: Session ID from open_workbook (preferred)
filepath: Path to Excel file (legacy, deprecated)
count: Number of columns to delete
Note: Use session_id for better performance. filepath parameter is deprecated. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |