SheetForge MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FASTMCP_HOST | No | Bind address for the server process (HTTP and SSE) | 127.0.0.1 |
| FASTMCP_PORT | No | Port for the server process (HTTP and SSE) | 8017 |
| EXCEL_FILES_PATH | No | Base directory for relative workbook paths (HTTP and SSE) | ./excel_files |
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 |
|---|---|
| apply_formulaC | Apply Excel formula to cell. Excel formula will write to cell with verification. |
| validate_formula_syntaxA | Validate Excel formula syntax without applying it. |
| inspect_formulaA | Inspect a formula string for functions, references, and risky signals. |
| format_rangeC | Apply formatting to a range of cells. Colors accept RRGGBB, #RRGGBB, AARRGGBB, or #AARRGGBB. |
| format_rangesC | Apply formatting to multiple ranges in a single workbook pass. Colors accept RRGGBB, #RRGGBB, AARRGGBB, or #AARRGGBB. |
| read_range_formattingC | Read a compact formatting summary for a worksheet range. |
| read_data_from_excelA | |
| read_excel_as_tableA | |
| quick_readB | Read a compact table from an explicit sheet or the first workbook sheet. Can return either array rows or object-shaped records, plus optional schema hints inferred from the returned rows. |
| describe_datasetB | Summarize a worksheet or native Excel table for agent-friendly orientation. |
| suggest_read_strategyA | Recommend the best SheetForge read tool for the requested workbook target. |
| query_tableB | Filter, project, sort, and limit worksheet or table data. Filters support eq/neq/ne, comparisons, string matching, blank checks, and in/not_in with value or values. |
| bulk_filter_workbooksA | Filter comparable worksheet or table data across multiple workbooks. Uses the same filter operators and aliases as query_table. |
| union_tablesC | Union comparable worksheet or table data across multiple workbook files. |
| cross_workbook_lookupC | Enrich one workbook dataset from matching rows in one or more lookup workbooks. |
| aggregate_tableB | Compute grouped metrics over worksheet-shaped data or a native Excel table. |
| bulk_aggregate_workbooksC | Aggregate comparable worksheet or table data across multiple workbooks. |
| read_excel_tableA | Read a native Excel table by its table name. Supports compact table payloads, object-shaped record output, and optional inferred schema hints. |
| write_data_to_excelC | |
| create_workbookC | Create new Excel workbook. |
| create_worksheetB | Create new worksheet in workbook. |
| create_chartA | Create chart in worksheet from a contiguous range or explicit series. |
| create_chart_from_seriesB | Create a chart from explicit series definitions for non-contiguous ranges. |
| list_chartsA | List embedded charts in a workbook or worksheet. |
| find_free_canvasC | Suggest free worksheet slots for charts or dashboard blocks. |
| create_pivot_tableC | Create pivot table in worksheet. |
| create_tableB | Creates a native Excel table from a specified range of data. |
| list_tablesA | List native Excel tables for one worksheet or the whole workbook. |
| copy_worksheetC | Copy worksheet within workbook. |
| delete_worksheetC | Delete worksheet from workbook. |
| rename_worksheetC | Rename worksheet in workbook. |
| get_workbook_metadataB | Get metadata about workbook including sheets, ranges, etc. |
| describe_sheet_layoutB | Return a structural worksheet layout summary for safe dashboard-style edits. |
| analyze_range_impactA | Inspect workbook structures that overlap a worksheet range before mutation. |
| explain_formula_cellA | Explain a formula cell's direct references, upstream formula chain, and downstream dependents. |
| detect_circular_dependenciesC | Detect circular workbook formula dependencies, including self-references. |
| profile_workbookB | Return a compact workbook inventory with sheets, tables, charts, and layout state. |
| audit_workbookC | Audit workbook structure for high-signal issues that affect agent workflows. |
| plan_workbook_repairsB | Turn workbook audit findings into prioritized next steps for SheetForge workflows. |
| apply_workbook_repairsC | Apply safe workbook repair actions with dry-run planning and before/after diff output. |
| diff_workbooksA | Diff two workbook files and report structural changes plus sampled cell-value changes. |
| create_named_rangeB | Create a workbook-level or sheet-scoped named range. |
| inspect_named_rangeA | Inspect a named range, including scope, destinations, and broken-reference signals. |
| list_named_rangesA | List workbook defined names and their destinations. |
| delete_named_rangeB | Delete a workbook-level or sheet-scoped named range. |
| merge_cellsC | Merge a range of cells. |
| unmerge_cellsC | Unmerge a range of cells. |
| get_merged_cellsB | Get merged cells in a worksheet. |
| freeze_panesC | Set or clear worksheet freeze panes. |
| set_autofilterB | Set worksheet autofilter for an explicit or inferred range. |
| set_worksheet_visibilityA | Set worksheet visibility to visible, hidden, or veryHidden. |
| get_worksheet_protectionB | Get worksheet protection status and option flags. |
| set_worksheet_protectionB | Enable or disable worksheet protection with optional capability flags. |
| set_print_areaB | Set or clear worksheet print area. |
| set_print_titlesA | Set, preserve, or clear repeating print title rows and columns. |
| set_column_widthsC | Set explicit widths for one or more worksheet columns. |
| autofit_columnsC | Auto-fit worksheet columns based on content width. |
| set_row_heightsB | Set explicit heights for one or more worksheet rows. |
| copy_rangeC | Copy a range of cells to another location. |
| delete_rangeB | Delete a range of cells and shift remaining cells. |
| validate_excel_rangeC | Validate if a range exists and is properly formatted. |
| get_data_validation_infoB | |
| inspect_data_validation_rulesC | Inspect worksheet data validation rules with stable rule indexes. |
| remove_data_validation_rulesA | Remove worksheet data validation rules by index or remove all broken ones. |
| inspect_conditional_format_rulesA | Inspect worksheet conditional formatting rules with stable rule indexes. |
| remove_conditional_format_rulesA | Remove worksheet conditional formatting rules by index or remove all broken ones. |
| insert_rowsB | Insert one or more rows starting at the specified row. |
| insert_columnsB | Insert one or more columns starting at the specified column. |
| delete_sheet_rowsC | Delete one or more rows starting at the specified row. |
| delete_sheet_columnsA | Delete one or more columns starting at the specified column. |
| search_in_sheetD | Search for cells matching a value in a worksheet. |
| list_all_sheetsA | List all sheets in a workbook with row/column counts. Quick overview before reading data. |
| append_table_rowsB | Append dictionary-shaped rows by matching worksheet headers on a worksheet dataset. |
| append_excel_table_rowsA | Append rows to a native Excel table and expand its range safely. |
| upsert_excel_table_rowsB | Update matching rows in a native Excel table and append missing keys. |
| update_rows_by_keyC | Update existing table rows using a named key column. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/iHeldan/sheetforge-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server