Releases: munimtechnologies/munim-computer-use
Release list
v0.4.3
Parallel browser tasks
Separate tasks — separate agent threads, separate MCP processes — can now use the browser at the same time through one Chrome extension without touching each other's tabs. (#6)
- Every MCP process shares the extension, on every platform. The first server owns it and later servers go through it, each with its own tab group. When the owner exits another takes over, and nobody's tabs close.
session_idon everybrowser_*tool (optional). Several tasks inside one MCP process each get their own tabs, tab group and cleanup. Pass a stable id per task; omit it for the process's default session.- Cleanup is scoped.
browser_close_all_tabscloses only the calling task's tabs; a process exiting closes only its own sessions.
Fixed
- Third MCP process hung (macOS). The bridge owner served peer processes one at a time on its accept loop, so a third server waited forever behind the second.
- Owner exit closed everyone's tabs. The extension closed every client's tabs whenever the native host dropped. It now keeps them and reconnects with backoff.
- Two agents could adopt the same tab.
browser_use_tabchecked ownership before anawait; simultaneous claims could both succeed. - One browser user at a time (Windows/Linux). The Rust host now implements the same owner + peer protocol as the macOS host.
Notes
- 30 tools; 12 browser tools gained
session_id. Chrome extension 0.4.3 — reload it inchrome://extensions(or load it unpacked again fromchrome-extension/). - Tasks still share Chrome's cookies and logins; desktop apps and the clipboard are not per-task.
v0.4.2
Fixed
- Browser bridge re-election (macOS). A server that started while another instance owned
bridge.sockattached to it as an RPC client and stayed an orphan after that owner exited: nothing re-bound the socket, Chrome's native host could not connect, and everybrowser_*tool reported the extension as disconnected until the server was restarted. The bridge now re-runs the owner election when the RPC link drops and before each call while unowned. (#5) - Bridge retry (Linux/Windows). The Rust host gave up on the browser bridge for good when another server owned it at startup; it now retries every two seconds in the background and takes over once that owner exits.
Notes
- No tool changes (30 tools). Chrome extension unchanged (0.4.0).
- If the "MT Code Desktop Control" extension is missing from
chrome://extensionsafter an app update, load it unpacked again fromchrome-extension/; the manifest key keeps the extension id stable from any path.
v0.4.1 — remote control
Remote control
COMPUTER_USE_REMOTE_CONTROL=1 turns one process into a remote-desktop
driver: click, right_click, drag, hover and scroll move the machine's
real cursor, and type_text / press_key go to whatever is focused — the way
Chrome Remote Desktop or Screen Sharing behave.
Everything else is unchanged. Without the flag this server still keeps its
hands off the pointer: coordinate clicks are routed to one window, keystrokes
are posted to one process, and an untargetable action is refused rather than
taking over the machine, so an agent can work while you keep using your
computer. A host that runs both an agent and a viewer runs them as two
processes.
scrollnow takes optionalx/y, so the wheel acts over the point the
viewer scrolled at (remote control only; ignored otherwise).- The agent-cursor overlay stays hidden in remote control — there is one
pointer now, and it is the real one.
v0.4.0
Works alongside you
On macOS the server no longer moves your real pointer or posts to the global event stream. Clicks, typing, scrolling, dragging and hovering go through accessibility actions or events sent to the target app, so you can keep using your Mac while the agent works through its own cursor overlay. Windows keeps the real pointer out of the way where UI Automation or window messages allow it, and says so in the result when it cannot. Linux still uses the real pointer.
New
clipboard_readandclipboard_writeon every platform (30 tools).- MCP protocol negotiation up to 2025-11-25, with server
instructions, tool titles, andserverInfo.title/websiteUrl. - Embedding: apps that ship the binary can run it under their own identity (
--profile/COMPUTER_USE_PROFILE, or per-field env overrides) for the bridge socket, support dir, agent cursor, history dir and native-messaging hosts; newidentityandinstall-native-hostsubcommands. The Chrome extension can be built for another host name withscripts/build-extension.mjs, and picks up per-client group colours and a favicon badge. - Release assets now include Linux x64/arm64 binaries and the packaged Chrome extension.
Fixes
- npm launcher:
COMPUTER_USE_BINARYworks on platforms without a prebuilt binary (Linux), downloads time out, and installs are atomic. - Windows
press_keysends real virtual keys:pageup,f1–f12and friends are no longer typed as text. macOS keys follow the active keyboard layout; punctuation, numpad and F13+ names were added everywhere. - macOS clamps
scrollamounts andget_app_statelimits like the Rust server, and answers malformed JSON with a -32700 error instead of silence. - The Swift and Rust servers now list tools in the same order, and CI checks their definitions stay identical.
Other
- CI builds and tests on Linux, Windows and macOS;
mcp-publisheris pinned and checksummed. interprocess2.4.4,uiautomation0.25.1.
v0.3.1
Tool definitions written for agents
Glama's Tool Definition Quality review of 0.3.0 made the same three points about nearly every tool: descriptions did not say when to pick this tool over a similar one, did not disclose side effects, and the input schemas had no per-parameter descriptions. 0.3.1 fixes all three across the 28 tools, on both native hosts.
- Every description now states the tool's purpose, when to use it and which tool to use instead (
clickvsbrowser_click,type_textvsset_value,screenshotvsget_app_statevszoom, ...), and what it changes — focus, unsaved page state, which tab the user's Chrome window shows. - Every parameter carries a description with its default and the mutual-exclusion rules (
element_idvsx/y,indexvsx/y,appvsdisplay). - Every tool declares MCP annotations:
title,readOnlyHint,destructiveHint,idempotentHint,openWorldHint. browser_select_tabnow says plainly that it changes which tab the user's window shows, because the agent's tab group lives in that window.
No behaviour changes; the tool names and argument shapes are unchanged from 0.3.0. Glama's review moved from B (3.3/5) to A (4.5/5).
Also in this release: the Rust server now builds on Linux (two compile errors in the AT-SPI/X11 backend had never been exercised), and a Dockerfile builds it headless so registries can introspect the tool list.
Install
npx -y munim-computer-use@0.3.1
The macOS binary is a signed universal build (arm64 + x86_64, Developer ID, hardened runtime). Verify downloads against SHA256SUMS.txt.
v0.3.0 — munim-computer-use
Drive a tab the user already has open
The extension could only work in tabs it created. That is the right default — the user keeps browsing while a task runs — but it is the wrong answer when the page is already signed in or mid-flow: a checkout, a draft, a dashboard behind SSO. Re-opening the URL throws that state away.
New tools
browser_use_tab— adopt a tab the user already has open. Adoption is in place: the tab is not moved into the agent's group, not activated and not reloaded, so a user looking straight at it sees nothing move. Background interaction over the DevTools protocol is what makes this useful at all.browser_release_tab— hand the tab back early, detaching the debugger and restoring the favicon.browser_list_tabsgainsall=true, listing every tab in the browser with its ownership.
An adopted tab stays the user's: cleanup releases it rather than closing it, and browser_close_tab releases it too. Chrome's own pages are refused up front, since the debugger cannot attach to them.
Tool count moves 26 → 28 on both native hosts.
Install
npx -y munim-computer-use@0.3.0
The macOS binary is a signed universal build (arm64 + x86_64, Developer ID, hardened runtime). Verify downloads against SHA256SUMS.txt.
v0.2.0 — munim-computer-use
The server is now called munim-computer-use everywhere: the repo, the binary, the release assets and the npm bin all use the same name. Behaviour is unchanged from v0.1.0 — this release exists so the artifacts match the name.
Renamed
munim-computer-use-macos-universal.zip— macOS 14+, Apple silicon and Intel, Developer ID signed. Unzip,chmod +x munim-computer-use, move it onto your PATH, then runmunim-computer-use request-permissionsonce.munim-computer-use-windows-x64.zip— Windows 10/11 x64. Unzip and putmunim-computer-use.exeon your PATH.- Linux: build from source (
cd windows-linux && cargo build --release→target/release/munim-computer-use).
Register
claude mcp add munim-computer-use -- /usr/local/bin/munim-computer-use
See the README for Codex and Cursor.
Upgrading from v0.1.0
The old computer-use binary keeps working; nothing in the protocol changed. To switch, drop the new binary on your PATH and update your MCP client entry to the new path. macOS Accessibility and Screen Recording approvals are keyed to the binary, so the new one has to be approved once. The agent pointer's bundle id and the Chrome native-messaging host were deliberately left alone, so the Chrome extension needs no reinstall.
Checksums in SHA256SUMS.txt.
Computer Use 0.1.0
First public release of the Computer Use MCP server.
Downloads
computer-use-macos-universal.zip— macOS 14+, Apple silicon and Intel, Developer ID signed. Unzip,chmod +x computer-use, move it onto your PATH, then runcomputer-use request-permissionsonce.computer-use-windows-x64.zip— Windows 10/11 x64. Unzip and putcomputer-use.exeon your PATH.- Linux: build from source (
cd windows-linux && cargo build --release).
What is in it
- 26 tools with identical schemas on every platform: accessibility-tree perception with element ids, background input that leaves your mouse alone, agent pointer overlay,
zoom,hover,wait,get_app_statelabel queries, screenshots that carry their screen-coordinate mapping, andbrowser_*tools for your signed-in Chrome via the extension.
Register
claude mcp add computer-use -- /usr/local/bin/computer-use
See the README for Codex and Cursor.
Checksums in SHA256SUMS.txt.