See and drive a whole Windows machine from Bun — apps, input, screen, OCR, registry, OS — via MCP.
Connect Runs on your machine
claude mcp add umbriel -e UMBRIEL_PROFILE=<UMBRIEL_PROFILE> -e UMBRIEL_OS=<UMBRIEL_OS> -e UMBRIEL_ALLOW=<UMBRIEL_ALLOW> -e UMBRIEL_DENY=<UMBRIEL_DENY> -e UMBRIEL_CURSOR=<UMBRIEL_CURSOR> -e UMBRIEL_FS_ROOT=<UMBRIEL_FS_ROOT> -e UMBRIEL_TRACE=<UMBRIEL_TRACE> -e UMBRIEL_FFI_TRACE=<UMBRIEL_FFI_TRACE> -e UMBRIEL_AUDIT=<UMBRIEL_AUDIT> -e UMBRIEL_REDACT=<UMBRIEL_REDACT> -- npx -y [email protected]
{
"mcpServers": {
"umbriel": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"UMBRIEL_PROFILE": "<UMBRIEL_PROFILE>",
"UMBRIEL_OS": "<UMBRIEL_OS>",
"UMBRIEL_ALLOW": "<UMBRIEL_ALLOW>",
"UMBRIEL_DENY": "<UMBRIEL_DENY>",
"UMBRIEL_CURSOR": "<UMBRIEL_CURSOR>",
"UMBRIEL_FS_ROOT": "<UMBRIEL_FS_ROOT>",
"UMBRIEL_TRACE": "<UMBRIEL_TRACE>",
"UMBRIEL_FFI_TRACE": "<UMBRIEL_FFI_TRACE>",
"UMBRIEL_AUDIT": "<UMBRIEL_AUDIT>",
"UMBRIEL_REDACT": "<UMBRIEL_REDACT>"
}
}
}
}
{
"mcpServers": {
"umbriel": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"UMBRIEL_PROFILE": "<UMBRIEL_PROFILE>",
"UMBRIEL_OS": "<UMBRIEL_OS>",
"UMBRIEL_ALLOW": "<UMBRIEL_ALLOW>",
"UMBRIEL_DENY": "<UMBRIEL_DENY>",
"UMBRIEL_CURSOR": "<UMBRIEL_CURSOR>",
"UMBRIEL_FS_ROOT": "<UMBRIEL_FS_ROOT>",
"UMBRIEL_TRACE": "<UMBRIEL_TRACE>",
"UMBRIEL_FFI_TRACE": "<UMBRIEL_FFI_TRACE>",
"UMBRIEL_AUDIT": "<UMBRIEL_AUDIT>",
"UMBRIEL_REDACT": "<UMBRIEL_REDACT>"
}
}
}
}
{
"servers": {
"umbriel": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"UMBRIEL_PROFILE": "<UMBRIEL_PROFILE>",
"UMBRIEL_OS": "<UMBRIEL_OS>",
"UMBRIEL_ALLOW": "<UMBRIEL_ALLOW>",
"UMBRIEL_DENY": "<UMBRIEL_DENY>",
"UMBRIEL_CURSOR": "<UMBRIEL_CURSOR>",
"UMBRIEL_FS_ROOT": "<UMBRIEL_FS_ROOT>",
"UMBRIEL_TRACE": "<UMBRIEL_TRACE>",
"UMBRIEL_FFI_TRACE": "<UMBRIEL_FFI_TRACE>",
"UMBRIEL_AUDIT": "<UMBRIEL_AUDIT>",
"UMBRIEL_REDACT": "<UMBRIEL_REDACT>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
UMBRIEL_PROFILEOptional | Capability profile: 'readonly' (inspect/read only), 'safe' (read + input + window — default), or 'full' (also os + fs tools). |
UMBRIEL_OSOptional | 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_ALLOWOptional | Comma-separated tool names or categories to additionally allow on top of the profile. |
UMBRIEL_DENYOptional | Comma-separated tool names or categories to deny, overriding the profile and UMBRIEL_ALLOW. |
UMBRIEL_CURSOROptional | 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_ROOTOptional | 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_TRACEOptional | 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_TRACEOptional | 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 fa… |
UMBRIEL_AUDITOptional | Controls the default-on stderr audit of mutating tool calls. 'off' is the explicit opt-out (reported at startup); 'verbose' also audits reads. |
UMBRIEL_REDACTOptional | 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. |
Details
| Package | [email protected] (NPM, stdio) |
| First published | 27 Jun 2026 |
| Last updated | 27 Jun 2026 |
| Registry name | io.github.ObscuritySRL/umbriel |
More files and documents servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
