Repository navigation
MoonClicker v0.5.0
0.5 Highlights
REPL
- A persistent Lua session separate from scripts, with the same API. Globals persist until reset or close, and Ctrl+C interrupts only the current chunk.
- Up to four REPLs can run at once on a device. Each has its own id and its own globals. VS Code and MCP share them, and you can attach to a REPL that is already open.
- VS Code: use the REPL from the terminal. Shift+Enter sends the selection or the current line, and Ctrl+D on an empty line closes only that REPL.
MCP server
- The Workbench now has a built-in MCP server (
POST /mcp, Streamable HTTP, stateless) that uses the same Workbench token. - Tools:
list_displays,screenshot,view_tree,tap,swipe,repl_eval,repl_reset,list_scripts,start_script,stop_script,script_logs. - New VS Code command: "Copy MCP Server Config". See docs/mcp.md for setup.
ui module: view tree access
- New
ui.dump,ui.find,ui.find_all,ui.waitand selectors. Scripts can find elements by text, id or class without templates or OCR (Android 11+). - The service registers UiAutomation as shell only when needed and releases it after about 30 seconds of inactivity.
Input from the VS Code mirror
- On the Workbench panel's debug view, a click sends a tap, press-and-hold sends a long press, and a drag sends a swipe. Input is sent when you release.
Compatibility
- Workbench protocol version is now 3. You need the VS Code extension 0.5.x.
- The VS Code extension moved to kuomartin/moonclicker-vscode. Download
.vsixfiles from that repo's Releases. Installing from Open VSX works the same as before.
Other
- MCP returns an error when coordinates are outside the display or the script is unknown.
- The CI Lua stub check now compares function names, so PRs that don't change the API are no longer blocked.
Full Changelog: v0.4.0...v0.5.0