Electron Viewer runs on your own machine — the client starts it, so there is no endpoint to ping. 553 installs a week from npm. Last commit 5 Nov 2026.
Drive Electron apps over CDP: screenshots, clicks, drags, keys, JS in renderer and main, logs.
We read the source, 1 d ago · rules 995398eba69f
What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.
const proc = spawn(process.execPath, [path.join(pkgDir, 'install.js')], { cwd: pkgDir, stdio: ['ignore', 'pipe', 'pipe'] });
const full = rel && path.join(pkgDir, 'dist', rel);
Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.
We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.
This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.
claude mcp add electron-viewer -- npx -y @acertijosapps/electron-viewer
{
"mcpServers": {
"electron-viewer": {
"command": "npx",
"args": [
"-y",
"@acertijosapps/electron-viewer"
]
}
}
}
[mcp_servers.electron-viewer]
command = "npx"
args = ["-y", "@acertijosapps/electron-viewer"]
{
"mcpServers": {
"electron-viewer": {
"command": "npx",
"args": [
"-y",
"@acertijosapps/electron-viewer"
]
}
}
}
{
"servers": {
"electron-viewer": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@acertijosapps/electron-viewer"
]
}
}
}
Optional settings from the registry entry, left out of the block above:
ELECTRON_VIEWER_URL (Viewer to show actions live (default http://localhost:8094); without it, CDP is used directly), ELECTRON_VIEWER_PROJECT (Electron project folder that launch_app starts with `electron .` (default: the current folder)).
Let agents see and drive a Mac: screenshots, clicks, typing, apps and virtual displays.
Drive Android emulators: screenshots, taps, swipes, keys, text, rotation and foldable postures.
Drive the browser of ZennoPoster ProjectMaker: open pages, read and click elements, screenshots.
Give your AI agent a real cloud Android phone: push APKs, drive it, get screenshots and logs.
Inspect, drive and debug a running Ren'Py game: state, screenshots, guarded clicks, saves, builds.
Screenshot, PDF, OG-image, and page extraction (markdown/JSON) over MCP. Bearer key or x402.
Inspect and drive WPF apps: trees, bindings, screenshots, mouse dragging and touch gestures.
See and drive Android emulators on a Mac: screenshot, tap, type, UI tree, logs, root.
Answers built from our own checks of this server.