返回 MCP 目录
public公开dns本地运行

GameBoy Emulator

一个基于MCP协议的GameBoy模拟器服务器,允许LLM通过工具控制游戏机操作

article

README

🚀 MCP 游戏男孩服务器

MCP 游戏男孩服务器是一个基于 Model Context Protocol (MCP) 的服务器,专为 serverboy 设计。它能让大语言模型(LLMs)与 GameBoy 模拟器实现交互,为游戏模拟和 AI 应用带来新的可能。

🚀 快速开始

MCP 游戏男孩服务器允许 LLMs 与 GameBoy 模拟器交互,你的 LLM 可以加载 ROM 文件、按下按键、查看游戏男孩屏幕以及跳过帧。你还能使用 @modelcontextprotocol/inspector 或 web 界面(地址为 http://localhost:3001/emulator)控制游戏男孩模拟器并上传 ROM 文件,也可以在你最喜欢的 MCP 客户端中安装游戏男孩模拟器。

截图 2025-04-25 183528

截图 2025-04-25 081510

image

✨ 主要特性

  • 支持 stdio 和 SSE 传输,确保数据传输的多样性和稳定性。
  • 提供丰富的游戏男孩控制工具,包括上、下、左、右、A、B、开始、选择等按键控制。
  • 具备加载不同 ROM 文件的工具,可让你体验多种游戏。
  • 提供获取当前屏幕的工具,方便实时查看游戏画面。
  • 所有工具均返回带有最新屏幕帧的 ImageContent,保证信息的及时性和准确性。

📦 安装指南

通过 Smithery 安装

要自动通过 Smithery 安装游戏男孩模拟器服务器以供 Claude Desktop 使用,可执行以下命令:

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

FLUJO 中安装

  1. 点击“添加服务器”。
  2. 复制并粘贴 GitHub 链接到 FLUJO。
  3. 点击解析、克隆、安装、构建和保存。

手动安装

npm install --save @modelcontextprotocol/sdk serverboy express canvas

💻 使用示例

基础用法

服务器提供了一系列实用工具,以下是部分工具的使用示例:

# 按下游戏男孩的 UP 按键
press_up

# 加载游戏男孩 ROM 文件
load_rom

高级用法

你可以根据具体需求组合使用这些工具,实现更复杂的操作。例如,先加载 ROM 文件,然后按下开始按键启动游戏:

load_rom
press_start

🔧 技术细节

此服务器使用 Model Context Protocol (MCP) TypeScript SDK 构建,具体使用了以下组件:

  • McpServer@modelcontextprotocol/sdk/server/mcp.js 进行服务器实现。
  • StdioServerTransport@modelcontextprotocol/sdk/server/stdio.js 进行 stdio 传输。
  • SSEServerTransport@modelcontextprotocol/sdk/server/sse.js 进行 SSE 传输。
  • serverboy 进行游戏男孩模拟。
  • express 在 SSE 模式下创建网络服务器。
  • canvas 渲染游戏男孩屏幕。

📄 许可证

本项目采用 MIT 许可证。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端