Controls BizHawk through MCP for emulator memory access, input, frame stepping, screenshots, and save states.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag — we're steadily working through the catalog.
💡 Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by MCP Bizhawk.
bizhawk_pingVerify bridge connectivity (returns `pong`)
bizhawk_get_infoROM name, ROM hash, framecount, memory domains, capabilities
bizhawk_list_memory_domainsList available memory domains for the loaded core
bizhawk_read8Read u8 / u16-LE / u32-LE from memory
bizhawk_write8Write to memory
bizhawk_read_rangeRead up to 4096 bytes as a byte array
The dmang-dev/mcp-bizhawk MCP server lets an MCP-compatible client operate a running BizHawk instance. It supports systems handled by BizHawk, including NES, SNES, Game Boy, Game Boy Color, Game Boy Advance, Genesis, Saturn, N64, PlayStation 1, Atari systems, Lynx, ColecoVision, and Intellivision. The exact available memory domains depend on the loaded core and ROM.
An agent can inspect the loaded game and emulator state, discover memory domains, read or modify memory, send joypad input, advance or pause emulation, reset the core, capture the display as a PNG, and save or restore emulator state. Memory operations can target a named domain or use the active current domain. Range operations support up to 4096 bytes.
The setup has two cooperating components. A Node.js MCP process provides standard MCP over stdio and listens for BizHawk connections on a local TCP port. The lua/bridge.lua script runs inside BizHawk’s Lua Console and polls that listener once per frame, forwarding commands and responses using newline-delimited JSON.
This architecture is useful when the client needs frame-by-frame inspection or controlled experimentation. The connection model adds approximately one frame of delay per request, estimated at about 16 milliseconds at 60 Hz. It is therefore less suitable for scripts that require a high rate of calls.
The dmang-dev/mcp-bizhawk MCP server requires BizHawk 2.6.2 or newer and Node.js 22 or newer. Install the package from npm with npm install -g mcp-bizhawk, or run it without a global installation using npx -y mcp-bizhawk.
Start the MCP process, then configure BizHawk to connect to the listener at 127.0.0.1:8766 by using its socket options or the External Tools settings. Open BizHawk’s Lua Console and load lua/bridge.lua from the repository. The MCP client must then be configured to launch the mcp-bizhawk command over stdio. The README gives registration steps for Claude Code and Claude Desktop, and states that other standard MCP clients can use the same stdio transport.
The listener address is configurable with BIZHAWK_HOST, which defaults to 127.0.0.1, and BIZHAWK_PORT, which defaults to 8766.
The dmang-dev/mcp-bizhawk MCP server exposes tools for:
The Lua bridge must be loaded inside BizHawk; installing the npm package alone does not attach it to an emulator. Memory-domain names and controller button names vary by system, so clients should query the loaded core before issuing system-specific operations. BizHawk’s version must meet the stated minimum because earlier releases use a different socket-server wire format.
Factual signals from GitHub, npm, and our automated checks — not a rating.
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/dmang-dev-mcp-bizhawk)<a href="https://allmcps.com/mcp/dmang-dev-mcp-bizhawk"><img src="https://allmcps.com/api/badge/dmang-dev-mcp-bizhawk?style=directory" alt="MCP Bizhawk on AllMCPs" /></a>