Labsco
MCP SERVER

Open Computer Use

by Yambr

A disposable Ubuntu container per chat: shell, files, a live browser and an autonomous sub-agent, all self-hosted.

Sandboxed Code Execution
Summary
The maintainers tell you where their attention went.

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.

What it is

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.

What you get
  • `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`
Requirements

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.

Setup effort

One command plus a key — docker compose up -d, then supply credentials