Atari Hacker MCP
Provides tools for reverse-engineering Atari 8-bit binaries and ATR disk images, including file loading, disassembly, symbol management, and analysis.
AtariHackerMCP
A local MCP server for reverse-engineering Atari 8-bit binaries and ATR disk images.
Requirements
.NET SDK 10.0+
Linux, macOS, or Windows
Build
Restore packages and compile:
dotnet buildPublish a release build if needed:
dotnet publish -c Release -o publishRun
This server uses MCP stdio transport, so it is normally launched by an MCP client rather than run interactively.
For local testing:
dotnet run --no-buildOr run the published executable:
./publish/AtariHackerMCPMCP Client Configuration
Example stdio server entry:
{
"mcpServers": {
"atari-hacker": {
"command": "dotnet",
"args": [
"run",
"--project",
"/absolute/path/to/AtariHackerMCP/AtariHackerMCP.csproj",
"--no-build"
]
}
}
}If you prefer using a published build:
{
"mcpServers": {
"atari-hacker": {
"command": "/absolute/path/to/AtariHackerMCP/publish/AtariHackerMCP",
"args": []
}
}
}Available Tools
File and disk tools
load_romrom_infoatr_infoatr_headerload_atr_fileload_atr_bootlist_atr_directoryanalyze_boot_sectorsector_dumpsearch_boot_sector
Inspection and disassembly
hex_dumpdisassemble
Utility tools
calculatehex_to_decimaldecimal_to_hex
Symbol and zero-page tools
define_symbolremove_symbollookup_symbollist_symbolsannotate_zero_pageshow_zero_page_map
Analysis tools
x_reffind_patternfind_stringstrace_control_flow
Typical Workflow
Load a file with
load_rom,load_atr_file, orload_atr_boot.Inspect structure with
rom_infooratr_info.For ATR disk images: use
atr_headerfor container metadata,list_atr_directoryfor DOS file listings,analyze_boot_sectorto decode the boot header,sector_dumpto inspect raw sectors, andsearch_boot_sectorto compare boot code across images.Review bytes with
hex_dump.Decode code with
disassemble.Add labels with
define_symbolandannotate_zero_page.Search with
x_ref,find_pattern,find_strings, andtrace_control_flow.
Persistence
User-defined symbols and zero-page annotations are saved automatically to a sidecar JSON file next to the loaded target:
<rom-or-synthetic-path>.atarihacker.jsonThis file is loaded automatically the next time the same target is opened.
Example MCP Smoke Test
This sends initialize and tools/list directly over stdio:
(
printf '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test-client","version":"1.0"}}}\n'
sleep 0.2
printf '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}\n'
sleep 1
) | dotnet run --no-buildNotes
Logs are written to stderr so stdout remains clean for MCP JSON-RPC traffic.
The current build may show a NuGet compatibility warning for
NCalc, but the server builds and runs successfully.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/pdavis68/AtariHackerMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server