@libraz/formulon-mcp
MCP server for Formulon Excel-compatible formula and workbook evaluation
Versions
0.3.0latest0.1.40.1.30.1.20.1.1Tools 44
formulon_function_lookup List functions, read name/arity/availability metadata, translate a function name or a whole formula between the stored English form and a profile's spelling, or read a profile's locale facts (separators, boolean names, date order, currency, error names).
formulon_workbook_call Low-level allowlisted access to the Formulon Workbook API for advanced features. Use formulon_workbook_api first to discover method signatures, input records and enum values.
formulon_audit_formulas Scan a workbook range for repeated formula patterns and report constants, blanks, outliers, and formula errors for review. The default range is the complete stored used rectangle, with no silent prefix truncation. A fully blank row or column is a hard boundary, so include the populated input columns when auditing a table body. The audit never repairs formulas and does not establish formula correctness. Recalculation is opt-in and marks the session dirty before the engine call.
formulon_workbook_api Search or describe the installed Formulon Workbook methods. This tool is session-free and returns signatures, source documentation, read/write access, and referenced TypeScript declarations for AI callers.
formulon_table_operation List, create, update, or remove a native Excel worksheet Table. Create derives unique non-empty column names from the first row when columns is omitted; this is structured Table metadata, not visual formatting. Table indexes are global across the workbook.
formulon_preview_range Render a bounded workbook range as PNG for visual inspection. The response contains the PNG image first and compact geometry, formatting, pagination, and warning metadata second. Omit range to use a single print area or the used cells plus merges.
formulon_version Return the loaded Formulon engine version.
formulon_eval_formula Evaluate one Excel formula with Formulon. With sessionId, evaluates read-only against the open workbook (resolving refs, defined names, and ROW()/COLUMN() anchored at the given cell) without mutating it.
formulon_open_workbook Create an in-memory workbook session from an existing .xlsx/.xlsb file or a new default workbook. Anything the reader could not decode is reported in the session's `loadLosses`.
formulon_list_sessions List currently open in-memory workbook sessions.
formulon_close_workbook Close an in-memory workbook session and release its native workbook handle.
formulon_inspect_session Inspect an open workbook session, optionally including sparse non-empty cells.
formulon_recalc_session Recalculate an open workbook session.
formulon_find_cells Search text cell values and/or formula text in an open workbook session.
formulon_replace_cells Replace matching text cell values and/or formula text in an open workbook session.
formulon_inspect_layout Return stable cell, layout, merge, row/column, protection, and optional style data for one or all sheets.
formulon_detect_regions Detect table-like regions, label-value pairs, and total-like regions with rule-based evidence.
formulon_analyze_workbook Classify workbook shape such as invoice, list, report, schedule, or form using deterministic features and evidence.
formulon_get_cell Get one cell from either an open session or a workbook path. Pass exactly one of `sessionId` or `path`; A1 refs and sheet names work for both. Date/currency/percent cells carry a decoded `formatted` string alongside the raw value; formatted numbers also carry `text`, exactly what Excel displays (`textStatus` flags overflow or an invalid format).
formulon_get_range Get a rectangular A1 range from an open workbook session. Output is sparse (blank cells omitted) and capped at maxCells. Cells with a date/currency/percent number format carry a decoded `formatted` string (for example an ISO date) alongside the raw value; formatted numbers also carry `text`, exactly what Excel displays.
formulon_save_session Save an open workbook session as .xlsx or .xlsb. XLSB output can lose or downgrade tables, pivots, print settings, comments, and other features; choose .xlsx where possible and inspect `losses` before relying on the file.
formulon_session_metadata Read broad workbook metadata such as registered functions or external links.
formulon_create_pivot Create a native Excel PivotTable from a worksheet range. The first source row is a unique, non-empty text header row and at least one data row is required; source cells are capped at 10,000 and are read in one operation after recalculation. Every source header must be assigned exactly once to rows, columns, pages, or a distinct value field (a value field may have multiple aggregations); unknown, unused, or cross-axis fields are rejected before mutation. Values may use sum, count, average, max, min, product, countNumbers, stddev, stddevp, var, or varp. target is an A1 anchor and may include a sheet name; targetSheet defaults to the source sheet.
formulon_dimension_operation List column-width/row-height overrides, set width/height, reset it to the sheet default (keeping hidden, outline and style state), or set hidden or outline level. Columns act on an inclusive [first, last] span; rows act on an inclusive [row, row] span. Column sizes default to Excel character units; row sizes default to points. Use px or mm when a physical display size is easier to specify.
formulon_build_document Lay out a document as a vertical stack of blocks — title, text, fields, table, summary, spacer — and write it in one call. Positions, ruling, number formats, column widths, merges and the print area are all resolved from the layout, so no row arithmetic is needed. Blocks reference each other by name: a table column registers as {table.<header>} over its body range, and a fields or summary item registers under its label, so "=SUM({table.Amount})" and "={Subtotal}+{Tax}" bind to the right cells once the layout is known. The response maps every block and name to A1 so the result can be refined with set_cells / style_range / print_settings. This tool carries no document semantics: labels, tax rules and totals are the caller\'s formulas.
formulon_style_range Apply fonts, fills, borders, number formats, and alignment across an A1 range, materializing blank cells so an empty ruled box renders. Whole columns (B:D) or rows (3:5) are styled as columns or rows, so cells written there later inherit the style. Each property is a delta: cells keep whatever the style does not state, so ruling a table does not undo the number format already on its amount column. Style in passes — the grid over the whole table, then the header row, then a total cell.
formulon_default_font Read or redeclare the workbook default font — the one every cell that was never styled resolves to. A new workbook is seeded with Excel's Calibri 11, which renders Japanese text in a fallback face, so a Japanese document should declare its own default once instead of styling every cell. Omit `font` to read. Stating a `name` also cuts the theme link a loaded workbook's base font carries, since a theme-linked font is re-resolved from the theme rather than keeping the name.
formulon_print_settings Read or set a sheet's print settings: page setup, margins, print options, header/footer, print area, print titles, and manual page breaks. Omit every setting to read. Reads report the resulting pageCount and a `layout` (paper, margins in points, scale, page order, break flags, per-page A1 ranges), so a page layout can be checked without saving the file.
formulon_set_cells Apply cell mutations to an open workbook session. Cells may use A1 refs or zero-based row/col.
formulon_set_range Write a 2D block of values starting at an anchor cell. Each element\'s JSON type picks the cell type: number, boolean, or string. Use {"f":"=SUM(A1:A3)"} for a formula, {"blank":true} to clear a cell, and null to leave it untouched. Far more compact than set_cells for tables.
formulon_sheet_operation Add, remove, rename, or move a sheet in an open workbook session.
formulon_set_defined_name Add, replace, or remove a defined name. Without `sheet` the name is workbook-scoped; with it the name is local to that sheet. Print settings (_xlnm.Print_Area, _xlnm.Print_Titles) must be sheet-scoped — Excel ignores a workbook-scoped one without reporting an error. Empty formula removes it.
formulon_edit_structure Insert or delete rows/columns in an open workbook session.
formulon_set_sheet_view Set sheet zoom, frozen panes, or tab visibility.
formulon_merge_operation List, add, remove, remove by index, or clear merged ranges on a sheet.
formulon_comment_operation List, get, set, or remove a cell comment.
formulon_hyperlink_operation List, add, remove, remove by index, or clear hyperlinks on a sheet. An added link covers one cell, or the rectangle through lastRow/lastCol.
formulon_validation_operation List, add, remove by index, or clear data validations on a sheet. An omitted boolean field defaults to false, so a rule that should accept empty cells has to spell allowBlank: true; showDropDown is the only field that defaults to true.
formulon_conditional_format_operation List, add, remove by index, clear, or evaluate conditional format rules.
formulon_image_operation List a sheet's drawing objects (pictures, shapes, charts) with A1 anchors and sizes, get a picture's bytes (returned as an image, optionally written to outputPath), insert a PNG/JPEG/GIF/BMP file anchored at a cell, move/resize a picture in place, change the stacking order, or remove a picture. Insertion keeps existing drawings; an omitted width or height keeps the aspect ratio, and omitting both uses the pixel size at 96 DPI. A move changes only what it states and keeps the picture's id, crop and rotation.
formulon_trace Read precedents, dependents, or spill info for a cell. Results carry A1 references (with sheet names), not raw indices.
formulon_inspect_workbook Load an xlsx or xlsb workbook path and return a one-shot summary.
formulon_update_workbook Create or load a workbook, apply zero-based cell mutations, recalculate, and save as .xlsx or .xlsb. Inspect returned losses; use XLSX to preserve authored tables, pivots, print settings, and comments.
formulon_apply_layout Apply column widths, row heights, merges, styles, and print settings in one ordered batch. The complete operation list is validated before any workbook mutation; a failed preflight leaves the session unchanged. Column sizes default to Excel character units, row sizes to points, and px/mm convert through 96-DPI display geometry. The batch caps at 200 operations, 255 stored width characters, 409 points per row, 10,000 expanded row writes, and 100,000 styled cells.
Permissions 3
filesystem low shell high env_vars low Scan Findings 0
No scan findings.