MCP GameBoy Server
Allows Large Language Models to interact with a GameBoy emulator via the serverboy MCP server.
MCP GameBoy Server
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
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
- Click Add Server
- Copy & Paste Github URL into FLUJO
- 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:
-
Open your Cline settings:
- In VS Code, go to File -> Preferences -> Settings
- Search for "Cline MCP Settings"
- Click "Edit in settings.json"
-
Add the server configuration to the
mcpServersobject:{ "mcpServers": { "mcp-gameboy": { "command": "node", "args": [ "/path/to/mcp-gameboy/dist/index.js" ], "disabled": false, "autoApprove": [] } } } -
Replace
/path/to/mcp-gameboy/dist/index.jswith the actual path to theindex.jsfile in your project directory. Use forward slashes (/) or double backslashes (\\) for the path on Windows. -
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 GameBoypress_down: Press the DOWN button on the GameBoypress_left: Press the LEFT button on the GameBoypress_right: Press the RIGHT button on the GameBoypress_a: Press the A button on the GameBoypress_b: Press the B button on the GameBoypress_start: Press the START button on the GameBoypress_select: Press the SELECT button on the GameBoyload_rom: Load a GameBoy ROM fileget_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:
McpServerfrom@modelcontextprotocol/sdk/server/mcp.jsfor the server implementationStdioServerTransportfrom@modelcontextprotocol/sdk/server/stdio.jsfor stdio transportSSEServerTransportfrom@modelcontextprotocol/sdk/server/sse.jsfor SSE transportserverboyfor the GameBoy emulationexpressfor the web server in SSE modecanvasfor rendering the GameBoy screen
License
MIT
เซิร์ฟเวอร์ที่เกี่ยวข้อง
Rhombus MCP Server
An MCP server for the Rhombus API, offering advanced security and surveillance features.
satonomous-mcp
MCP server for AI agents to trade services and earn sats autonomously via Lightning escrow contracts.
NexVigilant Station
Pharmacovigilance intelligence — 165 tools for drug safety data (FDA FAERS, EudraVigilance, WHO, PubMed, ClinicalTrials.gov), signal detection (PRR/ROR/IC/EBGM), causality assessment, and guided research courses. Open, no auth required.
SEOMCP
AI-native SEO service via MCP — gives Claude native access to keyword research, rank tracking, site audits, backlink analysis, and autonomous SEO agent workflows.
Hyteria MCP
A server for looking up the daily menu at the Hyteria (B1) restaurant.
PRH Finnish Company Registry MCP Server
MCP server for PRH (Finnish Patent and Registration Office). Free public API — look up any Finnish company by name, business ID, location, or industry. No auth required.
Spotify
Connects your Spotify account to AI tools, allowing access to your music library, playlists, and playback controls.
healsens-fhirmcp
Open-source, conformance-aware MCP server for FHIR R4 and R5.
Emailens Mcp
MCP server for email compatibility analysis. Analyze, preview, diff, and fix HTML emails across 15 email clients — plus capture real screenshots and create shareable links with an optional API key.
LinkedIn Ads MCP
Connect LinkedIn Ads to Claude or ChatGPT via Two Minute Reports MCP to get clear insights into campaign performance, impressions, CTR, CPC, leads, and conversions.