GRID Agent Tools
Load, read, edit, and recalculate.xlsx workbooks headlessly — no Excel required.
Connector by grid.isOfficial · Domain verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/grid-is-agent-tools
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 13 read · 7 write · 3 delete · 3 not yet classified
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Tools by what they do 26
Read from the source code; the running server may list different tools.
Read 13 · Look things up without changing anything.
captureRangedescribeStructurefindCellsgetCommentgetCommentsgetStylesgoalSeekinspectlistErrorslistWorkbooksreadCalculatedValuessymbols
Show 1 more tools
viewRange
Write 7 · Create, change, send or run things.
createWorkbookeditCellseditCellStylesfillCellsrunFormulasaveWorkbookselectWorkbook
Delete 3 · Delete, drop, revoke or wipe things.
executeOfficeJsmanageRowsAndColumnsmanageSheets
Not yet classified 3 · We could not tell from the name and description.
generateWorkbookContextloadWorkbookwhatIf
Tools (26)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
captureRangeRender a range as a PNG image and return its raw bytes (Uint8Array). Use this when the formatting itself is the information — fills, font colors, borders, merged cells, number formats — that the text-grid tools (viewRange) can't convey, or when the user asks to *see* part of the workbook. The bytes are ready to attach to a multimodal message or write to a file; this tool does no LLM wiring itself. Gridlines and row/column headers render as Excel shows them. Renders against the browser's native canvas when available, and skia-canvas in Node.
createWorkbookCreate a blank single-sheet workbook in memory and make it the active workbook. Nothing is written to disk until saveWorkbook.
describeStructureAnalyzes the spreadsheet and returns a structured description of all data regions, headers, and labels. This helps you understand: - Where data tables are located (islands/regions) - Which rows are headers vs data - Column and row labels for each data region - Sheet names and their contents - Whether iterative calculation is on (needed for intentional circular references) Labels are limited to 50 per sheet. Use totalLabels to check if more exist, and labelOffset to paginate. Use this information to write accurate formulas that reference the correct cells and ranges.
editCellsPermanently write values or formulas to cells. Merge or unmerge cells. IMPORTANT: After editing, you MUST call readCalculatedValues to see the resulting changes. The tool returns a delta showing changes, but you should verify formulas propagated correctly. Writing text over a cell that held a number or date is reported in `warnings` (level "high" or "low"). A "high" warning usually means a real value was turned into a text string that only looks the same — write the value itself, not its displayed text. Examples: - Set value: { "apply": [{ "target": "A1", "value": 100 }], "note": "Set initi…
editCellStylesApply formatting styles to cells without changing values. IMPORTANT: After using fillCells, you MUST call this to apply formatting to the filled range.
executeOfficeJsExecute an Office.js code snippet directly against the active workbook. Returns any error plus the list of Office.js APIs the code used that are not yet implemented. Edits synced before a script error remain applied.
fillCellsExtend a selection by filling cells with auto-detected patterns (numbers, dates, formulas). Similar to Excel's fill handle - detects sequences and continues them. Fill direction is inferred from selection and extend_to: the dimension that changes determines the fill axis. IMPORTANT: After filling, you MUST call editCellStyles to apply formatting to the filled cells. Examples: - Fill down: { "sheet": "Sheet1", "selection": "A1:A3", "extend_to": "A1:A10", "note": "Extend series" } - Fill right: { "sheet": "Sheet1", "selection": "A1:C1", "extend_to": "A1:F1", "note": "Extend headers" } - Fill u…
findCellsDescription is built at runtime.
generateWorkbookContextGenerate a comprehensive natural-language description of the active workbook: sheet structures, data regions, labels, and relationships. More detailed than describeStructure.
getCommentRead the full text of the comment or note on a specific cell, including all replies for threaded comments. Returns kind="none" if the cell has neither. Use after `getComments` to see the body of an entry whose preview was truncated, or when an agent message refers to a specific cell with a TODO/question on it.
getCommentsList the cells in the workbook that have a comment or note attached, with author, kind (threaded comment vs. legacy note), reply count, and a short text preview. Comments are how a reviewer flags TODOs, justifies a number, or asks a question on a specific cell — read them when auditing, debugging, or completing a partly-built workbook. Returns up to 25 entries; pass `offset` to page. Use `getComment` to read the full text or thread for a specific cell.
getStylesGet the workbook's style definitions. Returns styles where each index corresponds to a style_index in cell data. Use this to understand what formatting (colors, fonts, borders, etc.) is applied to cells. If no indices are provided, returns all styles as an array. If indices are provided, returns only those styles as an object keyed by index.
goalSeekFind the input value needed to achieve a target result (like Excel's Goal Seek). Iteratively adjusts the control cell until the target cell reaches the desired value.
inspectInspect detailed per-cell information including value, formula, number format, style, and hyperlink. Returns up to 20 cells per call. When the range is larger, the response is truncated and includes `nextOffset` — call again with the same `reference` and `offset: <nextOffset>` to continue. Examples: - Single cell: { "reference": "A1" } - Range: { "reference": "B2:C5" } - Cross-sheet: { "reference": "Sheet2!A1" } - Next page: { "reference": "A1:K10", "offset": 20 }
listErrorsList all formula errors and model errors in a workbook, grouped by error, detail and origin (the cell where the error arose). Errors saved in the file are recalculated to find their origin and detail. Results are scoped to a sheet or range when provided, and truncated per group when the default cell limit is exceeded.
Show 11 more tools
listWorkbooksList all loaded workbooks and their sheet names.
loadWorkbookLoad an .xlsx file into memory and make it the active workbook. A session starts with this or createWorkbook. Returns the sheet names.
manageRowsAndColumnsInsert, delete, or auto-size rows and columns. Operations are executed in order: column insert → column delete → row insert → row delete → column autosize → row autosize.
manageSheetsAdd, remove, rename, or change visibility of sheets. Operations are executed in order: add → rename → setVisibility → remove.
readCalculatedValuesRead cell values, formula results, and lookups from spreadsheets, and optionally apply temporary values for what-if calculations. The 'read' array accepts cell references, ranges, and formulas. Use formulas like XLOOKUP, QUERY, AVERAGE, etc. directly in 'read' to find and compute values in a single call. Examples: - Read cells: { "read": ["A1", "B1:B10", "Sheet2!C5"] } - Lookup: { "read": ["=XLOOKUP(\"Revenue\", A1:A10, B1:B10)"] } - Filtered average: { "read": ["=QUERY(Sheet1!A1:D100, \"SELECT AVG(D) WHERE A = 'Category1'\")"] } - What-if: { "read": ["C8"], "apply": [{ "cell": "B1", "value":…
runFormulaRun one or more formulas without writing to any cell. Returns the calculated results. Useful for testing formulas or computing values without modifying the workbook. Examples: - Single: { "formula": "=SUM(A1:A10)" } - Batch: { "formulas": ["=SUM(A1:A10)", "=AVERAGE(B1:B10)", "=COUNT(C1:C10)"] } - With temp values: { "formula": "=A1*B1", "apply": [{ "cell": "A1", "value": 5 }] } - Against a specific sheet: { "formula": "=SUM(A:A)", "sheet": "Sheet2" } Use "formulas" array to test multiple formulas in one call (more efficient than multiple calls). Bare cell references (e.g. A1, SUM(A:A)) reso…
saveWorkbookSave the active workbook to an .xlsx file. Provide a new path, or set overwrite: true to write over an existing file (including the source).
selectWorkbookMake a previously loaded workbook the active one for all other spreadsheet tools. Switching keeps in-memory state, so unsaved edits survive. Use listWorkbooks to see what is loaded; use loadWorkbook to (re)load from disk.
symbolsGet workbook structural metadata: sheet dimensions, named ranges, tables, and dependency graph stats. Complements describeStructure (which provides labels and data regions) with structural/entity information. Use this to understand the workbook's overall shape before inspecting specific cells.
viewRangeRender a worksheet rectangle as a compact text grid — by default the displayed (number-formatted) values, what a human sees in the cells — with column letters and row numbers. Use this FIRST to scan or orient in an area (a financial statement, a block, a table): one call returns the whole rectangle instead of reading it cell-by-cell. Pass `show` to audit other layers of the same grid: raw unformatted values, a style property ('-' marks unset cells), or the formula structure — formula cells get a legend key, identical fills share one key, so a miscolored cell, a wrong format, or a hardcoded ove…
whatIfTest hypothetical value changes and see which formula cells are affected. Applies temporary changes, recalculates, shows before/after diff of affected formula cells, then restores the original state. A string value starting with "=" is applied as a temporary formula. Max 20 changes, max 100 affected cells reported. Example: { "changes": { "A1": 50, "B1": "=A1*2" } }
Compare and alternatives
Featured in
Signals
- Weekly downloads
- 69
- Last release
- Oct 23, 2026 (5 days ago)
- Last package publish
- Oct 23, 2026 (5 days ago)
From the package registry.
Details
- Registry name
is.grid/agent-tools- Version
- 0.5.0
- Auth
- No auth
- Packages
- npm @grid-is/agent-tools
- License
- License unknown
- Website
- grid.is/agent-tools
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- Official MCP Registry
Cite this page
GRID Agent Tools MCP server. Agent Mart. https://agentmart.dev/connectors/grid-is-agent-tools (last updated 2026-10-24)