ironcalc-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_workbookA | Create a new empty workbook. Args: name: Workbook name locale: Locale code (e.g. en, de, es, fr) timezone: Timezone (e.g. UTC, America/New_York) language: Language code for formulas (e.g. en, es, de) |
| load_workbookA | Load a workbook from an xlsx file. Args: file_path: Absolute path to the .xlsx file locale: Locale code (e.g. en, de, es) timezone: Timezone (e.g. UTC) language: Language code for formulas (e.g. en) |
| save_workbookA | Save the current workbook to an xlsx file. Args: file_path: Path to save to. If omitted, saves to the path it was loaded from. |
| get_workbook_infoA | Get information about the current workbook: sheets, dimensions, and metadata. |
| get_cellA | Get a single cell's content, formatted value, and type. Args: sheet: Sheet index (0-based) row: Row number (1-based) column: Column number (1-based) |
| get_cellsA | Get cells in a rectangular range. Args: sheet: Sheet index (0-based) row_start: First row (1-based) col_start: First column (1-based) row_end: Last row (1-based, inclusive) col_end: Last column (1-based, inclusive) |
| set_cellA | Set a single cell's value. Use '=' prefix for formulas. Args: sheet: Sheet index (0-based) row: Row number (1-based) column: Column number (1-based) value: Cell value (text, number, or formula starting with '=') |
| set_cellsA | Set multiple cells in batch. Each entry needs sheet, row, column, value. Args: cells: List of {sheet: int, row: int, column: int, value: str} |
| add_sheetA | Add a new sheet to the workbook. Args: name: Optional sheet name. If omitted, auto-named (Sheet2, Sheet3, etc.) |
| delete_sheetB | Delete a sheet by index. Args: sheet: Sheet index (0-based) |
| rename_sheetA | Rename a sheet. Args: sheet: Sheet index (0-based) name: New sheet name |
| set_sheet_colorA | Set the tab color of a sheet. Args: sheet: Sheet index (0-based) color: Hex color string (e.g. '#FF0000') |
| insert_rowsB | Insert rows at the given position. Args: sheet: Sheet index (0-based) row: Row number where new rows are inserted (1-based) count: Number of rows to insert |
| delete_rowsB | Delete rows starting at the given position. Args: sheet: Sheet index (0-based) row: First row to delete (1-based) count: Number of rows to delete |
| insert_columnsB | Insert columns at the given position. Args: sheet: Sheet index (0-based) column: Column number where new columns are inserted (1-based) count: Number of columns to insert |
| delete_columnsB | Delete columns starting at the given position. Args: sheet: Sheet index (0-based) column: First column to delete (1-based) count: Number of columns to delete |
| set_column_widthB | Set the width of a column. Args: sheet: Sheet index (0-based) column: Column number (1-based) width: Column width in points |
| set_row_heightA | Set the height of a row. Args: sheet: Sheet index (0-based) row: Row number (1-based) height: Row height in points |
| set_frozen_rowsA | Freeze the top N rows. Args: sheet: Sheet index (0-based) count: Number of rows to freeze (0 to unfreeze) |
| set_frozen_columnsA | Freeze the left N columns. Args: sheet: Sheet index (0-based) count: Number of columns to freeze (0 to unfreeze) |
| get_cell_styleA | Get the style (font, fill, border, alignment, number format) of a cell. Args: sheet: Sheet index (0-based) row: Row number (1-based) column: Column number (1-based) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 21 tools
Each tool targets a distinct action and resource (e.g., get_cell vs get_cells vs get_cell_style, delete_columns vs delete_rows vs delete_sheet). There is no overlap in functionality, and descriptions make the purpose clear.
All tools follow a consistent verb_noun pattern in snake_case (e.g., add_sheet, create_workbook, get_cell). Even compound names like get_cell_style and get_workbook_info adhere to this pattern, maintaining uniformity.
With 21 tools, the count is well-suited for a spreadsheet server, covering workbook lifecycle, sheet management, cell operations, row/column manipulation, and formatting. It is neither too sparse nor overwhelming.
The tool set covers essential CRUD operations for cells, sheets, rows, and columns, plus workbook load/save and basic formatting (column width, row height, freeze panes, sheet color). However, it lacks tools to set cell styles (font, fill, border, alignment) or merge cells, which are notable gaps for a spreadsheet server.