Use this when Open WebUI should call spreadsheet tools, but the spreadsheet logic should stay in a formula-backed WorkPaper instead of an Excel browser session.
Open WebUI has two useful integration paths:
Official Open WebUI references:
Open WebUI’s native MCP path can connect to a Streamable HTTP server from Admin Settings -> External Tools with type MCP (Streamable HTTP).
For a quick Bilig proof, add this server URL:
https://bilig.proompteng.ai/mcp
Use Auth: None unless your deployment sits behind its own gateway token.
Then open a chat, enable the Bilig tool from the integrations/tools menu, and ask:
List the available Bilig WorkPaper tools. Then read the sample sheets, set the
conversion-rate input to 0.4, read the recalculated ARR output, and return the
proof object.
Expected tools:
list_sheetsread_rangeread_cellset_cell_contentsget_cell_display_valueexport_workpaper_documentvalidate_formulaThe hosted endpoint is stateless and request-local. It is good for verifying Open WebUI can discover and call the tools. It does not persist a private project workbook.
Use mcpo when Open WebUI needs an OpenAPI tool server for a local stdio MCP
process. This is the right shape when the WorkPaper JSON file lives on the host
or in a container volume.
From the machine that can reach the WorkPaper file:
uvx mcpo --host 0.0.0.0 --port 8000 -- \
npx -y --package @bilig/workpaper@latest \
bilig-workpaper-mcp \
--workpaper ./pricing.workpaper.json \
--init-demo-workpaper \
--writable
Open the generated tool docs:
http://localhost:8000/docs
Then add the tool server URL in Open WebUI. For a personal user tool, the URL can be:
http://localhost:8000
For a global tool server configured from the Open WebUI backend, remember that
localhost means the Open WebUI backend container or host, not your laptop.
When Open WebUI runs in Docker and the mcpo server is on the host, use:
http://host.docker.internal:8000
| Path | Use when | URL to add |
|---|---|---|
| Native MCP | Open WebUI can call a Streamable HTTP MCP endpoint directly. | https://bilig.proompteng.ai/mcp |
| mcpo | Open WebUI should call a local stdio MCP server through OpenAPI. | http://localhost:8000 or http://host.docker.internal:8000 |
Start with native MCP for tool-discovery smoke tests. Use mcpo for a real writable WorkPaper file that must persist across turns or jobs.
Ask the model to return a concrete proof instead of “the cell was updated”:
{
"editedCell": "Inputs!B3",
"before": {
"Summary!B2": "60000"
},
"after": {
"Summary!B2": "96000"
},
"persistedDocumentBytes": 1000,
"verified": true,
"limitations": [
"Hosted smoke endpoint is request-local.",
"Use mcpo or local stdio for a private writable WorkPaper file."
]
}
verified should only be true after a readback of the dependent formula output.
localhost with host.docker.internal or
the reachable host IP.