mirror of
https://github.com/haris-musa/excel-mcp-server.git
synced 2026-01-01 02:35:25 +08:00
Initial commit
This commit is contained in:
341
TOOLS.md
Normal file
341
TOOLS.md
Normal file
@ -0,0 +1,341 @@
|
||||
# Excel MCP Server Tools
|
||||
|
||||
This document provides detailed information about all available tools in the Excel MCP server.
|
||||
|
||||
## Workbook Operations
|
||||
|
||||
### create_workbook
|
||||
|
||||
Creates a new Excel workbook.
|
||||
|
||||
```python
|
||||
create_workbook(filepath: str) -> str
|
||||
```
|
||||
|
||||
- `filepath`: Path where to create workbook
|
||||
- Returns: Success message with created file path
|
||||
|
||||
### create_worksheet
|
||||
|
||||
Creates a new worksheet in an existing workbook.
|
||||
|
||||
```python
|
||||
create_worksheet(filepath: str, sheet_name: str) -> str
|
||||
```
|
||||
|
||||
- `filepath`: Path to Excel file
|
||||
- `sheet_name`: Name for the new worksheet
|
||||
- Returns: Success message
|
||||
|
||||
### get_workbook_metadata
|
||||
|
||||
Get metadata about workbook including sheets and ranges.
|
||||
|
||||
```python
|
||||
get_workbook_metadata(filepath: str, include_ranges: bool = False) -> str
|
||||
```
|
||||
|
||||
- `filepath`: Path to Excel file
|
||||
- `include_ranges`: Whether to include range information
|
||||
- Returns: String representation of workbook metadata
|
||||
|
||||
## Data Operations
|
||||
|
||||
### write_data_to_excel
|
||||
|
||||
Write data to Excel worksheet.
|
||||
|
||||
```python
|
||||
write_data_to_excel(
|
||||
filepath: str,
|
||||
sheet_name: str,
|
||||
data: List[Dict],
|
||||
start_cell: str = "A1",
|
||||
write_headers: bool = True
|
||||
) -> str
|
||||
```
|
||||
|
||||
- `filepath`: Path to Excel file
|
||||
- `sheet_name`: Target worksheet name
|
||||
- `data`: List of dictionaries containing data to write
|
||||
- `start_cell`: Starting cell (default: "A1")
|
||||
- `write_headers`: Whether to write dictionary keys as headers
|
||||
- Returns: Success message
|
||||
|
||||
### read_data_from_excel
|
||||
|
||||
Read data from Excel worksheet.
|
||||
|
||||
```python
|
||||
read_data_from_excel(
|
||||
filepath: str,
|
||||
sheet_name: str,
|
||||
start_cell: str = "A1",
|
||||
end_cell: str = None,
|
||||
preview_only: bool = False
|
||||
) -> str
|
||||
```
|
||||
|
||||
- `filepath`: Path to Excel file
|
||||
- `sheet_name`: Source worksheet name
|
||||
- `start_cell`: Starting cell (default: "A1")
|
||||
- `end_cell`: Optional ending cell
|
||||
- `preview_only`: Whether to return only a preview
|
||||
- Returns: String representation of data
|
||||
|
||||
## Formatting Operations
|
||||
|
||||
### format_range
|
||||
|
||||
Apply formatting to a range of cells.
|
||||
|
||||
```python
|
||||
format_range(
|
||||
filepath: str,
|
||||
sheet_name: str,
|
||||
start_cell: str,
|
||||
end_cell: str = None,
|
||||
bold: bool = False,
|
||||
italic: bool = False,
|
||||
underline: bool = False,
|
||||
font_size: int = None,
|
||||
font_color: str = None,
|
||||
bg_color: str = None,
|
||||
border_style: str = None,
|
||||
border_color: str = None,
|
||||
number_format: str = None,
|
||||
alignment: str = None,
|
||||
wrap_text: bool = False,
|
||||
merge_cells: bool = False,
|
||||
protection: Dict[str, Any] = None,
|
||||
conditional_format: Dict[str, Any] = None
|
||||
) -> str
|
||||
```
|
||||
|
||||
- `filepath`: Path to Excel file
|
||||
- `sheet_name`: Target worksheet name
|
||||
- `start_cell`: Starting cell of range
|
||||
- `end_cell`: Optional ending cell of range
|
||||
- Various formatting options (see parameters)
|
||||
- Returns: Success message
|
||||
|
||||
### merge_cells
|
||||
|
||||
Merge a range of cells.
|
||||
|
||||
```python
|
||||
merge_cells(filepath: str, sheet_name: str, start_cell: str, end_cell: str) -> str
|
||||
```
|
||||
|
||||
- `filepath`: Path to Excel file
|
||||
- `sheet_name`: Target worksheet name
|
||||
- `start_cell`: Starting cell of range
|
||||
- `end_cell`: Ending cell of range
|
||||
- Returns: Success message
|
||||
|
||||
### unmerge_cells
|
||||
|
||||
Unmerge a previously merged range of cells.
|
||||
|
||||
```python
|
||||
unmerge_cells(filepath: str, sheet_name: str, start_cell: str, end_cell: str) -> str
|
||||
```
|
||||
|
||||
- `filepath`: Path to Excel file
|
||||
- `sheet_name`: Target worksheet name
|
||||
- `start_cell`: Starting cell of range
|
||||
- `end_cell`: Ending cell of range
|
||||
- Returns: Success message
|
||||
|
||||
## Formula Operations
|
||||
|
||||
### apply_formula
|
||||
|
||||
Apply Excel formula to cell.
|
||||
|
||||
```python
|
||||
apply_formula(filepath: str, sheet_name: str, cell: str, formula: str) -> str
|
||||
```
|
||||
|
||||
- `filepath`: Path to Excel file
|
||||
- `sheet_name`: Target worksheet name
|
||||
- `cell`: Target cell reference
|
||||
- `formula`: Excel formula to apply
|
||||
- Returns: Success message
|
||||
|
||||
### validate_formula_syntax
|
||||
|
||||
Validate Excel formula syntax without applying it.
|
||||
|
||||
```python
|
||||
validate_formula_syntax(filepath: str, sheet_name: str, cell: str, formula: str) -> str
|
||||
```
|
||||
|
||||
- `filepath`: Path to Excel file
|
||||
- `sheet_name`: Target worksheet name
|
||||
- `cell`: Target cell reference
|
||||
- `formula`: Excel formula to validate
|
||||
- Returns: Validation result message
|
||||
|
||||
## Chart Operations
|
||||
|
||||
### create_chart
|
||||
|
||||
Create chart in worksheet.
|
||||
|
||||
```python
|
||||
create_chart(
|
||||
filepath: str,
|
||||
sheet_name: str,
|
||||
data_range: str,
|
||||
chart_type: str,
|
||||
target_cell: str,
|
||||
title: str = "",
|
||||
x_axis: str = "",
|
||||
y_axis: str = ""
|
||||
) -> str
|
||||
```
|
||||
|
||||
- `filepath`: Path to Excel file
|
||||
- `sheet_name`: Target worksheet name
|
||||
- `data_range`: Range containing chart data
|
||||
- `chart_type`: Type of chart (line, bar, pie, scatter, area)
|
||||
- `target_cell`: Cell where to place chart
|
||||
- `title`: Optional chart title
|
||||
- `x_axis`: Optional X-axis label
|
||||
- `y_axis`: Optional Y-axis label
|
||||
- Returns: Success message
|
||||
|
||||
## Pivot Table Operations
|
||||
|
||||
### create_pivot_table
|
||||
|
||||
Create pivot table in worksheet.
|
||||
|
||||
```python
|
||||
create_pivot_table(
|
||||
filepath: str,
|
||||
sheet_name: str,
|
||||
data_range: str,
|
||||
target_cell: str,
|
||||
rows: List[str],
|
||||
values: List[str],
|
||||
columns: List[str] = None,
|
||||
agg_func: str = "mean"
|
||||
) -> str
|
||||
```
|
||||
|
||||
- `filepath`: Path to Excel file
|
||||
- `sheet_name`: Target worksheet name
|
||||
- `data_range`: Range containing source data
|
||||
- `target_cell`: Cell where to place pivot table
|
||||
- `rows`: Fields for row labels
|
||||
- `values`: Fields for values
|
||||
- `columns`: Optional fields for column labels
|
||||
- `agg_func`: Aggregation function (sum, count, average, max, min)
|
||||
- Returns: Success message
|
||||
|
||||
## Worksheet Operations
|
||||
|
||||
### copy_worksheet
|
||||
|
||||
Copy worksheet within workbook.
|
||||
|
||||
```python
|
||||
copy_worksheet(filepath: str, source_sheet: str, target_sheet: str) -> str
|
||||
```
|
||||
|
||||
- `filepath`: Path to Excel file
|
||||
- `source_sheet`: Name of sheet to copy
|
||||
- `target_sheet`: Name for new sheet
|
||||
- Returns: Success message
|
||||
|
||||
### delete_worksheet
|
||||
|
||||
Delete worksheet from workbook.
|
||||
|
||||
```python
|
||||
delete_worksheet(filepath: str, sheet_name: str) -> str
|
||||
```
|
||||
|
||||
- `filepath`: Path to Excel file
|
||||
- `sheet_name`: Name of sheet to delete
|
||||
- Returns: Success message
|
||||
|
||||
### rename_worksheet
|
||||
|
||||
Rename worksheet in workbook.
|
||||
|
||||
```python
|
||||
rename_worksheet(filepath: str, old_name: str, new_name: str) -> str
|
||||
```
|
||||
|
||||
- `filepath`: Path to Excel file
|
||||
- `old_name`: Current sheet name
|
||||
- `new_name`: New sheet name
|
||||
- Returns: Success message
|
||||
|
||||
## Range Operations
|
||||
|
||||
### copy_range
|
||||
|
||||
Copy a range of cells to another location.
|
||||
|
||||
```python
|
||||
copy_range(
|
||||
filepath: str,
|
||||
sheet_name: str,
|
||||
source_start: str,
|
||||
source_end: str,
|
||||
target_start: str,
|
||||
target_sheet: str = None
|
||||
) -> str
|
||||
```
|
||||
|
||||
- `filepath`: Path to Excel file
|
||||
- `sheet_name`: Source worksheet name
|
||||
- `source_start`: Starting cell of source range
|
||||
- `source_end`: Ending cell of source range
|
||||
- `target_start`: Starting cell for paste
|
||||
- `target_sheet`: Optional target worksheet name
|
||||
- Returns: Success message
|
||||
|
||||
### delete_range
|
||||
|
||||
Delete a range of cells and shift remaining cells.
|
||||
|
||||
```python
|
||||
delete_range(
|
||||
filepath: str,
|
||||
sheet_name: str,
|
||||
start_cell: str,
|
||||
end_cell: str,
|
||||
shift_direction: str = "up"
|
||||
) -> str
|
||||
```
|
||||
|
||||
- `filepath`: Path to Excel file
|
||||
- `sheet_name`: Target worksheet name
|
||||
- `start_cell`: Starting cell of range
|
||||
- `end_cell`: Ending cell of range
|
||||
- `shift_direction`: Direction to shift cells ("up" or "left")
|
||||
- Returns: Success message
|
||||
|
||||
### validate_excel_range
|
||||
|
||||
Validate if a range exists and is properly formatted.
|
||||
|
||||
```python
|
||||
validate_excel_range(
|
||||
filepath: str,
|
||||
sheet_name: str,
|
||||
start_cell: str,
|
||||
end_cell: str = None
|
||||
) -> str
|
||||
```
|
||||
|
||||
- `filepath`: Path to Excel file
|
||||
- `sheet_name`: Target worksheet name
|
||||
- `start_cell`: Starting cell of range
|
||||
- `end_cell`: Optional ending cell of range
|
||||
- Returns: Validation result message
|
||||
Reference in New Issue
Block a user