/ Directory / Playground / Geargrafx
● Community drhelius ⚡ Instant

Geargrafx

by drhelius · drhelius/Geargrafx

PC Engine / TurboGrafx-16 emulator with an embedded MCP server for AI-assisted debugging and retro game analysis.

Geargrafx is a cross-platform TurboGrafx-16 / PC Engine / SuperGrafx / PCE CD-ROM² emulator written in C++ with an embedded MCP server. AI agents can control execution, inspect memory, set breakpoints, disassemble HuC6280 code, view sprites/tiles, and inspect CD-ROM subsystem state. Supports stdio and HTTP transport, Multi Tap (5 players), save states with previews, and VGM recording.

Why use it

Key features

Live Demo

What it looks like in practice

geargrafx-2.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "geargrafx-2": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/drhelius/Geargrafx"
      ]
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "geargrafx-2": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/drhelius/Geargrafx"
      ]
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "geargrafx-2": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/drhelius/Geargrafx"
      ]
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "geargrafx-2": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/drhelius/Geargrafx"
      ]
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "geargrafx-2",
      "command": "TODO",
      "args": [
        "See README: https://github.com/drhelius/Geargrafx"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "geargrafx-2": {
      "command": {
        "path": "TODO",
        "args": [
          "See README: https://github.com/drhelius/Geargrafx"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add geargrafx-2 -- TODO 'See README: https://github.com/drhelius/Geargrafx'

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use Geargrafx

How to debug a PC Engine ROM with AI assistance using Geargrafx

👤 PC Engine homebrew developers and retro game researchers ⏱ ~30 min intermediate

When to use: You're developing or analyzing a PC Engine ROM and need to debug runtime behavior.

Prerequisites
  • Geargrafx built with MCP support — Build from source following the GitHub README
  • A PC Engine ROM file (.pce or .sgx) — Your own homebrew ROM or a ROM you legally own
Flow
  1. Connect and inspect
    Connect to the Geargrafx MCP server. Show me the current HuC6280 CPU state and disassembly at the program counter.✓ Copied
    → CPU registers and disassembled instructions
  2. Analyze sprite system
    Inspect the VDC sprite table. How many sprites are active and what tiles do they reference?✓ Copied
    → Sprite attribute table with positions, tile indices, and flags

Outcome: Understanding of ROM execution and VDC hardware state for debugging.

Pitfalls
  • CD-ROM games require proper CUE/BIN setup — Ensure your CUE file paths are correct and all BIN tracks are present
Combine with: filesystem

Learn PC Engine hardware architecture interactively

👤 Students and enthusiasts learning retro console hardware ⏱ ~45 min advanced

When to use: You want to understand the HuC6280 CPU, VDC graphics, and PSG audio systems.

Prerequisites
  • Geargrafx with MCP server — Build from source
Flow
  1. Explore the VDC
    Step through the VBlank interrupt and explain how the PC Engine's VDC handles background scrolling and sprite rendering.✓ Copied
    → Annotated explanation of VDC register writes and their effects

Outcome: Hands-on understanding of PC Engine hardware internals.

Pitfalls
  • SuperGrafx has two VDCs which complicates analysis — Start with regular PC Engine games before tackling SuperGrafx titles

Combinations

Pair with other MCPs for X10 leverage

geargrafx-2 + filesystem

Export debug data and memory dumps for documentation

Dump the VDC sprite table and tile data to files for analysis.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
pause/resume/step none / step_count? Control emulator execution 0
read_memory address: int, size: int Read emulator memory at any address 0
set_breakpoint address: int Set a CPU breakpoint 0
disassemble address: int, count: int Disassemble HuC6280 instructions 0
get_hardware_status none Get VDC, VCE, and PSG register states 0

Cost & Limits

What this costs to run

API quota
N/A — fully local
Tokens per call
100–500 tokens per debug command
Monetary
Free and open source (MIT license)
Tip
Use targeted reads instead of full memory dumps.

Security

Permissions, secrets, blast radius

Credential storage: N/A
Data egress: Fully local — no network calls

Troubleshooting

Common errors and fixes

MCP server not responding

Ensure Geargrafx was built with MCP support. Check the default port is available.

Verify: Test the HTTP endpoint
CD-ROM game won't load

Verify CUE file references correct BIN paths. Try converting to CHD format.

Verify: Check CUE file contents match actual BIN filenames
SuperGrafx ROM crashes

Only a handful of SuperGrafx games exist. Verify the ROM is actually an SGX title, not a regular PCE ROM.

Verify: Check ROM header

Alternatives

Geargrafx vs others

AlternativeWhen to use it insteadTradeoff
GearboyYou want to debug Game Boy ROMs instead of PC EngineDifferent console, same MCP-enabled emulator approach

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills