Apple II MCP Server
An MCP server for autonomous experimentation with Apple II control techniques via the Bobbin emulator.
Overview
This MCP server wraps the Bobbin Apple II emulator, providing tools for:
- Memory read/write access
- Screen reading
- BASIC program tokenization and injection
- Knowledge base for recording discovered techniques
Installation
pip install -e .
Usage
Configure in your Claude MCP settings:
{
"mcpServers": {
"apple2": {
"command": "apple2-mcp"
}
}
}
Tools
Machine Control
boot- Start the Apple II emulator (Apple II+ or //e)shutdown- Stop the emulatorreset- Warm or cold reset
Memory Access
peek/poke- Read/write memoryload_binary- Load binary data from hex string
Screen & Graphics
read_screen- Get 40x24 text displaycapture_gr/read_gr_ascii- Lo-res graphics (40x48, 16 colors)capture_hgr/read_hgr_ascii- Hi-res graphics (280x192)capture_dgr/read_dgr_ascii- Double lo-res (80x48, //e only)capture_dhgr/read_dhgr_ascii- Double hi-res (560x192, //e only)clear_gr- Clear lo-res screen to solid colorclear_hgr- Clear hi-res screen to black
Input
type_text- Type into the emulatorsend_key- Send special keys (RETURN, ESCAPE, CTRL-C, CTRL-RESET)
BASIC Execution
run_basic- Execute BASIC command and wait for promptrun_and_capture- Run program and capture screen automaticallysend_keys_and_capture- Send keys to interactive program, then capture
Tokenization
type_and_capture- Type BASIC and see tokenizationtokenize- Tokenize BASIC source using Bobbincompare_tokenization- Compare against native Apple II tokenizationinject_tokenized_basic- Direct memory injection
Disk Image Tools
create_disk- Create new DOS 3.3 disk imagedisk_catalog- List files on disk imagesave_basic_to_disk- Save BASIC source to disk (auto-tokenizes)save_file_to_disk- Save .bas file to disk
Observation
get_registers- Get 6502 CPU register stateget_basic_pointers- Get BASIC memory pointers
Knowledge Base
record_technique/query_techniques- Save and search techniques
Requirements
- Python 3.10+
- Bobbin emulator (compiled)
- pexpect
- mcp











