list_sheetsLABSCO 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:
--workpaperfor a persisted JSON document,--from-xlsxto 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
USE CASES
Running pricing or approval rules that live in a spreadsheet
Write the inputs, let the formulas recalculate, and read the decision cell — the workbook stays the source of the rules instead of being reimplemented in code.
Checking an XLSX before trusting it
Import it, run the risk analysis over the workbook, and probe individual cells for their displayed values without writing a sidecar file.
Verifying a formula edit actually took
Validate the formula first, apply it, then read the dependent cell in the same exchange rather than assuming recalculation happened.
Handing workbook state between sessions
Export the WorkPaper JSON at the end of a run and load it again next time, so the agent resumes on the same numbers.
11 tools
Listed in project docs. Your client may show a different list.
read_rangeread_cellset_cell_contentsset_cell_contents_and_readbackget_cell_display_valueexport_workpaper_documentvalidate_formulaanalyze_workbook_riskread_workpaper_summaryset_workpaper_input_cellBEFORE YOU INSTALL
What to know first
Tools you get
11 tools named in the project's documentation. Default demo mode exposes only read_workpaper_summary and set_workpaper_input_cell; --workpaper exposes the other 8, and --from-xlsx adds analyze_workbook_risk. edit_and_verify_workpaper and debug_workpaper_formula are prompts, not tools.
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
npm install @bilig/workpaperMCP Clients
Any MCP client
{
"mcpServers": {
"bilig-workpaper": {
"command": "npm",
"args": [
"exec",
"--package",
"@bilig/workpaper@latest",
"--",
"bilig-workpaper-mcp",
"--workpaper",
"./.bilig/pricing.workpaper.json",
"--init-demo-workpaper",
"--writable"
]
}
}
}Cursor — demo server
{
"mcpServers": {
"bilig-workpaper": {
"command": "npm",
"args": [
"exec",
"--yes",
"--package",
"@bilig/headless@latest",
"--",
"bilig-workpaper-mcp"
]
}
}
}