Bun Uia MCP server
Playwright for the Windows desktop, from Bun — drive native GUIs via UI Automation + MCP.
19 stars62 downloads/wk
Reviews
Write oneNobody has reviewed Bun Uia yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Bun Uia tools
No tool declarations could be read from the package source. They show once the server is installed.
Public scan report
scanner v0.1.9 · 2026-09-26 · same rubric, same numbers if you re-run it
- Code scan3 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 1 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
What the publisher says
From the Bun Uia repository's README, as published. We do not edit it. Read it on GitHub
bun-win32
Zero-dependency Win32 FFI bindings for Bun on Windows. Each system DLL is a standalone @bun-win32/* package with full type definitions.
Install
# Per-DLL packages:
bun add @bun-win32/kernel32 @bun-win32/user32 # etc...
# Or pull the entire surface in one install:
bun add @bun-win32/all # scoped meta-package
bun add bun-win32 # unscoped alias for the same surfaceRequires Bun >= 1.1.0 and Windows 10+.
Usage
After the first call resolves the symbol via dlopen/dlsym, the native function pointer is cached directly on the class. Every subsequent call is a straight pointer invocation through Bun's FFI - no marshaling layer, no runtime type checks, no wrapper overhead. It's the same codepath as calling the C function yourself.
For hot paths, Preload() resolves symbols eagerly so even the first call pays zero binding cost:
import Kernel32 from '@bun-win32/kernel32';
const pid = Kernel32.GetCurrentProcessId();
const ticks = Kernel32.GetTickCount64();import User32 from '@bun-win32/user32';
User32.Preload(['GetForegroundWindow', 'SetWindowPos']);
const { GetForegroundWindow, SetWindowPos } = User32;
SetWindowPos(hWnd, 0n, x, y, width, height, flags);[!IMPORTANT]
If you destructure before binding, you capture the lazy wrapper instead of the native function.
Packages
All type definitions are provided by @bun-win32/core.
Published packages are AI-friendly. Alongside the README.md, each package includes an AI.md file that documents the binding contract, type surface, and source layout so coding agents can use the package correctly.
Graphics & Windowing
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Install directly
Runs npx -y bun-uia on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add bun-uia -- npx -y bun-uia
Bun Uia: common questions
- Is Bun Uia MCP server safe?
- Yes, by our scan: it is graded A (92/100). Read the Bun Uia safety report
- How do I install Bun Uia?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does Bun Uia need an API key?
- No secret keys are declared. It reads 6 settings from the environment.
- Is Bun Uia maintained?
- The last commit was 2 days ago (2026-09-26). The latest release is v1.9.1.
- What can I use instead of Bun Uia?
- Servers from other publishers that do the same job: PySide6 MCP server, Native DevTools MCP server and UI Debugger MCP server. Compare all Bun Uia alternatives.
Alternatives to Bun Uia
Same job from other publishers: the closest match first, then the best rated.
- PySide6 MCPPlaywright-style MCP to inspect, control, and debug PySide6 desktop GUIs.not reviewedGrowingA
- Native DevToolsMCP server for desktop, browser (CDP), and Android automation. Screenshot, OCR, click, type.not reviewedEstablishedA
- UI DebuggerAutonomous UI debugging MCP server: an agent drives the browser/desktop, reports bugs + UX issues.not reviewedGrowingB
- ClickcastDrive a real Playwright browser: annotated screenshot + structured page state after every action.not reviewedGrowingB
- GhostVerified desktop control for agents on Windows and Linux: apps with no API, windows, shell, browser.not reviewedGrowingC