Commodore 64 Ultimate Computer MCP Server
Enables control and interaction with Commodore 64 Ultimate Computer devices through their REST API, allowing users to play SID/MOD files, load and run programs, manage disk images, configure settings, and control the C64 machine through natural language.
README
Commodore 64 Ultimate Computer MCP Server
MCP (Model Context Protocol) server for the Commodore 64 Ultimate Computer REST API. This server exposes all Commodore 64 Ultimate Computer REST API endpoints as MCP tools.
Installation
cd c64u-mcp-server
uv sync
Configuration
Set the C64U_URL environment variable to your device's IP address:
export C64U_URL="http://192.168.200.157"
Default: http://192.168.200.157
Running the Server
uv run python server.py
Claude Desktop Configuration
Add to your Claude Desktop claude_desktop_config.json:
{
"mcpServers": {
"commodore64": {
"command": "uv",
"args": ["run", "--directory", "/path/to/c64u-mcp-server", "python", "server.py"],
"env": {
"C64U_URL": "http://192.168.200.157"
}
}
}
}
Available Tools
About
get_version- Get REST API version
Runners (SID/MOD/PRG/CRT)
sidplay_file- Play SID file from device filesystemsidplay_upload- Upload and play SID file (base64)modplay_file- Play MOD file from device filesystemmodplay_upload- Upload and play MOD file (base64)load_prg_file- Load PRG without executingload_prg_upload- Upload and load PRG (base64)run_prg_file- Load and run PRG from filesystemrun_prg_upload- Upload and run PRG (base64)run_crt_file- Start cartridge from filesystemrun_crt_upload- Upload and start cartridge (base64)
Configuration
list_config_categories- List all config categoriesget_config_category- Get items in a categoryget_config_item- Get specific config itemset_config_item- Set config item valuebatch_set_config- Set multiple config itemsload_config_from_flash- Restore config from flashsave_config_to_flash- Save config to flashreset_config_to_default- Reset to factory defaults
Machine Control
machine_reset- Reset the C64machine_reboot- Reboot Ultimate devicemachine_pause- Pause CPU via DMAmachine_resume- Resume from pausemachine_poweroff- Power off (U64 only)write_memory- Write hex data to C64 memorywrite_memory_binary- Write binary data to memory (base64)read_memory- Read C64 memoryread_debug_register- Read debug register (U64)write_debug_register- Write debug register (U64)capture_screen- Capture C64 screen as PNG imagetype_text- Type text into keyboard buffer (supports special keys)send_key- Send a special key to keyboard buffer
Floppy Drives
list_drives- List all drives and mounted imagesmount_disk_file- Mount disk from filesystemmount_disk_upload- Upload and mount disk (base64)drive_reset- Reset drivedrive_remove- Unmount diskdrive_on- Enable drivedrive_off- Disable drivedrive_load_rom_file- Load custom ROMdrive_load_rom_upload- Upload custom ROM (base64)drive_set_mode- Change drive type (1541/1571/1581)
Streams (U64 only)
stream_start- Start video/audio/debug streamstream_stop- Stop active stream
File Operations
get_file_info- Get file metadatacreate_d64- Create D64 disk imagecreate_d71- Create D71 disk imagecreate_d81- Create D81 disk imagecreate_dnp- Create DNP disk image
Claude Skills
Skills are modular packages that extend Claude's capabilities with specialized knowledge. A .skill file is a ZIP archive containing:
SKILL.md- Core instructions with YAML frontmatterreferences/- Optional detailed documentationscripts/- Optional executable codeassets/- Optional templates and files
Creating a .skill File
-
Navigate to the skill folder:
cd claude-skills/c64-basic -
Create a ZIP archive with
.skillextension (create archive using folder contents, not the folder itself to make sure SKILL.md file located in archive root):# Windows PowerShell Compress-Archive -Path * -DestinationPath c64-basic.skill # Linux/Mac zip -r c64-basic.skill *
Adding Skills to Claude Desktop
- Open Claude Desktop
- Go to File → Settings → Capabilities → Skills
- Click Add and select the
.skillfile - The skill will be available in all conversations
Available Skills
c64-basic (claude-skills/c64-basic/)
- Creates and runs C64 BASIC programs via MCP
- Handles tokenization, memory pointers, and keyboard buffer injection
- Trigger: Ask Claude to write C64 BASIC programs
API Reference
Based on: https://1541u-documentation.readthedocs.io/en/latest/api/api_calls.html
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.