Labsco
MCP SERVER

Bilig WorkPaper

by proompteng

Give an agent a real spreadsheet engine: write a cell, recalculate the dependent formulas, read the result back, and export or restore the workbook as JSON — no Excel installed.

Spreadsheet & Tabular File Analysis
Summary
Write-then-verify is the loop, and it is the reason this is not just a spreadsheet reader.

The reproducible check in the repository edits `Inputs!B3`, confirms `Summary!B3` moves from `60000` to `96000`, exports the document and restarts from disk — that is the shape of every useful interaction here. Two limits stated by the maintainers rather than discovered later: Excel parity is explicitly not proven, and nothing is persisted unless you deliberately pass `--writable`.

What it is

A headless WorkPaper runtime exposed over MCP. Instead of parsing a spreadsheet into text, it keeps a typed workbook object that recalculates: an agent sets an input cell, the formulas downstream recompute, and it reads the dependent cell to confirm what changed. It runs from a persisted WorkPaper JSON document, from an imported XLSX, or from a built-in demo workbook, and can persist edits back to the same file.

What you get
  • Sheets, ranges and single cells read from the loaded workbook, including the displayed value rather than the raw formula — `list_sheets`, `read_range`, `read_cell`, `get_cell_display_value`
  • Cell contents written, with a variant that returns the recalculated readback in the same call so the agent does not have to guess whether the formula updated — `set_cell_contents`, `set_cell_contents_and_readback`
  • Formula checking before it goes in, and a risk pass over the whole workbook — `validate_formula`, `analyze_workbook_risk`
  • The workbook exported as a WorkPaper JSON document that can be restored later — `export_workpaper_document`
  • MCP resources and prompts so a capable client can discover the workflow before calling anything — `bilig://workpaper/agent-handoff`, `bilig://workpaper/current-document`, `edit_and_verify_workpaper`, `debug_workpaper_formula`
  • Three ways to load: `--workpaper` for a persisted JSON document, `--from-xlsx` to import an existing XLSX into an in-memory workbook, and no flag at all for the built-in demo
  • A remote endpoint at `https://bilig.proompteng.ai/mcp`, a stateless JSON-only Streamable HTTP surface for tool discovery and write/readback checks
Requirements

Nothing — no account, no key. Node with npm: `npm exec --package @bilig/workpaper@latest -- bilig-workpaper-mcp` starts the stdio server, and a Docker target is published for MCP directory scanners. Edits stay in memory unless you pass `--writable`, which persists `set_cell_contents` and `set_cell_contents_and_readback` back to the same file; `--from-xlsx` alone gives readback and throwaway edits without writing a sidecar. It is listed in the official MCP Registry as `io.github.proompteng/bilig-workpaper`. Read the project's compatibility-limits page before importing real Excel workbooks — the maintainers keep `excelParity` marked as not proven.

Setup effort

One command — npm install @bilig/workpaper