这是一个 MCP(模型上下文协议)服务器,它能让大语言模型(LLMs)通过 PyBoy 模拟器与 Game Boy 游戏进行交互。
# 基本用法
uv run mcp-pyboy
# 带选项(即将推出)
uv run mcp-pyboy --roms-dir ./roms --log-level DEBUG
mcp-pyboy/
├── src/mcp_server/ # 主包
│ ├── mcp_server/ # MCP 协议实现
│ ├── game_session/ # PyBoy 模拟器包装器
│ ├── notebook/ # 知识持久化
│ ├── handlers/ # MCP 工具实现
│ └── utils/ # 共享工具
├── tests/ # 测试套件
├── docs/ # 架构文档
├── roms/ # ROM 文件目录
├── saves/ # 存档目录
├── notebooks/ # 游戏知识存储
本服务器为大语言模型(LLMs)提供了以下能力:
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# 或者使用 pip
pip install uv
git clone https://github.com/yourusername/mcp-pyboy.git
cd mcp-pyboy
# 安装所有依赖项(自动创建 .venv)
uv sync
# 安装开发依赖项
uv sync --extra dev
# 检查 CLI 是否可用
uv run mcp-pyboy
# 运行测试(实现后)
uv run pytest
本项目使用了现代 Python 开发工具:
# 格式化代码
uv run black src/ tests/
# 运行代码检查
uv run ruff check src/ tests/
# 类型检查
uv run mypy src/
# 运行测试
uv run pytest tests/ -v
# 安装新依赖项
uv add
# 安装开发依赖项
uv add --dev
本项目包含了 VS Code 的配置,以实现最佳开发体验:
.vscode/settings.json - 集成了 Black/Ruff 的工作区设置.vscode/extensions.json - 推荐的扩展该配置确保:
# 基本用法
uv run mcp-pyboy
# 带选项(即将推出)
uv run mcp-pyboy --roms-dir ./roms --log-level DEBUG
服务器完全实现后,将提供以下工具:
load_rom - 加载 Game Boy ROM 文件reset_game - 重置当前游戏set_emulation_speed - 控制游戏速度press_button - 按下 Game Boy 按钮hold_button - 按住按钮release_button - 释放按住的按钮send_input_sequence - 执行输入序列capture_screen - 获取当前游戏画面save_state - 保存当前游戏状态load_state - 加载保存的状态list_states - 列出可用的存档状态create_note - 创建关于游戏的笔记update_note - 更新现有笔记search_notes - 搜索游戏知识list_notes - 列出当前游戏的所有笔记有关详细的架构文档,请参阅:
[待添加许可证信息]