The README states plainly that the repository is maintained — fixes, dependency and security updates, support for the Open WebUI versions it targets — and that new features slow down because the team is building a different product. That is a useful thing to know before adopting it, and the licence conversion clause means what you install now cannot be pulled back later.
An MCP server that gives a model its own computer. Each chat session gets an isolated Docker container where it can install packages, write files, run servers and browse — and nothing leaks between sessions or users.
- `bash_tool` — run bash inside the isolated container, with Python, Node.js and Java available
- `view`, `create_file`, `str_replace` — read files and directories, create files, edit by text replacement
- `sub_agent` — delegate a task to an autonomous Claude Code agent with its own interactive terminal; `SUBAGENT_CLI` selects Claude Code, OpenAI Codex or OpenCode
- A live browser: Playwright plus CDP streaming you can watch and click into while the model works
- Document skills for Word, Excel, PowerPoint and PDF, auto-injected, plus skills you write yourself
- One container per chat keyed by the `X-Chat-Id` header, with `SINGLE_USER_MODE` choosing between one shared container and strict per-chat isolation
- MCP primitives beyond tools: the handshake carries a per-chat system prompt in `InitializeResult.instructions`, and the chat's uploads appear through `resources/list` and `resources/read`
Self-hosting. `docker compose up --build` — the first build takes around 15 minutes — after which the MCP endpoint is `http://localhost:8081/mcp`. `OPENAI_API_KEY`, or any OpenAI-compatible provider, goes in `.env`. `MCP_API_KEY` turns on Bearer authentication; leaving it empty means none. In Open WebUI, Function Calling has to be set to `Native` or the model will not call the tools at all. Licensed FSL-1.1-Apache-2.0, and every release converts to Apache-2.0 two years after publication. The managed endpoint is offline, so self-hosting is the supported path.
One command plus a key — docker compose up -d, then supply credentials
