Tools one might need to hack 8-bit Atari code (.atr files), including hex dump, disassembler, symbol tables, etc.
Tools one might need to hack 8-bit Atari code (.atr files), including hex dump, disassembler, symbol tables, etc.
A local MCP server for reverse-engineering Atari 8-bit binaries and ATR disk images. Supports multi-pass disassembly analysis, code/data separation, segment-aware output, ATR file injection, batch scripting, and a comprehensive Atari hardware symbol table.
Compare MCP servers by category, or browse hosted MCP servers if you prefer an endpoint over a local process.
Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.
| Tool | What it does |
|---|---|
| load_rom | Load a ROM/XEX binary into the current session |
| rom_info | Display structural info about the loaded binary |
| atr_info | Display structural info about an ATR disk image |
| atr_header | Display the ATR header fields for a disk image |
| load_atr_file | Extract a file from an ATR and load it into the session |
| load_atr_boot | Extract boot sectors from an ATR and load them at $0700 |
| list_atr_directory | List the DOS directory of an ATR disk image |
| analyze_boot_sector | Decode the boot sector header from an ATR |
| sector_dump | Hex dump sectors from an ATR by logical sector number |
| search_boot_sector | Scan boot sectors across multiple ATRs for patterns/differences |
| extract_atr_file | Extract a file from an ATR and save it to disk |
| inject_atr_file | Inject a file into an ATR (copy-on-write) |
| create_atr | Create a new ATR disk image from scratch |
| write_atr_sector | Write raw data to a specific sector of an ATR |
| write_atr_file | Write a file to an ATR with directory entry creation |
| define_filesystem | Define a custom filesystem layout for non-DOS ATRs |
| hex_dump | Produce a hex dump with file offsets, memory addresses, and ASCII |
| disassemble | Disassemble 6502 code with optional multi-pass analysis (analyze=true) |
| analyze_disassembly | Multi-pass analysis building a reference graph and identifying code/data regions |
| Formats | summary, graph, labels, full |
| define_segment | Define a memory segment by type (code, data, graphics, text, zero_page) |
| remove_segment | Remove a defined segment by name |
| list_segments | List all defined memory segments (shows gaps) |
| clear_segments | Clear all defined segments |
| generate_linker_config | Generate a cc65 linker configuration from current segments |
| x_ref | Find cross-references to an address in the ROM |
| find_pattern | Search for a byte pattern with wildcards |
| find_strings | Search for runs of printable ASCII or ATASCII characters |
| trace_control_flow | Statically trace execution from a starting address |
| probe_data | Analyze a memory range to identify data type (text, graphics, table, charset, display list, sprite data, map data) with confidence scoring |
| generate_callgraph | Generate a call graph showing subroutine relationships (Mermaid or text format) |
| analyze_coverage | Analyze code coverage: which bytes are executed vs. data |
| diff_roms | Compare two ROM or ATR files (summary, verbose, or hex diff format) |
| define_symbol | Add or update a named label for a memory address |
| remove_symbol | Remove a user-defined symbol |
| lookup_symbol | Look up the symbol entry for an address |
| list_symbols | List symbols in the symbol table |
| set_symbols | Enable/disable symbol groups (hardware, OS variables, OS ROM, user labels) to control which names appear in disassembly |
| load_labels | Load labels and segments from a sidecar file |
| save_labels | Save current labels and segments to a sidecar file |
| annotate_zero_page | Add or update a zero-page annotation |
| show_zero_page_map | Display current zero-page annotations |
| run_script | Execute a sequence of commands from a script file (supports 33 commands) |
| calculate | Evaluate mathematical expressions with hex literals ($ prefix) |
| hex_to_decimal | Convert hex to decimal |
| decimal_to_hex | Convert decimal to hex |
{
"mcpServers": {
"atari-hacker": {
"command": "dotnet",
"args": [
"run",
"--project",
"/absolute/path/to/AtariHackerMCP/AtariHackerMCP.csproj",
"--no-build"
]
}
}
}From the project documentation. Replace placeholders and example paths before connecting.
Read, search and edit files inside allowed directories with the Model Context Protocol reference Filesystem server.
Search and read your Drive — Docs, Sheets and files become context your assistant can actually use.
Episodic memory and architectural policy for AI agents. Frames, Atlas, and Policy.
Markdown Downloader is a powerful MCP (Model Context Protocol) server that allows you to download webpages as markdown files with ease. Leveraging
Fetches all files in the current directory and outputs them in a Markdown file.
Search and query 1,500+ OECD statistical datasets via SDMX. Keyless.