coco3
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| coco_build_diskA | Build a 35-track Disk BASIC image with ToolShed decb. Prefer storage/disks for output and storage/host/bas|bin|data for inputs. BASIC is tokenized; BIN and data are copied unchanged. |
| coco_list_imagesB | List MAME image devices, including flop1 and flop2, with tag, briefname, filename, and exists. |
| coco_load_stateA | Schedule a MAME state load. Fails immediately if no matching file exists in the state directory; otherwise the load is asynchronous and the result is reported as scheduled. |
| coco_mount_flopB | Mount a disk image on flop1 or flop2. Prefer paths like storage/disks/game.dsk (resolved from the MCP root). Drives come from manager.machine.images. |
| coco_read_memoryB | Read bytes from the current 64K MMU window, not physical RAM. $0400 is the 32-column text screen only in the CoCo 1/2-compatible map. |
| coco_save_stateB | Schedule a MAME save into the state directory. The save is asynchronous; fileFound reports whether the file appeared. |
| coco_snapshotA | Capture the CoCo screen to snapshots/current.png and return the PNG. Falls back to the newest PNG in the snapshot directory. |
| coco_soft_resetB | Soft-reset the emulated CoCo. This does not hard-reset MAME. |
| coco_startB | Spawn local official MAME coco3 with the disk controller and wait until the Lua bridge answers ping. |
| coco_statusA | Report whether MAME is running, whether the bridge answered, and the mounted flop1 image. |
| coco_stopA | Stop the MAME process tree and close the bridge listener. |
| coco_typeB | Post one natural-keyboard string. pressEnter defaults to true and appends {ENTER} when it is not already present, then waits until the queue is empty and not posting. |
| coco_unmount_flopB | Unload the disk image from flop1 or flop2. |
| coco_write_memoryB | Write bytes into the current 64K MMU window, not physical RAM. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Each tool has a clearly distinct emulator operation: lifecycle (start/stop/status), media (mount/unmount/list), memory (read/write), state (load/save), input (type), and disk building. There are no overlapping or indistinguishable tools.
All tools use snake_case with a consistent coco_ prefix, which is highly predictable. A few names deviate slightly from the verb_noun pattern (e.g., coco_status as noun, coco_soft_reset as adjective_noun), but the set remains easy to navigate.
14 tools is well-scoped for controlling a MAME CoCo 3 emulator, covering lifecycle, media, memory, state, input, and disk building without unnecessary bloat. Each tool earns its place.
The surface covers core emulator workflows: start/stop/status, reset, snapshot, type, mount/unmount/list images, read/write memory, load/save state, and build disk. Minor gaps exist, such as no explicit hard reset or pause/resume, but agents can work around them.