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`.
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.
- 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
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.
One command — npm install @bilig/workpaper
