Skip to main content
MCP server CX Codex

core — Electron MCP server: what it does, how to install

An MCP server that drives real Electron apps: it launches or attaches, reads the accessibility tree, clicks stable refs and asserts state with retries.

Install into Claude Code · Platform CLI All methods and platforms ↓
claude mcp add core -- npx -y @electron-stagewright/core
Open on GitHub

What core does

The server gives an agent a handle on a running Electron app. It can start one or join an existing process, inspect the accessibility tree, and interact through element references that survive a re-render. Assertions use expect_* primitives with a timeout, so the usual read-compare-retry loop collapses into a single call.

Tools include electron_launch, electron_attach, electron_snapshot, electron_find, get_state and wait_for_state. Errors arrive with hints and near-miss refs, each response reports its token cost, and get_state returns the whole state of an element at once: visible, enabled, checked, focused. A snapshot marks what changed since the previous one and can return just the delta. Session traces can be replayed against a fresh app instance, with token budgets to stop runaway loops. Packaged builds get their own coverage: signing, Gatekeeper assessment and the autoUpdater feed.

Node.js 24 or newer is required. On Linux the server also needs a display, either DISPLAY, WAYLAND_DISPLAY or xvfb-run -a. Electron fetches its binary on first use rather than at install time, and that download writes a progress line to stdout, which would land in the MCP protocol stream. Fetch it beforehand with install-electron, then run doctor and check for exit code 0. Keep the --package list identical across commands, since npx caches each list on its own.

What it helps with

  • launch an Electron app from an agent session and list its windows
  • confirm a button became enabled without a chain of follow-up calls
  • locate an element by role and partial name instead of a CSS selector
  • attach to a dev server that is already running, without a restart
  • check signing and packaging of a finished .app bundle

Example prompts for the agent

  • Launch the app and show me the accessibility tree of the main window.
  • Find the button whose name contains "Submit" and verify it is enabled within 5000 ms.
  • Attach to the running dev server and diff the snapshot against the last one.

How to install core

Platform CLI

claude mcp add core -- npx -y @electron-stagewright/core

Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more

Questions about core

How do I install core in Claude Code?

Run claude mcp add core -- npx -y @electron-stagewright/core. Then check claude mcp list or run /mcp inside a session to confirm it connected.

What does core do?

It controls a real Electron application over MCP: starting or attaching to a process, reading the accessibility tree, clicking elements and asserting their state with retries.

What should I set up before configuring the MCP host?

Fetch the Electron binary with install-electron and run doctor first. Otherwise the download on first launch prints a progress line into stdout, and that line reaches the MCP protocol stream.

Similar MCP servers

All MCP servers for Testing and QA →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor