这是一个用于 serverboy 的模型上下文协议(MCP)服务器,允许大型语言模型(LLMs)与 GameBoy 模拟器进行交互。 你的 LLM 可以...
你可以...
要通过 Smithery 自动安装 GameBoy 模拟器服务器到 Claude Desktop:
npx -y @smithery/cli install @mario-andreschak/mcp-gameboy --client claude
# 克隆仓库
git clone https://github.com/yourusername/mcp-gameboy.git
cd mcp-gameboy
# 安装依赖
npm install
# 构建项目
npm run build
!! 注意:许多 MCP 客户端需要在 .env 变量中指定 ROM 路径为一个绝对路径
要通过配置文件将此 MCP 服务器集成到 Cline 或其他 MCP 客户端中:
打开你的 Cline 设置:
向 mcpServers 对象添加服务器配置:
{
"mcpServers": {
"mcp-gameboy": {
"command": "node",
"args": [
"/path/to/mcp-gameboy/dist/index.js"
],
"disabled": false,
"autoApprove": []
}
}
}
将 /path/to/mcp-gameboy/dist/index.js 替换为你项目目录中 index.js 文件的实际路径。在 Windows 上使用正斜杠 (/) 或双反斜杠 (\) 表示路径。
保存设置文件。Cline 应该会自动连接到服务器。
!! 注意:许多 MCP 客户端需要在 .env 变量中指定 ROM 路径为一个绝对路径
在根目录创建一个 .env 文件,并包含以下变量:
# 服务器配置
PORT=3001
# stdio 模式下的 ROM 路径
ROM_PATH=./roms/dangan.gb
在 stdio 模式下,服务器使用 ROM_PATH 环境变量中指定的 ROM 路径。它将在浏览器窗口中显示 GameBoy 屏幕。
npm run start
在 SSE 模式下,服务器启动一个 Express 服务器,提供一个用于选择 ROM 的网页。
npm run start-sse
然后打开浏览器访问 http://localhost:3001 来选择 ROM。
服务器提供了以下工具:
press_up:按 GameBoy 的上键press_down:按 GameBoy 的下键press_left:按 GameBoy 的左键press_right:按 GameBoy 的右键press_a:按 GameBoy 的 A 键press_b:按 GameBoy 的 B 键press_start:按 GameBoy 的开始键press_select:按 GameBoy 的选择键load_rom:加载 GameBoy ROM 文件get_screen:获取当前 GameBoy 屏幕所有工具都返回带有最新屏幕帧的 ImageContent。
此服务器使用 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 用于 GameBoy 模拟express 用于 SSE 模式下的 Web 服务器canvas 用于渲染 GameBoy 屏幕MIT