1. Conduid
  2. AI
  3. Gameboy
MCP server · AI

Gameboy

A gameboy emulator for LLM's

Unclaimed MIT last commit a year ago ai
54Fair

Scored 3 months ago · breakdown

About Gameboy

Gameboy is an MCP server published by mario-andreschak in the AI category: a gameboy emulator for LLM's. It has been installed 0 times through Conduid.

The repository has 21 stars and 9 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.

Install

Install
npx mcp-gameboy

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

Ask AI about Gameboy

Powered by Claude · Grounded in docs

I know everything about Gameboy. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ·README presentNot checked yet.
  • ·License declaredNot checked yet.
  • ·Tests presentNot checked yet.
  • ·Dependencies pinnedNot checked yet.
  • ·No dynamic code executionNot checked yet.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

MCP GameBoy Server

smithery badge

Overview

A Model Context Protocol (MCP) server for serverboy, allowing LLMs to interact with a GameBoy emulator. Your LLM can...

  • Load ROMS
  • Press Keys
  • Look at the Gameboy Screen
  • skip frames

You can...

  • control the gameboy emulator using the @modelcontextprotocol/inspector
  • control the gameboy emulator (and upload ROMs) using a web-interface at http://localhost:3001/emulator
  • install the gameboy emulator in your favorite MCP-Client

Screenshot 2025-04-25 183528

Screenshot 2025-04-25 081510

image

Features

  • Supports both stdio and SSE transports
  • Provides tools for GameBoy controls (up, down, left, right, A, B, start, select)
  • Provides tools to load different ROMs
  • Provides tools to get the current screen
  • All tools return an ImageContent with the latest screen frame

Installation

Installing via Smithery

To install GameBoy Emulator Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @mario-andreschak/mcp-gameboy --client claude

Installing in FLUJO

  1. Click Add Server
  2. Copy & Paste Github URL into FLUJO
  3. Click Parse, Clone, Install, Build and Save.

Manual Installation

# Clone the repository
git clone https://github.com/yourusername/mcp-gameboy.git
cd mcp-gameboy

# Install dependencies
npm install

# Build the project
npm run build

Installing via Configuration Files

!! ATTENTION : Many MCP Clients require to specify the ROM-Path in the .env vars as an absolute path

To integrate this MCP server with Cline or other MCP clients via configuration files:

  1. Open your Cline settings:

    • In VS Code, go to File -> Preferences -> Settings
    • Search for "Cline MCP Settings"
    • Click "Edit in settings.json"
  2. Add the server configuration to the mcpServers object:

    {
      "mcpServers": {
        "mcp-gameboy": {
          "command": "node",
          "args": [
            "/path/to/mcp-gameboy/dist/index.js"
          ],
          "disabled": false,
          "autoApprove": []
        }
      }
    }
    
  3. Replace /path/to/mcp-gameboy/dist/index.js with the actual path to the index.js file in your project directory. Use forward slashes (/) or double backslashes (\\) for the path on Windows.

  4. Save the settings file. Cline should automatically connect to the server.

Usage

Environment Variables

!! ATTENTION : Many MCP Clients require to specify the ROM-Path in the .env vars as an absolute path

Create a .env file in the root directory with the following variables:

# Server configuration
PORT=3001

# ROM path for stdio mode
ROM_PATH=./roms/dangan.gb

Running in stdio Mode

In stdio mode, the server uses the ROM path specified in the ROM_PATH environment variable. It will open a browser window to display the GameBoy screen.

npm run start

Running in SSE Mode

In SSE mode, the server starts an Express server that serves a web page for ROM selection.

npm run start-sse

Then open your browser to http://localhost:3001 to select a ROM.

Tools

The server provides the following tools:

  • press_up: Press the UP button on the GameBoy
  • press_down: Press the DOWN button on the GameBoy
  • press_left: Press the LEFT button on the GameBoy
  • press_right: Press the RIGHT button on the GameBoy
  • press_a: Press the A button on the GameBoy
  • press_b: Press the B button on the GameBoy
  • press_start: Press the START button on the GameBoy
  • press_select: Press the SELECT button on the GameBoy
  • load_rom: Load a GameBoy ROM file
  • get_screen: Get the current GameBoy screen

All tools return an ImageContent with the latest screen frame.

Implementation Details

This server is built using the Model Context Protocol (MCP) TypeScript SDK. It uses:

  • McpServer from @modelcontextprotocol/sdk/server/mcp.js for the server implementation
  • StdioServerTransport from @modelcontextprotocol/sdk/server/stdio.js for stdio transport
  • SSEServerTransport from @modelcontextprotocol/sdk/server/sse.js for SSE transport
  • serverboy for the GameBoy emulation
  • express for the web server in SSE mode
  • canvas for rendering the GameBoy screen

License

MIT

README mirrored from the source repository 3 months ago. The original is authoritative.

Questions

About Gameboy

How do I install Gameboy?

Run npx mcp-gameboy, then add the server to your MCP client's configuration. Conduid has recorded 0 installs, so the command is known to work with current clients.

Is Gameboy safe to use with an AI agent?

Its trust score is 54 out of 100 (fair). It passes 0 of 1 static security checks; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Gameboy still maintained?

The last commit was a year ago, with 0 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.