Umbriel runs on your own machine — the client starts it, so there is no endpoint to ping. 119 installs a week from npm. Last commit 15 Aug 2026.
See and drive a whole Windows machine from Bun — apps, input, screen, OCR, registry, OS — via MCP.
We read the source, 3 d ago · rules 995398eba69f
A value the model can set ends up inside a file or shell call. That is not a flaw by itself — for a terminal server it is the job — but it is where things go wrong when it is not.
else if (args.recursive === true) rmSync(path, { recursive: true });
What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.
Bun.spawn(argv, { stdout: 'ignore', stderr: 'ignore' });
for (const [name, value] of Object.entries(process.env)) if (typeof value === 'string') result[name] = value;
Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.
That is not a flaw by itself — but it is where things go wrong when it is not the job. We re-read this code on every release. Watch it and you hear from us the day another one appears.
This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.
claude mcp add umbriel -- npx -y umbriel
{
"mcpServers": {
"umbriel": {
"command": "npx",
"args": [
"-y",
"umbriel"
]
}
}
}
[mcp_servers.umbriel]
command = "npx"
args = ["-y", "umbriel"]
{
"mcpServers": {
"umbriel": {
"command": "npx",
"args": [
"-y",
"umbriel"
]
}
}
}
{
"servers": {
"umbriel": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"umbriel"
]
}
}
}
Optional settings from the registry entry, left out of the block above:
UMBRIEL_PROFILE (Capability profile: 'readonly' (inspect/read only), 'safe' (read + input + window — default), or 'full' (also os + fs tools)), UMBRIEL_OS (Set to '1' to allow the 'os' tools (launch_app/run_program/open_path, kill_process, manage_process, control_service, set_env, registry_get/registry_list/registry_set) AND the 'fs' tools (read_file/write_file/list_dir/stat_path/make_dir/copy_file/move_file/delete_file) regardless of profile), UMBRIEL_ALLOW (Comma-separated tool names or categories to additionally allow on top of the profile), UMBRIEL_DENY (Comma-separated tool names or categories to deny, overriding the profile and UMBRIEL_ALLOW), UMBRIEL_CURSOR (Set to 'never' to forbid the real-cursor fallback entirely (strictly cursor-free). By default clicks/drags are cursor-free but fall back to the real hardware cursor when no cursor-free path exists), UMBRIEL_FS_ROOT (Sandbox root directory that the fs-category file tools (read_file/write_file/list_dir/stat_path/make_dir/copy_file/move_file/delete_file) are confined to when fs tools are enabled; open_path's path argument is honored too), UMBRIEL_TRACE (File path to journal every mutating tool call as JSON Lines (tool, category, masked args, ok, observation); secret-bearing args and values are redacted. Unset = no trace), UMBRIEL_FFI_TRACE (File path to a flush-before-call diagnostic journal of every COM vcall (slot, this-pointer, arg count). Each line is written and flushed to the OS BEFORE the native call, so after an uncatchable crash the last line names the faulting call. Has per-call overhead; unset = off. For debugging native faults only), UMBRIEL_AUDIT (Controls the default-on stderr audit of mutating tool calls. 'off' is the explicit opt-out (reported at startup); 'verbose' also audits reads), UMBRIEL_REDACT (Credential masking (default on). 'off' opts out; a regex value overrides the built-in secret shapes masked in clipboard/env/registry reads and the trace journal).
Run AI-driven web-app and API security scans (DAST) from Claude or any MCP agent. Windows.
See any site as it looks on a real iPhone, iPad or MacBook — and drive that window over MCP.
See and drive any Windows app via the accessibility tree - no screenshots - plus 200+ native tools
Playwright for the Windows desktop, from Bun — drive native GUIs via UI Automation + MCP.
Drive AirSCP, the Mac app for SCP/SFTP file transfers, SSH servers and Windows Remote Desktop
Drive your real, logged-in Chrome from any MCP client — even from a remote machine, no inbound port.
Drive a real iPhone from a Mac: read the screen as text, tap, type, scroll, replay saved flows.
Drive an open 3DStreet scene tab from Claude Desktop or Claude Code via MCP tool calls.
Answers built from our own checks of this server.