WORKFLOW · N8N
Bilig WorkPaper MCP formula engine for n8n agents
Prompts👁 1
WORKFLOW JSON
{
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Bilig WorkPaper MCP formula engine for n8n agents",
"nodes": [
{
"id": "bilig-note-0001",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-760,
-180
],
"parameters": {
"color": 5,
"width": 360,
"height": 220,
"content": "## Bilig WorkPaper MCP\n\nCalls the public Bilig WorkPaper MCP endpoint, writes a formula into a demo workbook, and verifies calculated readback + restore proof.\n\nNo Excel, browser automation, credentials, or local files required.\n\nRepo: https://github.com/proompteng/bilig"
},
"typeVersion": 1
},
{
"id": "bilig-manual-trigger-0001",
"name": "Manual Trigger",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-700,
120
],
"parameters": {},
"typeVersion": 1
},
{
"id": "bilig-http-request-0001",
"name": "Bilig MCP: write formula and verify",
"type": "n8n-nodes-base.httpRequest",
"position": [
-420,
120
],
"parameters": {
"url": "https://bilig.proompteng.ai/mcp",
"method": "POST",
"options": {
"timeout": 30000
},
"jsonBody": "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"set_cell_contents\",\"arguments\":{\"sheetName\":\"Inputs\",\"address\":\"C2\",\"value\":\"=B2*B3\"}}}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "content-type",
"value": "application/json"
},
{
"name": "accept",
"value": "application/json, text/event-stream"
},
{
"name": "mcp-protocol-version",
"value": "2025-11-25"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "bilig-extract-proof-0001",
"name": "Extract formula proof",
"type": "n8n-nodes-base.code",
"position": [
-120,
120
],
"parameters": {
"jsCode": "const response = $input.first().json;\nconst text = response?.result?.content?.[0]?.text;\nif (!text) {\n throw new Error('Bilig MCP did not return MCP text content.');\n}\nconst proof = JSON.parse(text);\nconst displayValue = proof?.after?.displayValue;\nconst formula = proof?.after?.formula;\nconst restoredMatchesAfter = proof?.checks?.restoredMatchesAfter === true;\nif (formula !== '=B2*B3') {\n throw new Error('Unexpected formula readback: ' + String(formula));\n}\nif (displayValue !== '5') {\n throw new Error('Unexpected calculated value: ' + String(displayValue));\n}\nif (!restoredMatchesAfter) {\n throw new Error('Bilig MCP did not prove restored readback.');\n}\nreturn [{\n json: {\n summary: 'Bilig WorkPaper calculated =B2*B3 as 5 and proved restored readback.',\n editedCell: proof.editedCell,\n formula,\n displayValue,\n restoredMatchesAfter,\n github: 'https://github.com/proompteng/bilig',\n docs: 'https://proompteng.github.io/bilig/mcp-workpaper-tool-server.html',\n mcpRegistry: 'https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.proompteng%2Fbilig-workpaper',\n proof\n }\n}];"
},
"typeVersion": 2
}
],
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"connections": {
"Manual Trigger": {
"main": [
[
{
"node": "Bilig MCP: write formula and verify",
"type": "main",
"index": 0
}
]
]
},
"Bilig MCP: write formula and verify": {
"main": [
[
{
"node": "Extract formula proof",
"type": "main",
"index": 0
}
]
]
}
}
}RELATED WORKFLOWS
COMMENTS
No comments yet — be the first.
