Skip to main content
Glama
KanonZombie

BizHawk Emulator MCP

by KanonZombie

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
emulator_statusB

Return emulator status for a target: system, frame, screen size.

emulator_bridge_infoC

Return bridge.lua version and advertised capabilities for a target.

emulator_stepC

Advance the emulator by N neutral/released frames. Max 600 per call.

emulator_tapC

Tap one button with neutral frames before and after.

emulator_holdB

Hold one button for N frames without releasing afterward.

emulator_releaseC

Release all known buttons for N frames.

emulator_resetB

Reboot the emulator core and settle with neutral input for N frames.

emulator_screenshotC

Save a screenshot for a target and return its path.

emulator_save_stateC

Save a BizHawk state under the target runtime states directory.

emulator_load_stateC

Load a BizHawk state from the target runtime states directory.

emulator_create_baselineC

Alias for saving a named baseline state under runtime//states.

emulator_load_baselineC

Alias for loading a named baseline state from runtime//states.

emulator_buttonsC

Return current BizHawk joypad button names/states.

emulator_read_memoryC

Read a memory range and return its bytes as an uppercase hex string.

emulator_gb_gpu_snapshotC

Dump raw GB DMG GPU data and optionally render diagnostic PNG panels.

gb_gpu_snapshotC

Legacy-short alias for emulator_gb_gpu_snapshot(target='gb').

emulator_run_scenarioC

Run a JSON scenario file against a target.

emulator_run_pair_scenarioC

Run paired GB and MD scenarios and collect their outputs without visual diffing.

emulator_build_pair_contact_sheetC

Rebuild a pair contact sheet from an existing pair_summary.json.

emulator_build_pair_diffsC

Rebuild canonical crop diffs and the contact sheet from an existing pair_summary.json.

bizhawk_statusD

GB-compatible wrapper for emulator_status.

bizhawk_bridge_infoC

GB-compatible wrapper for emulator_bridge_info.

bizhawk_stepC

GB-compatible wrapper for emulator_step.

bizhawk_tapC

GB-compatible wrapper for emulator_tap.

bizhawk_holdD

GB-compatible wrapper for emulator_hold.

bizhawk_releaseC

GB-compatible wrapper for emulator_release.

bizhawk_resetC

GB-compatible wrapper for emulator_reset.

bizhawk_pressA

Legacy GB alias for tap(button, hold_frames=frames, release_frames=2).

bizhawk_screenshotC

GB-compatible wrapper for emulator_screenshot.

bizhawk_save_stateD

GB-compatible wrapper for emulator_save_state.

bizhawk_load_stateC

GB-compatible wrapper for emulator_load_state.

bizhawk_create_baselineC

GB-compatible alias for saving a named baseline state.

bizhawk_load_baselineC

GB-compatible alias for loading a named baseline state.

bizhawk_read_memoryC

GB-compatible wrapper for emulator_read_memory.

bizhawk_run_sequenceC

GB-compatible sequence runner.

bizhawk_run_scenarioC

GB-compatible wrapper for emulator_run_scenario.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.2/5.0

Scored across 36 tools

Disambiguation1/5

Many tools are aliases or wrappers for the same operations (e.g., emulator_step and bizhawk_step, emulator_tap and bizhawk_tap), making it unclear which to call. Even within the emulator_* group, save_state and create_baseline have blurred boundaries. Several tools appear to do the same thing.

Naming Consistency2/5

Naming uses three inconsistent prefix schemes: emulator_, bizhawk_, and legacy aliases like gb_gpu_snapshot. While the core emulator_* tools are consistent, the mix of prefixes and verbose names like emulator_build_pair_contact_sheet breaks the pattern.

Tool Count2/5

At 36 tools, many are redundant wrappers or aliases, inflating the count. The actual unique functionality could be covered by fewer tools, making the surface feel bloated and harder to navigate.

Completeness4/5

Core emulator operations are well covered: status, stepping, input, reset, screenshot, save/load states, memory read, GPU snapshot, and scenario running. Minor gaps like memory write and ROM loading exist but do not severely hinder the apparent purpose.

Maintenance

ActivityStale
ResponsivenessNo issues