Skip to content
VS Code

bun uia for VS Code

io.github.obscuritysrl/bun-uia

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

client:VS Code transport:stdio runtime:npm

Install bun uia in VS Code

.vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "bun-uia-profile",
      "description": "BUN_UIA_PROFILE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "bun-uia-os",
      "description": "BUN_UIA_OS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "bun-uia-allow",
      "description": "BUN_UIA_ALLOW",
      "password": true
    },
    {
      "type": "promptString",
      "id": "bun-uia-deny",
      "description": "BUN_UIA_DENY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "bun-uia-cursor",
      "description": "BUN_UIA_CURSOR",
      "password": true
    },
    {
      "type": "promptString",
      "id": "bun-uia-fs-root",
      "description": "BUN_UIA_FS_ROOT",
      "password": true
    }
  ],
  "servers": {
    "bun-uia": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "bun-uia"
      ],
      "env": {
        "BUN_UIA_PROFILE": "${input:bun-uia-profile}",
        "BUN_UIA_OS": "${input:bun-uia-os}",
        "BUN_UIA_ALLOW": "${input:bun-uia-allow}",
        "BUN_UIA_DENY": "${input:bun-uia-deny}",
        "BUN_UIA_CURSOR": "${input:bun-uia-cursor}",
        "BUN_UIA_FS_ROOT": "${input:bun-uia-fs-root}"
      }
    }
  }
}

VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs

bun uia in other clients