# core

MCP-сервер, через который агент запускает настоящие Electron-приложения, читает дерево доступности, кликает по стабильным ссылкам и проверяет поведение с повторами.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 12
- Автор: electron-stagewright
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/electron-stagewright/electron-stagewright
- Обновлён: 2026-10-24
- HTML: https://affpapa.org/nevibecode/mcp/electron-stagewright-core

## Что делает

Сервер открывает агенту доступ к живому Electron-приложению: запуск или подключение к уже работающему процессу, разбор дерева доступности, взаимодействие по устойчивым ссылкам на элементы. Проверки идут через примитивы `expect_*` с таймаутом и повторами, поэтому цепочка «прочитать, сравнить, подождать» укладывается в один вызов.

Внутри — инструменты `electron_launch`, `electron_attach`, `electron_snapshot`, `electron_find`, `get_state`, `wait_for_state` и другие. Ошибки приходят с подсказками и похожими ссылками, в ответах указана стоимость в токенах, а `get_state` отдаёт всё состояние элемента за раз: видим, включён, в фокусе, раскрыт. Снимок помечает элементы, которые изменились с прошлого раза, и умеет отдавать только разницу. Для трассировки сессии есть воспроизведение вызовов на чистом экземпляре приложения и лимиты токенов. Отдельно закрыты упакованные сборки: проверка подписи, оценка Gatekeeper, лента autoUpdater.

Нужен Node.js 24 или новее. На Linux понадобится дисплей — `DISPLAY`, `WAYLAND_DISPLAY` или `xvfb-run -a`, иначе серверу негде рисовать окно. Первый запуск Electron скачивает бинарник уже во время работы, а не при установке, и печатает строку прогресса в stdout: в сессии MCP она попадёт в поток протокола. Поэтому бинарник готовят заранее командой `install-electron`, а затем проверяют `doctor` — он завершается с кодом 0, когда обязательные проверки прошли. Список пакетов держите одинаковым во всех командах: `npx` кеширует каждый набор отдельно.

## Требования
- Нужно: Node.js (команды через npx)

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add core -- npx -y @electron-stagewright/core
```

### Codex

**Командой платформы**
```bash
codex mcp add electron-stagewright-core -- npx -y @electron-stagewright/core
```

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "electron-stagewright-core": {
            "command": "npx",
            "args": [
                "-y",
                "@electron-stagewright/core"
            ]
        }
    }
}
```

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "electron-stagewright-core": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@electron-stagewright/core"
            ]
        }
    }
}
```

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add electron-stagewright-core npx -y @electron-stagewright/core
```

## Когда брать
- запустить Electron-приложение из сессии агента и осмотреть его окна
- проверить, что кнопка стала активной, без череды повторных запросов
- найти элемент по роли и части имени вместо CSS-селектора
- подключиться к уже запущенному dev-серверу, не перезапуская его
- проверить подпись и упаковку готовой `.app`-сборки

## Примеры запросов агенту
- Запусти приложение и покажи дерево доступности главного окна.
- Найди кнопку с частью имени «Отправить» и проверь, что она включена, с таймаутом 5000.
- Подключись к работающему dev-серверу и сравни снимок с прошлым.

## Похожие
- [Front-End Checklist](https://affpapa.org/nevibecode/mcp/front-end-checklist.md) — MCP-сервер · ★ 74559
- [Keploy](https://affpapa.org/nevibecode/mcp/keploy.md) — MCP-сервер · ★ 18727
- [SeleniumBase MCP](https://affpapa.org/nevibecode/mcp/seleniumbase-mcp.md) — MCP-сервер · ★ 13169
- [mobile-mcp](https://affpapa.org/nevibecode/mcp/mobile-mcp.md) — MCP-сервер · ★ 9946
- [e2e](https://affpapa.org/nevibecode/mcp/e2e.md) — MCP-сервер · ★ 11912
- [mockserver](https://affpapa.org/nevibecode/mcp/mockserver.md) — MCP-сервер · ★ 4996

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
