NestDaddy

Bun Uia

io.github.ObscuritySRL/bun-uia · v1.9.1

Playwright for the Windows desktop, from Bun — drive native GUIs via UI Automation + MCP.

Connect Runs on your machine

Terminal
claude mcp add bun-uia -e BUN_UIA_PROFILE=<BUN_UIA_PROFILE> -e BUN_UIA_OS=<BUN_UIA_OS> -e BUN_UIA_ALLOW=<BUN_UIA_ALLOW> -e BUN_UIA_DENY=<BUN_UIA_DENY> -e BUN_UIA_CURSOR=<BUN_UIA_CURSOR> -e BUN_UIA_FS_ROOT=<BUN_UIA_FS_ROOT> -- npx -y [email protected]
claude_desktop_config.json
{
  "mcpServers": {
    "bun-uia": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "BUN_UIA_PROFILE": "<BUN_UIA_PROFILE>",
        "BUN_UIA_OS": "<BUN_UIA_OS>",
        "BUN_UIA_ALLOW": "<BUN_UIA_ALLOW>",
        "BUN_UIA_DENY": "<BUN_UIA_DENY>",
        "BUN_UIA_CURSOR": "<BUN_UIA_CURSOR>",
        "BUN_UIA_FS_ROOT": "<BUN_UIA_FS_ROOT>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "bun-uia": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "BUN_UIA_PROFILE": "<BUN_UIA_PROFILE>",
        "BUN_UIA_OS": "<BUN_UIA_OS>",
        "BUN_UIA_ALLOW": "<BUN_UIA_ALLOW>",
        "BUN_UIA_DENY": "<BUN_UIA_DENY>",
        "BUN_UIA_CURSOR": "<BUN_UIA_CURSOR>",
        "BUN_UIA_FS_ROOT": "<BUN_UIA_FS_ROOT>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "bun-uia": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "BUN_UIA_PROFILE": "<BUN_UIA_PROFILE>",
        "BUN_UIA_OS": "<BUN_UIA_OS>",
        "BUN_UIA_ALLOW": "<BUN_UIA_ALLOW>",
        "BUN_UIA_DENY": "<BUN_UIA_DENY>",
        "BUN_UIA_CURSOR": "<BUN_UIA_CURSOR>",
        "BUN_UIA_FS_ROOT": "<BUN_UIA_FS_ROOT>"
      }
    }
  }
}

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

NameDescription
BUN_UIA_PROFILE
Optional
Capability profile: 'readonly' (inspect/read only), 'safe' (read + input + window — default), or 'full' (also os + fs tools).
BUN_UIA_OS
Optional
Set to '1' to allow OS-level tools (launch_app, run_program, open_path) AND filesystem tools (read_file, write_file, list_dir) regardless of profile.
BUN_UIA_ALLOW
Optional
Comma-separated tool names or categories to additionally allow on top of the profile.
BUN_UIA_DENY
Optional
Comma-separated tool names or categories to deny, overriding the profile and BUN_UIA_ALLOW.
BUN_UIA_CURSOR
Optional
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.
BUN_UIA_FS_ROOT
Optional
Sandbox root directory that read_file/write_file/list_dir are confined to when fs tools are enabled.

Details

Package[email protected] (NPM, stdio)
First published18 Jun 2026
Last updated18 Jun 2026
Registry nameio.github.ObscuritySRL/bun-uia

More browser automation servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.