About Compose Hot Reload
Compose Hot Reload is an MCP server in the Files category: compose Hot Reload: Make changes to your UI code in a Compose Multiplatform application, and see the results in real time. No restarts required. Compose Hot Reload runs your application on the JetBrains Runtime and intelligently reloads your code whenever it is changed.
Install
git clone https://github.com/JetBrains/compose-hot-reloadThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (16)
await_reloadWaits for an autonomous hot reload when the application was started with continuous build mode (`--auto`). Returns `{"success": true}` once the application is in a healthy reloaded state, or `{"status": "reloading"}` when the reload does not finish within the optional `timeout_seconds` (default 60) — in that case, poll `status` until `reloadState` is no longer `reloading`
Parameters not published.
clickClicks the UI element with the given `nodeId`. The node must expose `onClick` in `get_semantic_tree`
Parameters not published.
get_logsReturns the most recent log lines from the running Compose application as plain text (oldest first). The `limit` parameter caps the number of lines (default 200; 0 returns all)
Parameters not published.
get_semantic_treeReturns the Compose semantic/accessibility tree of the application as JSON (component roles, names, descriptions, states, and bounds)
Parameters not published.
get_ui_errorReturns the runtime UI exception currently thrown while a window renders its UI (e.g. an exception in a `@Composable`). Reports `hasError`, and when true, the `message` and `stacktrace` lines
Parameters not published.
list_windowsLists registered application windows as a JSON array (`id`, `title`, `x`, `y`, `width`, `height`)
Parameters not published.
long_clickLong-presses the UI element with the given `nodeId`. The node must expose `onLongClick`
Parameters not published.
reloadRecompiles the project and hot-reloads the changed classes into the running application. Reports whether classes were reloaded, or `{"status": "reloading"}` when it does not finish within the optional `timeout_seconds` (default 60) — in that case, poll `status` until `reloadState` is no longer `reloading`
Parameters not published.
reset_uiDiscards the current composition so all `remember`-ed state is dropped and the UI rebuilds from scratch
Parameters not published.
resize_windowResizes the window to the given `width` × `height` in pixels (both must be positive)
Parameters not published.
Show all 16 tools
restartRestarts the running Compose application. Waits for the new process to reconnect, or returns `{"reconnected": false}` when it does not finish within `timeout_seconds` (default 60) — in that case, poll `status` until `connected` is true
Parameters not published.
scrollScrolls a scrollable container (`nodeId`) by `deltaX` / `deltaY` logical pixels. The node must support the `ScrollBy` semantic action
Parameters not published.
scroll_to_indexScrolls a container (e.g. `LazyColumn` / `LazyRow`, `nodeId`) so the item at zero-based `index` becomes visible. The node must support the `ScrollToIndex` semantic action
Parameters not published.
statusChecks whether a Compose application is currently connected. When connected, also reports the build mode (`buildContinuous`: `true` for `--auto`, `false` for explicit), reload state, last error (with optional `lastErrorDetails`), counts of successful/failed reloads, and any windows currently failing to render (`uiErrorWindows`). Use `buildContinuous` to choose between `reload` and `await_reload`
Parameters not published.
take_screenshotCaptures a screenshot of the application window
Parameters not published.
type_textReplaces the content of an editable text field (`nodeId`) with the given `text`. The node must expose `editableText`
Parameters not published.
Ask AI
Ask AI about Compose Hot Reload
Powered by Claude · Grounded in docs
Security checks
6 checks have not been run yet.