
Bilig WorkPaper
Brings formula-backed workbook logic into your MCP workflow without launching Excel or scraping a UI. You get tools to read cell values, edit inputs, recalculate formulas, and serialize the entire model to JSON so state persists across sessions. The underlying Bilig engine catches stale cached formula values that SheetJS and ExcelJS leave behind, then recomputes them in Node. Reach for this when your agent needs to own a pricing sheet, approval workbook, or quote calculator and you want exact cell addresses plus reliable readback instead of passing XLSX files around. Supports both stdio and streamable HTTP transports, so you can run it locally or expose it as a remote service.
- GitHub stars
- 35
- tools
- 8
- transport
- STDIO, HTTP
- last updated
- Oct 4, 2026
Install
From registry metadata$ npx add-mcp https://bilig.proompteng.ai/mcp --name bilig-workpaperRun in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.
Review the command, arguments and environment values before installing. MCP servers run with your local permissions.
Other ways
Claude Code
$ claude mcp add --transport http bilig-workpaper https://bilig.proompteng.ai/mcpRun in your terminal. Add --scope user to make it available in every project.
Tools
Verified live · 8 toolsVerified live against the running server on Nov 6, 2026.
list_sheetsDiscover sheet names and used dimensions before reading or editing a WorkPaper. Returns metadata only; use read_range or read_cell for values.
Discover sheet names and used dimensions before reading or editing a WorkPaper. Returns metadata only; use read_range or read_cell for values.
No parameters. Call it with no arguments.
read_rangeRead calculated values plus serialized formulas/inputs for an A1 range. Use for audit readback after edits; use read_cell for one address.2 params
Read calculated values plus serialized formulas/inputs for an A1 range. Use for audit readback after edits; use read_cell for one address.
range*stringsheetNamestringread_cellRead one cell with calculated value, display text, formula text, formula diagnostics, and serialized content. Use after set_cell_contents to verify readback.2 params
Read one cell with calculated value, display text, formula text, formula diagnostics, and serialized content. Use after set_cell_contents to verify readback.
address*stringsheetName*stringset_cell_contentsWrite raw content to one cell and recalculate dependents in memory only. Start with --writable when the edit should persist to JSON.3 params
Write raw content to one cell and recalculate dependents in memory only. Start with --writable when the edit should persist to JSON.
address*stringsheetName*stringvalue*stringset_cell_contents_and_readbackWrite raw content to one cell, recalculate dependents, read a dependent range in the same tool call, and return persistence proof. Use this for stateless MCP clients such as hosted Open WebUI integrations.5 params
Write raw content to one cell, recalculate dependents, read a dependent range in the same tool call, and return persistence proof. Use this for stateless MCP clients such as hosted Open WebUI integrations.
address*stringreadbackRange*stringreadbackSheetNamestringsheetName*stringvalue*stringget_cell_display_valueReturn the formatted display string for one cell. Use when an agent needs what a user would see, not the raw numeric value.2 params
Return the formatted display string for one cell. Use when an agent needs what a user would see, not the raw numeric value.
address*stringsheetName*stringexport_workpaper_documentExport the current WorkPaper JSON document for persistence, review, or handoff to another agent. Does not write files by itself.1 params
Export the current WorkPaper JSON document for persistence, review, or handoff to another agent. Does not write files by itself.
includeConfigbooleanvalidate_formulaValidate formula syntax with the WorkPaper parser before writing it to a cell. This checks syntax only; use set_cell_contents plus readback to evaluate.1 params
Validate formula syntax with the WorkPaper parser before writing it to a cell. This checks syntax only; use set_cell_contents plus readback to evaluate.
formula*stringSponsors
Readme
Bilig
Keep the workbook model. Run the rule in Node.
Bilig is a TypeScript-native, headless WorkPaper runtime for Node.js services, tests, and AI agents. Set inputs, recalculate formulas, read computed outputs, persist WorkPaper JSON, restore it, and verify the result—without driving Excel or a browser grid.
Docs · Quick start · TypeScript API · MCP · Examples · Discussions
Details
- Repository
- github.com/proompteng/bilig
- Category
- Data & Analytics
- Package
@bilig/workpaper- Transport
- STDIO, HTTP
- Registry
- MCP registry, active
- Resources
- 4
- Prompts
- 2
- Tools verified
- Nov 6, 2026