zesarux-controllisted
Install: claude install-skill dtz-labs/zx-skills
# Controlling ZEsarUX over MCP
ZEsarUX is a multi-machine Sinclair/Z80 emulator. This skill is about *operating*
it from Claude via the **zesarux** MCP server: getting software in, running it,
seeing the result, and debugging at the Z80 level. It is machine-agnostic — the
same loop works whether you're running a Spectrum BASIC program, a machine-code
demo, a Next core, or a CPC game.
For writing the program itself, pair this with a language skill (e.g.
`zx-spectrum-basic` for Sinclair BASIC). This skill takes over once you have
something to load or debug.
## The tools
The `zesarux` server exposes ~34 tools (invocation prefix is usually
`mcp__zesarux__<tool>`). The full grouped catalog is in `references/tools.md`; the
ones you reach for constantly:
| Job | Tool |
|-----|------|
| Start / connect | `launch_emulator` |
| Choose machine | `set_machine` (`48k`, `128k`, Timex, Next/TBBlue, Pentagon, CPC, MSX…) |
| Confirm state | `get_emulator_info` |
| Reset | `reset_machine` (soft / hard) |
| **Load & run** | `load_file` (smartload — auto-detect + run a `.tap`/`.tzx`/`.sna`/`.z80`/`.scr`) |
| State save/restore | `save_snapshot` / `load_snapshot` / `snapshot_inram` |
| **See the screen** | `get_screen` (to a host file) / `save_screen` |
| Type | `send_keys` (string) / `send_key` (single) |
| Memory | `peek` / `poke` / `hexdump` |
| I/O ports | `read_port` / `write_port` |
| Debug | `get_registers`/`set_register`, `cpu_step`, `disassemble`/`assemble`, `set_breakpoint`/`clear_