Skip to content

v0.2.0

Choose a tag to compare

@torfeu torfeu released this 27 Aug 17:13
· 78 commits to main since this release

This release is about who is calling. Until now the MCP Bearer token only said that a client may connect — a tool holding credentials of its own acted with the same rights for every user of an OpenWebUI installation. The spawner can now tell users apart and give each of them their own rights.

Identity & permissions

  • Per-user identity — the runner verifies the HS256 user token OpenWebUI forwards and publishes the caller for the duration of one tool call. Per instance: off (default, behaviour unchanged), optional, or required.
  • Users & permissions (🔑) — assign rights per person: no access, all tools, or single functions. Roles act as base equipment, a personal entry adds to them, an explicit deny wins. Rules are read per call, so saving takes effect immediately.
  • Machine identity — callers without an OpenWebUI login (agent CLIs, scripts) get an assigned identity, so required no longer locks them out.
  • Identity probe (examples/identity-probe.json) — a read-only whoami tool reporting who arrived, whether the identity was signed, and what the rules grant them. Every mistake in an identity setup is otherwise silent.
  • API tokens — a read-only token and an agent token, so a tool never has to carry the admin password.

Fewer tokens, more insight

  • MCP tool router (examples/mcp-tool-router.json) — one OpenWebUI connection with three meta-tools instead of one connection per instance. On a ten-instance installation: ~690 instead of ~11,600 tokens of schemas per request.
  • Usage statistics (📊) — a report across all instances and functions, plus GET /api/usage. Every call is recorded with time, instance and function — no arguments, no results, no caller addresses.
  • Info view — description, category, version, venv, status and the full function list per instance, without starting it. Also available as GET /api/instances/{id}/specs.

Housekeeping

  • Update check — optional, off by default. Asks the GitHub releases API once a day whether a newer version exists and shows a badge. Reports only; nothing is downloaded or installed.
  • Update hints for bundled tools — the dashboard flags when an installed copy of a shipped tool has fallen behind and applies the new one through the normal save path, keeping your Valve values. Forward only, refused on locked instances.
  • Declared categories — a tool can name its default category in its docstring.

Fixed

  • Uploaded tools kept OpenWebUI's truncated specs. An OWUI export often carries only the first line of each docstring, cut off mid-sentence, and sometimes misses parameters entirely. The upload path validated the code and had the correct schemas in hand — then discarded them. Fixed for new uploads; already installed tools are repaired once, automatically, on the next start.