PySide6 MCP server
Playwright-style MCP to inspect, control, and debug PySide6 desktop GUIs.
5 stars29 downloads/wk
Reviews
Write oneNobody has reviewed PySide6 MCP yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
PySide6 MCP tools (22)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
clickClick a widget or screen coordinate. - widget_id only: clicks the center of that widget - widget_id + x/y: clicks at (x, y) relative to the widget's top-left - x/y only: clicks at (x, y) relative to the main window button: 'left' (default), 'right', or 'middle'
double_clickDouble-click a widget. Sends two rapid left-clicks.
eval_pythonEvaluate a Python expression or execute a statement inside the app process. Context provides: - app: QApplication instance - widgets: dict mapping widget_id → QWidget Examples: eval_python("app.activeWindow().windowTitle()") eval_python("widgets['3'].isEnabled()") eval_python("list(app.allWidgets())") WARNING: runs arbitrary code in the app — use only for debugging.
find_widgetSearch for widgets by class, objectName, text content, or visibility. Returns a list of matching widgets with their IDs. Examples: find_widget(class_name="QPushButton") find_widget(text="Apply Mods") find_widget(object_name="enabledCheckBox")
get_app_outputGet the last n lines of the launched app's real stdout/stderr: print() output, uncaught tracebacks, and Qt/console warnings.
get_app_stateGet app-level state: active window, focused widget, screen info. Useful to understand focus before sending keyboard events.
get_app_statusReport combined health of a launched app: whether the process is alive, its exit code, whether the bridge responds, and whether the main thread is likely blocked by a modal dialog (process alive but bridge unresponsive).
get_launch_helpReturn how to call launch_app — especially the script parameter.
get_logsGet the last n log messages captured from the app's Python logging system. Includes timestamp, level, logger name, and message.
get_widget_infoGet detailed properties and state of a specific widget. Includes geometry, text, enabled/visible state, and dynamic Qt properties.
get_widget_treeGet the full widget hierarchy of all visible windows as JSON. Each widget has: id, class, object_name, visible, enabled, geometry, text, children. Use widget IDs from this tree in other tools.
launch_appLaunch a PySide6 app with the MCP bridge injected, then wait until the UI is ready.
list_actionsList all QActions (menu items, toolbar actions) in visible windows with their name, text, shortcut, and enabled/checked state.
list_appsList apps launched by this MCP server. Each entry is {pid}. Pass pid= to other tools when more than one app is running.
press_keyPress a key on the currently focused widget. Named keys: enter, return, escape, tab, backtab, backspace, delete, up, down, left, right, space, home, end, pageup, pagedown, f1–f6 Single characters: pass the character directly, e.g. 'a', 'A', '1'
screenshotCapture a screenshot of the app window (or a specific widget by ID). Returns the image so you can see the current UI state. Call this first to orient yourself.
scrollScroll a widget. dy > 0 scrolls down, dy < 0 scrolls up. dx: horizontal scroll (positive = right). widget_id: target widget; omit to scroll the main window.
stop_appStop a previously launched app (started via launch_app). Omit pid to stop the last launched app.
trigger_actionTrigger a QAction directly by objectName (`name`) or visible label (`text`), without clicking through menus. Useful to avoid opening modal menus and to reach toolbar/menu actions reliably. Provide at least one of name/text.
type_textType text into a widget (focuses it first) or the currently focused widget. For special characters use press_key instead.
wait_for_idleWait until the app's UI has been quiet (no layout/paint activity) for `quiet_ms` ms, or until `timeout` seconds elapse. Call after a click or action that triggers async work, before taking a screenshot.
wait_until_readyWait until the app UI is ready: a visible top-level window that has been quiet (no layout/paint activity) for `quiet_ms` milliseconds.
Public scan report
scanner v0.1.9 · 2026-09-20 · same rubric, same numbers if you re-run it
- Code scan12 source files scanned20/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 15 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Findings (1)
- mediumeval / new Function used
exec.evalpyside6_mcp-0.1.0/pyside6_mcp/bridge.py: …ref()}, } try: result = eval(code, ctx) # noqa: S307 return …
Install directly
claude mcp add pyside6-mcp -- uvx pyside6-mcp
PySide6 MCP: common questions
- Is PySide6 MCP server safe?
- Yes, by our scan: it is graded A (85/100). Read the PySide6 MCP safety report
- How do I install PySide6 MCP?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does PySide6 MCP need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is PySide6 MCP maintained?
- The last commit was 15 days ago (2026-09-05). The latest release is v0.1.0.
- What can I use instead of PySide6 MCP?
- Servers from other publishers that do the same job: Netwright MCP server, Ghost MCP server and Playrunner MCP server. Compare all PySide6 MCP alternatives.
Alternatives to PySide6 MCP
Same job from other publishers: the closest match first, then the best rated.
- NetwrightPlaywright-style automation of .NET desktop apps (WPF, WinForms, WinUI) for AI agents.not reviewedGrowingA
- GhostVerified desktop control for agents on Windows and Linux: apps with no API, windows, shell, browser.not reviewedGrowingC
PlayrunnerDiscover Playwright workflows, start runs, and inspect results in Playrunner Cloud.not reviewedGrowingA- PlaywrightPlaywright Tools for MCPnot reviewedWidely usedA
Ui.Vision MCPMCP server for browser and desktop automation: OCR, image recognition, real mouse and keyboard inputnot reviewedEstablishedC