Server data from the Official MCP Registry
Formula-backed WorkPaper tools for workbook readback, input edits, and JSON persistence.
Formula-backed WorkPaper tools for workbook readback, input edits, and JSON persistence.
Remote endpoints: streamable-http: https://bilig.proompteng.ai/mcp
Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry.
8 tools verified · Open access · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Available as Local & Remote
This plugin can run on your machine or connect to a hosted endpoint. during install.
From the project's GitHub README.
Run workbook rules from Node, with formula readback you can verify.
Bilig is for workbook logic that has to run from code. If your service or agent
should own the workbook model, start with @bilig/workpaper: edit cells,
recalculate formulas, read outputs, and persist JSON. If an existing .xlsx
file is still the contract, use the XLSX tools to find stale cached formula
values and refresh readback.
Start with the boundary you actually have. Do not drive Excel, LibreOffice, Google Sheets, or a screenshot UI just to learn whether a formula value is fresh.
Run the no-clone checks:
npm exec --yes --package @bilig/xlsx-formula-recalc@latest -- bilig-evaluate --door workbook-compatibility --json
npm exec --yes --package @bilig/workpaper@latest -- bilig-evaluate --door workpaper-service --json
npm exec --yes --package @bilig/workpaper@latest -- bilig-evaluate --door agent-mcp --json
npm exec --yes --package @bilig/xlsx-formula-recalc@latest -- bilig-evaluate --door xlsx-cache --json
Evaluate a real workbook before integrating it:
npm exec --yes --package @bilig/xlsx-formula-recalc@latest -- workbook-compatibility-report workbook.xlsx --json
The report lists unsupported functions, external links, VBA payloads, pivots, volatile formulas, stale cached formulas, and concrete risk reasons. It is not an Excel compatibility certification and does not print a compatibility score.
Expected WorkPaper service result:
{
"schemaVersion": "bilig-evaluator.v1",
"door": "workpaper-service",
"verified": true,
"evidence": {
"editedCell": "Inputs!B2",
"dependentCell": "Summary!B2",
"before": 24000,
"after": 38400,
"afterRestore": 38400,
"persistedDocumentBytes": 999
}
}
Need the full formula-cache report for a real workbook?
npm exec --package @bilig/xlsx-formula-recalc@latest -- xlsx-cache-doctor pricing.xlsx --json
npm exec --package @bilig/xlsx-formula-recalc@latest -- xlsx-recalc pricing.xlsx --read Summary!B2 --out pricing.recalculated.xlsx --json
For pull requests with XLSX fixtures, start with the GitHub Action in report mode and let it show stale cached formulas before it blocks anything:
- uses: actions/setup-node@v6
with:
node-version: '22'
package-manager-cache: false
- uses: proompteng/bilig@v1
with:
workbooks: '**/*.xlsx'
changed-files-only: 'true'
package-version: '0.164.1'
fail-on-stale: 'false'
For TypeScript services that should own the workbook model:
npm create @bilig/workpaper@latest pricing-agent -- --agent
cd pricing-agent
npm install
npm run agent:verify
For lower-level runtime imports:
npm install @bilig/headless
Direct diagnostic commands remain available:
npm exec --yes --package @bilig/workpaper@latest -- bilig-agent-challenge --json
npm exec --yes --package @bilig/workpaper@latest -- bilig-mcp-challenge --json
Evaluator examples live in
examples/bilig-evaluator-proof.
Agent and framework evaluators are ranked in the
Agent WorkPaper proof matrix.
The agent proof transcripts show the
successful prompt, tool call, workbook state change, formula readback, JSON
export, and restart verification shape.
The XLSX Cache Doctor proof transcript
shows the stale cached formula value, recalculated value, exact cell address,
and suggested read target before a service or CI job trusts a saved workbook.
The Workbook Compatibility Report
shows the local risk report for an actual .xlsx before a Node service or
coding agent trusts Bilig with it.
Use the coding agent rule chooser when you need
the exact instruction, rule, prompt, or MCP config file for Codex, Claude Code,
GitHub Copilot, VS Code, Cursor, Kiro, Roo Code, Trae, Qodo IDE, Zed, Junie, OpenHands, OpenCode, Aider,
Goose, Windsurf/Cascade, Cline, Continue, or Gemini CLI.
Project site: https://proompteng.github.io/bilig/
Pick the path that matches the job:
| You have... | Start with | You should see |
|---|---|---|
| You are not sure whether XLSX, SheetJS, ExcelJS, xlsx-populate, CI, WorkPaper, or an agent owns the fix | Stale formula readback chooser | the smallest proof command for the boundary, plus when not to use it. |
| You need to know whether a specific workbook has Bilig integration risks | Workbook Compatibility Report | unsupported functions, external links, macros, pivots, volatile formulas, cache risks, and no compatibility score. |
A coding agent already has a real .xlsx and needs MCP before edits | Agent XLSX risk preflight | analyze_workbook_risk, Inputs!B3, Summary!B3, 60000 -> 96000, export, and verified: true. |
A real .xlsx file has stale formula results after Node edits | XLSX Cache Doctor evaluator | stale cells, cached values, recalculated values, suggested reads, and JSON output. |
| You need to see the exact stale-cache output before adopting | XLSX Cache Doctor proof transcript | Summary!B2 and Sheet1!B61 cached-vs-recalculated proof, plus CI boundary. |
| Pull requests can commit XLSX fixtures with stale cached values | XLSX Cache Doctor GitHub Action | report-only workbook findings before the workflow blocks anything. |
| A Node service, route, queue, test, or tool needs workbook logic | Node service WorkPaper evaluator | input edit, recalculated output, serialized JSON, restore check, and verified: true. |
| A coding agent or MCP client needs workbook tools without UI automation | Agent MCP evaluator | tool discovery, cell edit, formula readback, export, restart check, and verified: true. |
| A coding agent needs the right repo rule or MCP config file | Coding agent rule chooser | the exact Bilig file for Codex, Claude Code, Copilot, VS Code, Cursor, Kiro, Roo Code, Trae, Qodo IDE, Zed, Junie, OpenHands, OpenCode, Aider, Goose, Windsurf, Cline, Continue, or Gemini. |
| You are comparing Excel MCP servers, hosted spreadsheet agents, or file-first XLSX tools | Spreadsheet MCP server comparison | the account/session/file/runtime boundary before an agent trusts formula readback. |
| You need to choose among agent, MCP, AI SDK, OpenAI, LangGraph, Semantic Kernel, or XLSX proof | Agent WorkPaper proof matrix | the smallest command or example for the host boundary, plus what it does and does not prove. |
| You need to see a successful agent session shape before adopting | Agent proof transcripts | prompt, tool call, result, workbook state change, formula readback, JSON export, and restart verification. |
| Existing XLSX outputs need refreshed cached results | XLSX recalculation evaluator | changed input, recalculated output, output workbook, and recalculationCompleted: true. |
If you are not sure which one fits, start with the thing that owns state. Use WorkPaper when your service or agent should own the workbook model. Use the XLSX path when a saved Excel file is still the source of truth.
The shortest no-project checks are:
npm exec --yes --package @bilig/workpaper@latest -- bilig-evaluate --door workpaper-service --json
npm exec --yes --package @bilig/workpaper@latest -- bilig-evaluate --door agent-mcp --json
npm exec --yes --package @bilig/xlsx-formula-recalc@latest -- bilig-evaluate --door workbook-compatibility --json
npm exec --yes --package @bilig/xlsx-formula-recalc@latest -- bilig-evaluate --door xlsx-cache --json
npm exec --package @bilig/xlsx-formula-recalc@latest -- xlsx-recalc --demo --json
Good fits: pricing, quote approval, payout checks, import validation, forecasts, CI fixtures, formula-backed workflow steps, and coding agents that need exact cell addresses plus readback. Bad fits: manual spreadsheet editing, Office macros, desktop Excel automation, or one-off arithmetic where a workbook would be ceremony.
The canonical XLSX guide is
Fix stale XLSX formula values in Node.js.
If you need to choose among XLSX, SheetJS, ExcelJS, xlsx-populate, CI,
WorkPaper, and agent proof paths, use the
stale formula readback chooser.
If you are answering a public SheetJS, ExcelJS, xlsx-populate, template, or CI
question, use the non-spam
XLSX formula support answers first.
For a direct before/after proof across SheetJS, xlsx-populate, and ExcelJS:
npm --prefix examples/recalc-bridge-workflows install
npm --prefix examples/recalc-bridge-workflows run smoke
For the GitHub Action listing and a live reviewer path:
Run the WorkPaper service proof first. It is the shortest proof that Bilig gives backend code a workbook object it can change, recalculate, read back, save, and restore without driving Excel, LibreOffice, Google Sheets, or a browser grid.
npm exec --yes --package @bilig/workpaper@latest -- bilig-evaluate --door workpaper-service --json
Expected shape:
{
"schemaVersion": "bilig-evaluator.v1",
"door": "workpaper-service",
"verified": true,
"evidence": {
"editedCell": "Inputs!B2",
"dependentCell": "Summary!B2",
"before": 24000,
"after": 38400,
"afterRestore": 38400,
"persistedDocumentBytes": 999
}
}
If an agent or MCP client owns the workflow, run the agent door:
npm exec --yes --package @bilig/workpaper@latest -- bilig-evaluate --door agent-mcp --json
If an existing XLSX file is still the contract, run the XLSX cache door:
npm exec --yes --package @bilig/xlsx-formula-recalc@latest -- bilig-evaluate --door xlsx-cache --json
Trust boundaries:
fail-on-stale.For linked workbooks, use the external workbook recalculation proof. For stale cached XLSX values, use Evaluate stale XLSX formula caches. For a copyable terminal transcript, use the XLSX Cache Doctor proof transcript. For a narrower recalculation evaluator, use Evaluate XLSX formula recalculation.
If you already have the real workbook but do not know which formulas to read yet, inspect it first without writing an output file:
npm exec --package @bilig/xlsx-formula-recalc@latest -- xlsx-cache-doctor pricing.xlsx --json
That checks every formula by default, reports any skipped formulas as
uninspectedFormulaCellCount, returns stale cached values, and suggests
--read targets so the next command can prove the cells your service actually
depends on.
If your service or test runner needs the same report without a subprocess, use the Node API:
import { readFile } from 'node:fs/promises'
import { inspectXlsxCache } from '@bilig/xlsx-formula-recalc'
const report = inspectXlsxCache(await readFile('pricing.xlsx'), {
fileName: 'pricing.xlsx',
})
if (report.staleCachedFormulaCount > 0) {
throw new Error(
report.formulas
.filter((formula) => formula.cacheStatus === 'stale')
.map((formula) => formula.target)
.join(', '),
)
}
To run that check in CI, install
XLSX Cache Doctor from GitHub Marketplace,
read the GitHub Action guide, or
copy the runnable example at
examples/xlsx-cache-doctor-ci.
The proof transcript shows the
same cached-vs-recalculated value shape in one page.
For a live reviewer path, inspect the
demo pull request:
it runs proompteng/bilig@v1, proves 60 formula cells were inspected, finds 1
stale cached formula value, and uploads the JSON report.
To generate the pull-request workflow instead of hand-writing YAML:
mkdir -p .github/workflows
npm exec --package @bilig/xlsx-formula-recalc@latest -- \
xlsx-cache-doctor --print-github-action "**/*.xlsx" \
> .github/workflows/xlsx-cache-doctor.yml
The generated workflow is read-only and report-only by default. Add
--fail-on-stale true when you want stale cached values to block pull requests,
or pass --inspect-limit, --json-output, or --markdown-output to match your
CI artifact policy. The Action uploads machine-readable JSON and a
human-readable Markdown report path, so reviewers can inspect the stale cells
without giving the detector write permissions.
If your pipeline is specifically SheetJS / xlsx, run the sibling proof with
the same shape:
npm exec --package @bilig/sheetjs-formula-recalc@latest -- sheetjs-recalc --demo --json
If the workbook is already in ExcelJS, keep that boundary and add
@bilig/exceljs-formula-recalc:
npm install exceljs @bilig/exceljs-formula-recalc
npm exec --package @bilig/exceljs-formula-recalc@latest -- exceljs-recalc --demo --json
For one checkout proof across SheetJS/xlsx, xlsx-populate, and ExcelJS:
npm --prefix examples/recalc-bridge-workflows install
npm --prefix examples/recalc-bridge-workflows run smoke
That bridge proof is the fastest way to check whether Bilig solves the stale formula-value problem without asking you to adopt WorkPaper state first.
| Problem you have right now | Install or use | First proof |
|---|---|---|
| Pull requests can commit XLSX fixtures with stale formula caches | uses: proompteng/bilig@v1 | XLSX Cache Doctor GitHub Action |
| Generic XLSX bytes changed in Node; formula outputs must refresh before returning | npm install @bilig/xlsx-formula-recalc | XLSX formula recalculation in Node.js |
| Formula workbook state belongs inside a Node service, route, queue, test, or tool | npm install @bilig/workpaper | Node service WorkPaper evaluator |
Advanced adapters are still available when the boundary is already specific:
SheetJS,
ExcelJS,
external workbooks,
agent tools,
@bilig/workbook when a runtime needs
transport-neutral plan data and command receipts, and
runtime provenance.
For agent adoption, use the
Agent Adoption Kit: install the skill, run the
no-key agent MCP evaluator, paste one workbook task into the agent, and require
verified: true before trusting the result.
For marketplace reviewers and agent hosts that want one copyable install file,
use llms-install.md.
Coding agent? Do not start by driving Excel, LibreOffice, Google Sheets, or a
browser grid. Use the headless WorkPaper proof instead:
npm exec --yes --package @bilig/workpaper@latest -- bilig-evaluate --door agent-mcp --json.
Then follow the agent MCP evaluator.
The published package also carries AGENTS.md and SKILL.md so coding agents
inspecting node_modules/@bilig/workpaper can find the write/read/persist loop
locally. Cloned checkouts expose the same workflow through
.mcp.json,
.claude/skills/bilig-workpaper/SKILL.md,
.claude/commands/bilig-workpaper-proof.md,
.cursor/mcp.json,
.cursor/rules/bilig-workpaper.mdc, .devin/rules/bilig-workpaper.md,
.windsurf/rules/bilig-workpaper.md, .clinerules/bilig-workpaper.md,
.continue/rules/bilig-workpaper.md,
.zed/settings.json,
opencode.jsonc, .opencode/agents/bilig-workpaper.md,
.vscode/mcp.json, and mcp/bilig-workpaper.mcp.json.
The public docs expose the same agent path through
docs/.well-known/agent.json.
npx --yes skills@latest add https://bilig.proompteng.ai --list
npx --yes skills@latest add proompteng/bilig --skill bilig-workpaper --list
npm exec --yes --package @bilig/workpaper@latest -- bilig-evaluate --door agent-mcp --json
Run one core proof above before wiring a platform-specific integration. These recipes are for teams that already know where the workbook tool needs to live.
| Host or workflow runner | Use Bilig when... | Guide |
|---|---|---|
| Open WebUI | A local or hosted tool server should expose workbook reads, writes, and formula readback. | Open WebUI WorkPaper tool setup |
| LobeHub | A LobeHub agent needs a Custom MCP server for workbook tools. | LobeHub WorkPaper MCP setup |
| AnythingLLM | Agent Skills should call hosted MCP or a private file-backed stdio server. | AnythingLLM WorkPaper MCP setup |
| Sim | An Agent block or MCP Tool block should read, write, recalculate, and export proof. | Sim WorkPaper MCP setup |
| FastMCP Python | A Python client should smoke-test hosted MCP or launch a private file-backed stdio WorkPaper. | FastMCP WorkPaper client |
| Agno | MCPTools should import workbook tools and return verified formula readback before an agent trusts the result. | Agno WorkPaper MCP tools |
| Pydantic AI | MCPToolset should validate typed workbook proof before an agent trusts spreadsheet-style calculations. | Pydantic AI WorkPaper MCP tools |
| Google ADK | McpToolset should import workbook MCP tools and return verified formula readback before an ADK agent trusts the result. | Google ADK WorkPaper MCP tools |
| OpenHands | openhands mcp add should launch the file-backed WorkPaper server while .agents/skills teaches readback-first workbook edits. | OpenHands WorkPaper MCP setup |
| Trae | .trae/mcp.json should register the Project MCP server while .trae/rules/bilig-workpaper.md keeps workbook proof work readback-first. | Trae WorkPaper MCP setup |
| Qodo IDE | Qodo Agentic Tools should launch the local bilig-workpaper MCP server from pasted mcpServers JSON and keep proof tied to root AGENTS.md. | Qodo WorkPaper MCP setup |
| OpenCode | opencode.jsonc should register the local WorkPaper MCP server while .opencode/agents keeps workbook proof work readback-first. | OpenCode WorkPaper MCP setup |
| Zed | .zed/settings.json should register the project-local context_servers.bilig-workpaper server while AGENTS.md and the project skill keep workbook edits readback-first. | MCP client setup |
| Microsoft Agent Framework | MCPStdioTool or MCPStreamableHTTPTool should import workbook MCP tools and verify dependent formula readback before an agent trusts the result. | Microsoft Agent Framework WorkPaper MCP tools |
| Goose | A Goose recipe should launch the file-backed WorkPaper MCP server and require formula readback, export, restore, and verified: true. | Goose WorkPaper MCP recipe |
| Microsoft Semantic Kernel | MCPStdioPlugin should import workbook tools and verify dependent formula readback before an agent trusts plugin calls. | Semantic Kernel WorkPaper MCP plugin |
| OpenAI Agents SDK | tool(), MCPServerStdio, or MCPServerStreamableHttp should return computed WorkPaper readback before an agent trusts workbook math. | OpenAI Agents SDK WorkPaper tools |
| ChatGPT Apps / Developer Mode | A ChatGPT conversation should add Bilig as a no-auth remote MCP app before trying spreadsheet UI automation. | ChatGPT Apps WorkPaper MCP |
| Proof chooser | An agent or reviewer needs the smallest proof for WorkPaper service, MCP, AI SDK, OpenAI, LangGraph, Semantic Kernel, Mastra, ExcelJS, or XLSX. | Agent WorkPaper proof matrix |
| Hugging Face smolagents | A Tool should return structured formula readback proof to a CodeAgent. | smolagents WorkPaper tool |
| Hugging Face Gradio MCP Space | A Space template should expose one no-key WorkPaper readback tool before a team wires private workbook state. | Hugging Face Gradio MCP Space |
| n8n, Dify, Flowise, Pipedream | Workflow builders need formula readback without spreadsheet UI automation; use @bilig/n8n-nodes-workpaper, the upstream merged Dify plugin, or the reviewed Pipedream action. | n8n, Dify, Flowise, Pipedream |
| Vercel AI SDK | generateText() or streamText() tools need before/after/restore proof. | Vercel AI SDK WorkPaper tools |
| LangGraph.js / LangChain MCP | ToolNode state should carry WorkPaper proof, or MCP adapters should discover workbook tools. | LangGraph, LangChain MCP example |
| Windmill, Trigger.dev Durable Formula Tasks, Inngest | Durable workflow code should calculate fields from reviewable formulas. | Windmill, Trigger.dev, Inngest |
| Airbyte, Meltano | Post-sync or post-ELT validation should return formula-backed record/state proof. | Airbyte, Meltano |
| Temporal, Airflow, Dagster Formula Assets, Kestra, Prefect | Orchestrators should own retries/history while a Node step owns workbook proof. | Temporal, Airflow, Dagster, Kestra, Prefect |
| Directus Persisted Calculated Fields | A custom operation should persist calculated fields with formula proof. | Directus WorkPaper Flow operation |
Documentation truncated — see the full README on GitHub.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.