pymgba mcp
这是一个基于Python的MCP(模型上下文协议)服务器,用于mGBA Game Boy/GBA模拟器,使用原生Python绑定。它通过其原生Python绑定与mGBA交互,不仅可以截图,还可以控制模拟器、读写内存、添加断点等,用于对GB自制游戏进行vibe编码。
它还以Nix flake的形式发布,将mGBA和Python绑定构建在一起,以实现可移植、易于复制的设置。
特性
- 原生Python绑定:使用mGBA内置的Python API,而不是生成外部进程
- 完全仿真器控制:运行帧、步骤说明、暂停/取消暂停
- 存储器访问:在任何地址读/写内存
- 按钮输入:按住Game Boy按钮
- 截图:随时捕捉屏幕
- 保存状态:保存并加载模拟器状态
- 调试:设置断点、读取CPU寄存器、单步执行代码
- OAM检查:查看角色数据
工具
| 工具 | 说明 |
|---|---|
run_rom | 加载并运行N帧的ROM,返回屏幕截图 |
step_frame | 运行一帧(或N帧) |
press_button | 按下按钮(a、B、开始、选择、D-pad) |
read_memory | 从内存地址读取字节 |
write_memory | 将字节写入内存地址 |
read_memory_range | 读取连续的字节范围 |
take_screenshot | 捕获当前屏幕 |
save_state | 保存模拟器状态 |
load_state | 加载模拟器状态 |
get_registers | 获取CPU寄存器值 |
dump_oam | 转储精灵(OAM)数据 |
reset | 重置模拟器 |
使用您最喜欢的氛围编码工具
安装Nix:https://nixos.org/download.html,并添加到您的MCP设置中:
{
"mcpServers": {
"pymgba": {
"command": "nix",
"args": ["run", "github:zenitraM/pymgba-mcp"],
}
}
}与Nix一起跑步
安装Nix:https://nixos.org/download.html,克隆此仓库:
nix run .或者直接从GitHub:
nix run github:zenitraM/pymgba-mcp