Bun Uia
БесплатноНе проверенPlaywright for the Windows desktop, from Bun — drive native GUIs via UI Automation + MCP.
Описание
Playwright for the Windows desktop, from Bun — drive native GUIs via UI Automation + MCP.
README
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 surface
Requires 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
- comctl32 - common controls, image lists, property sheets, DPA/DSA dynamic arrays, flat scroll bars, window subclassing
- comdlg32 - common dialogs: Open / Save File, Choose Color, Choose Font, Print, Page Setup, Find / Replace, and
CommDlgExtendedError - d2d1 - Direct2D: GPU-accelerated 2D —
ID2D1Factory/ device-context creation plus Direct2D's native affine-matrix, color-space (sRGB / scRGB), gradient-mesh (Coons-patch), and trig / vector math (D2D1CreateFactory,D2D1MakeRotateMatrix,D2D1ConvertColorSpace, …) - d3d11 - Direct3D 11 device / swap-chain creation, D3D11-on-12 interop, WinRT
IDirect3DDevice/IDirect3DSurfacebridges - d3d12 - Direct3D 12 device creation, debug-layer / global-interface access, and root-signature serialize/deserialize (
D3D12CreateDevice,D3D12GetDebugInterface,D3D12GetInterface,D3D12SerializeVersionedRootSignature, …) — modern GPU/compute/ML path - d3dcompiler_47 - HLSL → DXBC shader compilation, preprocessing, disassembly, reflection, blob part extraction, shader stripping, function linking graph
- dcomp - DirectComposition device/surface creation (
DCompositionCreateDevice/2/3,DCompositionCreateSurfaceHandle) and the Windows-11 compositor-clock frame/statistics surface (DCompositionGetFrameId,DCompositionGetStatistics,DCompositionWaitForCompositorClock,DCompositionBoostCompositorClock) — live compositor heartbeat proven pure-FFI - dwmapi - DWM composition, blur, thumbnails
- dwrite - DirectWrite factory entry point (
DWriteCreateFactory): system font enumeration, text layout, glyph metrics, and pure-FFI ClearType/grayscale glyph rasterization over theIDWriteFactoryCOM vtable - dxcore - DXCore adapter-factory entry point (
DXCoreCreateAdapterFactory): DXGI-independent GPU & compute-only MCDM adapter enumeration, hardware IDs, memory pools, and capability/attribute queries over theIDXCoreAdapterFactory/List/AdapterCOM vtable - dxgi - DXGI adapter enumeration, factory creation, debug interface (
CreateDXGIFactory*,DXGIGetDebugInterface1) - dxva2 - DDC/CI monitor configuration (brightness, contrast, RGB drive/gain, colour temperature, VCP), physical monitor enumeration, DXVA2 / DXVA-HD video acceleration, OPM video output
- gdi32 - graphics device interface
- gdiplus - GDI+ flat C API: image load/save (PNG, JPEG, BMP, GIF, TIFF, ICO), antialiased 2D drawing, paths, regions, gradients, brushes, fonts, color matrix effects, metafile recording
- glu32 - OpenGL utility functions
- magnification - Magnification API: recolor the entire desktop via a 5x5 color matrix (grayscale, photo-negative, sepia, color-blindness simulation), full-screen zoom/pan transforms, magnifier-control window filtering, and pen/touch input remapping
- mscms - Image Color Management (ICM): ICC profiles, color transforms, sRGB / Adobe RGB / CMYK conversion via Win32 CMM, display calibration, and the Windows Color System (WCS) profile management API
- opengl32 - OpenGL rendering context
- user32 - windows, messages, input, UI
- uxtheme - visual styles, themed controls, buffered painting
- windowscodecs - Windows Imaging Component (WIC): zero-build image decode/encode (JPEG, PNG, GIF, TIFF, BMP, HEIF), scaling, flip/rotate, pixel-format conversion, palettes, color contexts, and metadata — the full proxy-function surface
Multimedia
- avifil32 - Video for Windows AVIFile API: open/create
.avifiles, enumerate streams, read/write video, audio, MIDI, and text streams, decode frames to DIBs (AVIStreamGetFrame), mux files from streams, editable-stream cut/copy/paste - avrt - MMCSS multimedia thread scheduling: join system-profile tasks ("Pro Audio", "Games", …), raise AVRT priority, query the system-responsiveness reservation, and coordinate thread-ordering groups (
AvSetMmThreadCharacteristicsW,AvSetMmThreadPriority,AvQuerySystemResponsiveness,AvRtCreateThreadOrderingGroup) — the low-latency audio/capture scheduling primitives - dinput8 - DirectInput 8: every non-Xbox controller — racing wheels, flight sticks / HOTAS, generic gamepads (
DirectInput8Create,GetdfDIJoystick); device enumeration, capabilities, acquisition, and polling over theIDirectInput8COM vtable - directml - Vendor-neutral, Direct3D 12-backed machine-learning device creation (
DMLCreateDevice,DMLCreateDevice1); creates a realIDMLDeviceover anID3D12Deviceand decodes its true max feature level over theIDMLDeviceCOM vtable — DirectML shipped, proven pure-FFI, audit 0 mismatches - dsound - DirectSound: playback / capture device creation & enumeration, full-duplex, and default-device GUID resolution (
DirectSoundCreate8,DirectSoundEnumerateW,GetDeviceID, …) — synthesize and play PCM end-to-end over theIDirectSound8/IDirectSoundBufferCOM vtable - gameinput - GameInput, the modern unified input model —
GameInputCreateNano-COM factory +Dll*COM-server entries; gamepad / keyboard / mouse / flight & arcade stick / racing wheel / sensor readings over theIGameInputCOM vtable - mf - Media Foundation pipeline: source resolver, ASF authoring graph (profile / multiplexer / indexer / splitter / stream selector), container media sinks (MP3 / AC-3 / ADTS / MPEG-4 / fragmented-MP4 / 3GP), streaming sinks, video renderer, network credential / proxy, and the protected-environment / signed-library surface (
MFCreateSourceResolver,MFCreateASFProfile,MFCreateMPEG4MediaSink,MFGetSupportedSchemes, …) - mfplat - Media Foundation platform: lifecycle, work queues, MFT registry, media type / sample / byte stream factories (
MFStartup,MFTEnumEx,MFCreateAttributes,MFCreateSample) - mfreadwrite - Media Foundation source reader / sink writer factories (
MFCreateSourceReader*,MFCreateSinkWriter*) - mmdevapi - MMDevice / Core Audio class factory, WASAPI async activation (
DllGetClassObject,ActivateAudioInterfaceAsync) - quartz - DirectShow runtime: HRESULT → text (
AMGetErrorTextA/W) and the Filter Graph ManagerDll*COM server (CLSID_FilterGraph→IGraphBuilder); reaches legacy webcams / capture cards / codecs Media Foundation misses - winmm - multimedia audio, MIDI, mixers, timers, joysticks, MCI
- xaudio2_9 - XAudio2 2.9: low-latency audio engine + voice graph, X3DAudio positional math (matrix / Doppler / LPF solve), and every built-in XAPO — volume meter, reverb, FXEQ / FXMasteringLimiter / FXReverb / FXEcho (
XAudio2Create,X3DAudioInitialize,X3DAudioCalculate,CreateAudioVolumeMeter,CreateFX); synthesize and play PCM end-to-end over theIXAudio2/IXAudio2SourceVoiceCOM vtable - xinput1_4 - XInput 1.4: Xbox controller state, vibration, battery, audio, keystroke
- xinput9_1_0 - XInput 9.1.0: legacy Xbox controller state, vibration, DirectSound GUIDs
Networking
- bluetoothapis - Bluetooth Classic radio/device discovery, BLE GATT, SDP, authentication
- dnsapi - DNS resolution across every record type (A, AAAA, MX, NS, SOA, TXT, SRV, CAA, etc.), name validation, configured server discovery, DNS-SD, mDNS, async queries
- firewallapi - Windows Firewall policy via the FirewallAPI.dll COM server (
INetFwPolicy2profile state throughDllGetClassObject) plus the 9 documented network-isolation / AppContainer functions (enumerate, free, config, change subscriptions, connect-failure diagnostics) — all 13 documented exports - fwpuclnt - Windows Filtering Platform: Base Filtering Engine sessions/transactions, provider/sub-layer/layer/callout/filter CRUD + enumeration + change subscriptions, IPsec SA/tunnel/key-manager, IKE/AuthIP SAs, net-event diagnostics, ALE endpoints, Winsock secure-socket extensions — all 199 documented exports
- httpapi - HTTP Server API (HTTP.sys): kernel-mode listener powering IIS, request queues, URL groups, server sessions, SSL/TLS config, response caching, HTTP/2 push, request shaping
- iphlpapi - network adapters, TCP/UDP tables, routing
- mpr - network drive mapping, UNC connections, resource enumeration
- netapi32 - users, groups, shares, domain joins
- ntdsapi - Active Directory client: directory bind (
DsBind*), name-format translation (DsCrackNames), Kerberos SPN forge/register (DsGetSpn,DsClientMakeSpnForTargetServer,DsWriteAccountSpn), site/server/role/DC enumeration, replication control (DsReplicaSync/Add/GetInfo), SID-history migration — all 81 documented exports, SPN + syntactical name-cracking work with no domain - sensapi - System Event Notification Service connectivity checks (
IsNetworkAlive,IsDestinationReachable) - winhttp - HTTP/HTTPS client, WebSockets, proxy auto-detect (WPAD/PAC), TLS configuration, request tracing
- wininet - WinINet/IE-legacy stack: HTTP/HTTPS, FTP, persistent URL cache, cookie jar (
InternetGetCookieEx2,InternetSetCookieEx2), autodial, per-site cookie decisions - wlanapi - Native Wifi: interface enumeration, scans, profiles, Wi-Fi Direct
- wldap32 - LDAP client: directory bind/auth, search, modify, add/delete/rename/compare, extended operations, server/client controls, paged / sorted / virtual-list-view results, StartTLS, and the BER (winber) encode/decode primitives
- ws2_32 - Winsock 2: BSD sockets, DNS, network I/O
Printing
- prntvpt - Print Ticket / Print Schema: PrintCapabilities, DEVMODE ⇄ Print Ticket conversion, merge & validate
- winspool - printer management, print jobs, spooler control, drivers
Remote Desktop & Terminal Services
- wtsapi32 - Terminal Services sessions, processes, virtual channels, remote desktop
Security & Crypto
- advapi32 - registry, security descriptors, service control
- amsi - Antimalware Scan Interface: submit scripts/buffers to the registered AV provider (Defender) for in-process scanning (
AmsiInitialize,AmsiScanBuffer,AmsiScanString,AmsiNotifyOperation) — EICAR detection proven pure-FFI, no shelling out - bcrypt - Cryptography Next Gen (CNG): ciphers, hashes, HMAC, PBKDF2, signatures, random bytes, key agreement
- credui - credential prompts, username parsing, auth blobs, and SSPI prompt helpers
- crypt32 - certificate stores, chains, encoding, DPAPI
- fveapi - BitLocker / Full Volume Encryption (
fveapi.dll): all 162 exports — volume open / lock / unlock, protection & conversion status, key packages, recovery-password backup, device-encryption support, and the DMA / HSTI security checks - ncrypt - CNG Key Storage: persisted keys, RSA/ECDSA/ECDH signing & key agreement, key attestation claims, DPAPI-NG protection descriptors and streaming
- secur32 - SSPI authentication, credentials, LSA
- sspicli - SSPI client-side auth and SASL
- tbs - TPM Base Services: open a TBS context, submit raw TPM 2.0 command buffers, read the TCG measured-boot log, query device ID / owner-auth (
Tbsi_Context_Create,Tbsip_Submit_Command,Tbsi_Get_TCG_Log,GetDeviceID) — TPM2_GetRandom / GetCapability proven pure-FFI against real hardware - webauthn - WebAuthn / FIDO2: drive the Windows platform authenticator (Windows Hello biometrics + TPM-backed passkeys) — passkey registration & assertion, platform-credential enumeration/deletion, cancellation, and W3C
DOMExceptionerror mapping (WebAuthNAuthenticatorMakeCredential,WebAuthNAuthenticatorGetAssertion,WebAuthNGetPlatformCredentialList) — a real Windows Hello passkey ceremony proven pure-FFI - winscard - smart card resource manager, reader discovery, status changes, and APDU transport
- wintrust - Authenticode signature verification (WinVerifyTrust), catalog admin, SIP, and trust-provider helpers
- wscapi - Windows Security Center: aggregate provider health (firewall, antivirus, auto-update, UAC, WSC service) and change registration (
WscGetSecurityProviderHealth,WscRegisterForChanges) — live security posture without parsing PowerShell
System
- activeds - Active Directory Service Interfaces (ADSI): bind a directory object by ADsPath to
IADs/IADsContainer(ADsGetObject,ADsOpenObject), enumerate container children, and round-trip binary security descriptors — WinNT / LDAP providers - cabinet - Compression API (MSZIP / XPRESS / XPRESS-Huffman / LZMS) plus Cabinet (.cab) archive creation and extraction via the FCI / FDI callback interfaces
- cfgmgr32 - device tree traversal, configuration management, device properties, interfaces, resources
- cldapi - Cloud Files API (
cfapi.h): all 35 documented exports — sync-root register/connect, placeholder create/convert/update/revert, hydrate/dehydrate, transfer keys, pin & in-sync state, placeholder/sync-root info, and platform version — the OneDrive Files On-Demand engine that projects zero-byte-on-disk placeholder files, proven pure-FFI - clfsw32 - Common Log File System: all 53 documented user-mode + management exports — dedicated/multiplexed log creation, containers, marshaling areas, durable record reserve/append, archival, the CLFS management policy surface, and the 8-byte by-value
CLFS_LSNalgebra (LsnCreate/LsnContainer/LsnBlockOffset/LsnRecordSequence) — the kernel write-ahead-log engine behind TxF/TxR, proven pure-FFI - clusapi - Failover Cluster API: cluster / node / group / resource / network / netinterface lifecycle, the full open / enum / control families, the cluster registry batch API, and notification ports — all 205 documented exports
- combase - Windows Runtime activation core:
RoInitialize/RoActivateInstance/RoGetActivationFactory, the fullHSTRINGstring API, fast-pass/preallocated buffers, and the WinRT error-info surface — the pure-FFI path to toast notifications and the rest of the WinRT projection - dbghelp - symbol engine, stack walking, minidumps, image helpers, source-level debugging
- dismapi - DISM image servicing: online/offline sessions, optional features, packages, drivers, capabilities, image health (
DismInitialize,DismOpenSession,DismGetFeatures,DismCheckImageHealth) — theDISM.exeengine in-process, no spawn - fltlib - Filter Manager (
fltuser.h): minifilter / instance / volume enumeration, info queries, load/unload, attach/detach, and the minifilter communication-port channel (FilterFindFirst,FilterInstanceFindFirst,FilterVolumeFindFirst,FilterConnectCommunicationPort) — the file-system filter stackfltmcshows, pure-FFI - hid - HID device access, feature reports, preparsed data parsing
- kernel32 - processes, memory, files, console, threads
- ktmw32 - Kernel Transaction Manager (KTM): create/open transactions, transaction managers, resource managers, and enlistments; two-phase commit/rollback (
CreateTransaction,CommitTransaction,RollbackTransaction,CreateResourceManager,CreateEnlistment) — atomic transacted-NTFS / transacted-registry work, pure-FFI - mi - Windows Management Infrastructure client bootstrap and function-table discovery
- msi - Windows Installer: product enumeration, install state, database, patching
- ntdll - native NT API
- normaliz - internationalized domain names, Nameprep, and Unicode normalization
- ole32 - COM/OLE helpers, monikers, structured storage, clipboard, drag-drop
- oleacc - Microsoft Active Accessibility (MSAA): resolve
IAccessiblefrom a window or screen point, walk the accessibility tree, decode role/state text, marshal objects to/fromLRESULT - oleaut32 - OLE Automation: BSTR, VARIANT, SAFEARRAY, DECIMAL, CURRENCY, type libraries, IDispatch helpers, OLE pictures, full Var*From* conversion family
- pdh - performance counter queries, logs, and enumeration
- powrprof - power schemes, policies, sleep states, battery management
- propsys - Windows Property System: full PROPVARIANT/VARIANT conversion families, vector/array helpers, property keys (
PSGetPropertyKeyFromName), property descriptions, property stores/bags, andPropVariantCompareEx(Explorer's value comparator) - psapi - process status and module enumeration
- rasapi32 - Remote Access Service: dial-up/VPN dialing and hang-up, connection enumeration and status, phone-book entry/sub-entry/credentials/dial-params management, autodial, projection info, link/connection statistics, EAP user data
- rpcrt4 - RPC runtime: UUID generation (random + sequential), client/server bindings, endpoint mapper enumeration, authentication levels, extended error info, protocol sequences, MES pickling, string-binding compose/parse,
DceErrorInqText - rstrtmgr - Restart Manager sessions, lock discovery, shutdown, and restart orchestration
- setupapi - device installation, INF parsing, class and interface enumeration
- shcore - DPI awareness, scale factors, AppUserModelID, random access streams, registry helpers, isolated-container detection, threading refs
- shell32 - shell operations and file management
- shlwapi - shell lightweight utility functions
- srclient - System Restore client: create / begin / end restore points (
SRSetRestorePointW/A) and remove them (SRRemoveRestorePoint) —RESTOREPOINTINFO/STATEMGRSTATUSpack(1)structs - taskschd - Task Scheduler COM server entry points, class factory activation, task enumeration
- tdh - Trace Data Helper: ETW event decoding (
TdhGetEventInformation,TdhFormatProperty), provider / field / event-schema enumeration, value & bitmap maps, manifest loading, and payload filters - uiautomationcore - UI Automation nodes, pattern objects, provider bridging, and event plumbing
- userenv - user profiles, environment blocks, and Group Policy
- version - file version resources, string tables, installer version helpers
- virtdisk - VHD, VHDX, and ISO virtual disk creation, attachment, inspection, and management
- vssapi - Volume Shadow Copy Service: the
IVssBackupComponentsbackup engine (CreateVssBackupComponents), writer-metadata examination, shadow-copy presence (IsVolumeSnapshotted), and revert-block policy — the documentedvsbackup.hsurface - wer - Windows Error Reporting report authoring/stores (
WerReportCreate,WerReportSubmit,WerStoreOpen,WerStoreQueryReportMetadataV2) plus the Wait Chain Traversal deadlock-detection API (OpenThreadWaitChainSession,GetThreadWaitChain) — live kernel thread-wait X-ray proven pure-FFI - wevtapi - Windows Event Log queries, rendering, subscriptions, channel configuration, publisher metadata
- wimgapi - Windows Imaging (WIM): create/open
.wimarchives, capture/apply/enumerate images, mount/unmount/split/export, references, and live progress via aWIMRegisterMessageCallbackJSCallback — theDISM.exe/ImageXengine in-process - windowsaccessbridge-64 - Java Access Bridge: classify Java/Swing windows (
isJavaWindow), walk the AccessibleContext tree (getAccessibleContextFromHWND/getAccessibleContextInfo/getAccessibleChildFromContext), read text/table/hypertext/value/selection info, drive actions, and register event callbacks — all 97 exports, proven against a live JDK Swing app - winusb - WinUSB device I/O, descriptors, pipes, policies, and isochronous transfers
- wuapi - Windows Update Agent COM server (
Dll*entries): the Windows Update object model —IUpdateSession/IUpdateSearcher/ update-history enumeration and result decoding over the COM vtable
Project Structure
bun-win32/
|-- bin/
|-- packages/
| |-- core/
| |-- template/
| |-- advapi32/
| |-- ...
| |-- uiautomationcore/
| `-- wtsapi32/
|-- scripts/
|-- AGENTS.md
|-- PROMPT.md
`-- README.md
Generating a New Package
All packages in this repo are AI-generated using Claude Code. To add bindings for a new DLL:
- Open the repo in Claude Code.
- Set the model to max effort with extended thinking enabled.
- Send:
Execute @PROMPT.md for `crypt32`.
Replace crypt32 with whatever DLL you're targeting. PROMPT.md uses the scaffold, catalog, runtime-probe, stub-scaffold, and audit scripts to keep the work mechanical, resumable, and less error-prone.
License
MIT
Установить Bun Uia в Claude Desktop, Claude Code, Cursor
unyly install bun-uiaСтавит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.
Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh
Или настроить вручную
Выполни в терминале:
claude mcp add bun-uia -- npx -y bun-uiaFAQ
Bun Uia MCP бесплатный?
Да, Bun Uia MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Bun Uia?
Нет, Bun Uia работает без API-ключей и переменных окружения.
Bun Uia — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Bun Uia в Claude Desktop, Claude Code или Cursor?
Открой Bun Uia на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
LibreOffice Tools
Enables AI agents to read, write, and edit Office documents via LibreOffice with token-efficient design. Supports multiple formats including DOCX, XLSX, PPTX, a
автор: passerbyflutterdannote/figma-use
Full Figma control: create shapes, text, components, set styles, auto-layout, variables, export. 80+ tools.
автор: dannoteLogo.dev
Search and retrieve company logos by brand or domain. Customize size, format, and theme to match your design needs. Accelerate design, prototyping, and content
автор: NOVA-3951PIX4Dmatic
Enables GUI automation for controlling PIX4Dmatic on Windows through MCP. Supports launching, focusing, capturing screenshots, sending hotkeys, clicking UI elem
автор: jangjo123Compare Bun Uia with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории design
