Commodore 64 Ultimate Computer

Exposes all Commodore 64 Ultimate Computer REST API endpoints as MCP tools for remote control and automation.
  • python

5

GitHub Stars

python

Language

5 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs

You can expose and control the Commodore 64 Ultimate Computer REST API through an MCP server. This lets you orchestrate the C64U device from any MCP client, issuing commands, loading media, managing memory and drives, and more, using familiar MCP tooling.

How to use

To use the Commodore 64 MCP Server, connect via a suitable MCP client and point it at either the local CLI-based server or the remote HTTP endpoint. You can start the server locally to run all endpoints as MCP tools or interact with a running remote MCP server if you have a URL. You will access the full set of capabilities, including loading programs, controlling the machine, driving floppy images, and performing memory operations.

How to install

Prerequisites: you need a working environment with a shell, Python installed, and the UV tooling available. You will also configure the target device URL before running the server.

Step 1: Clone or prepare the MCP server directory.

Step 2: Install dependencies if required by the server implementation.

Step 3: Start the server locally using the runtime command shown below.

Configuration

Set the device URL so the server can reach your Commodore 64 Ultimate Computer. Use the following environment variable to point to your device IP and API: C64U_URL should be your device base URL, for example http://192.168.200.157.

Claude Desktop Configuration

{
  "mcpServers": {
    "commodore64": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/c64u-mcp-server", "python", "server.py"],
      "env": {
        "C64U_URL": "http://192.168.200.157"
      }
    }
  }
}

Notes

The server exposes a comprehensive set of tools corresponding to actions you can perform on the C64U device. Make sure your device is reachable at the configured URL before starting the server, and ensure your environment variables are set as required by your MCP client or automation workflow.

Available tools

get_version

Get REST API version of the underlying Commodore 64 Ultimate Computer service.

sidplay_file

Play SID file from device filesystem.

sidplay_upload

Upload and play SID file (base64) on the device.

modplay_file

Play MOD file from device filesystem.

modplay_upload

Upload and play MOD file (base64) on the device.

load_prg_file

Load PRG into memory without executing.

load_prg_upload

Upload and load PRG (base64) into memory.

run_prg_file

Load and run PRG from filesystem.

run_prg_upload

Upload and run PRG (base64) from memory.

run_crt_file

Start cartridge from filesystem.

run_crt_upload

Upload and start cartridge (base64).

list_config_categories

List all config categories.

get_config_category

Get items in a configuration category.

get_config_item

Get a specific config item.

set_config_item

Set the value of a config item.

batch_set_config

Set multiple config items in a single operation.

load_config_from_flash

Restore config from flash memory.

save_config_to_flash

Save current config to flash memory.

reset_config_to_default

Reset config to factory defaults.

machine_reset

Reset the C64.

machine_reboot

Reboot the Ultimate device.

machine_pause

Pause CPU via DMA.

machine_resume

Resume from CPU pause.

machine_poweroff

Power off the device (U64 only).

write_memory

Write hex data to C64 memory.

write_memory_binary

Write binary data to memory (base64).

read_memory

Read C64 memory.

read_debug_register

Read a debug register (U64).

write_debug_register

Write a debug register (U64).

capture_screen

Capture C64 screen as PNG image.

type_text

Type text into keyboard buffer (supports special keys).

send_key

Send a special key to keyboard buffer.

list_drives

List all drives and mounted images.

mount_disk_file

Mount disk from filesystem.

mount_disk_upload

Upload and mount disk (base64).

drive_reset

Reset drive.

drive_remove

Unmount disk.

drive_on

Enable drive.

drive_off

Disable drive.

drive_load_rom_file

Load custom ROM.

drive_load_rom_upload

Upload custom ROM (base64).

drive_set_mode

Change drive type (1541/1571/1581).

stream_start

Start video/audio/debug stream (U64 only).

stream_stop

Stop active stream.

get_file_info

Get file metadata.

create_d64

Create D64 disk image.

create_d71

Create D71 disk image.

create_d81

Create D81 disk image.

create_dnp

Create DNP disk image.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational