Playwright for the Windows desktop, from Bun — drive native GUIs via UI Automation + MCP.
Connect Runs on your machine
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]
{
"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>"
}
}
}
}
{
"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>"
}
}
}
}
{
"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
| Name | Description |
|---|---|
BUN_UIA_PROFILEOptional | Capability profile: 'readonly' (inspect/read only), 'safe' (read + input + window — default), or 'full' (also os + fs tools). |
BUN_UIA_OSOptional | 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_ALLOWOptional | Comma-separated tool names or categories to additionally allow on top of the profile. |
BUN_UIA_DENYOptional | Comma-separated tool names or categories to deny, overriding the profile and BUN_UIA_ALLOW. |
BUN_UIA_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. |
BUN_UIA_FS_ROOTOptional | 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 published | 18 Jun 2026 |
| Last updated | 18 Jun 2026 |
| Registry name | io.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.
