End-to-end setup for testing Kibana (running on macOS host) with NVDA screen reader inside a Windows VirtualBox VM, driven by Cursor IDE through the mcp-nvda-auditor MCP server from a11y-agents-kit.
- guidepup (the library behind
mcp-nvda-auditor) controls NVDA by connecting to a bundled NVDA Remote add-on over a TLS socket on127.0.0.1:6837. It sends key events as JSON over this socket; the NVDA Remote add-on then injects them into the OS viauser32.SendInput(). Speech output is captured via a monkey-patchedspeech._manager.speakinside NVDA and sent back over the same TLS channel. - Because
SendInputtargets the foreground window on the interactive desktop (Session 1), the MCP server must run in the VM's desktop session (not over SSH — SSH creates Session 0 with no desktop, an