Pyxel MCP — MCP-сервер для Claude Code: прогон игр и скриншоты
Гоняет Pyxel-игру без окна, подаёт нажатия по кадрам и возвращает скриншоты, пиксели и состояние игры. Пригодится, когда агент пишет игру, но не видит экран.
claude mcp add pyxel-mcp -- uvx pyxel-mcpЧто делает Pyxel MCP
Сервер запускает скрипт в отдельном подпроцессе с фиктивными драйверами SDL и лимитом кадров. Кнопки, оси и позиция мыши задаются заранее для каждого кадра, так что прогон становится JSON-документом, который можно повторить и дополнить. Поле random_seed задаёт зерно для random в Python и генератора Pyxel; прочая случайность, тайминги и внешнее состояние на кадры всё равно влияют.
Остановка привязана к событию, а не ко времени: условие вроде until="score >= 1" завершает прогон на первом кадре, где атрибут игры выполняется, и снимок "frame": "end" фиксирует этот момент. inline: true отдаёт PNG прямо в ответе как MCP-изображение, поэтому модель смотрит на экран без чтения файла. В наборе восемь инструментов: validate, run, pyxel_info, read_palette, read_image, read_tilemap, read_audio, diff_frames.
Нужен Python 3.11+, Pyxel идёт зависимостью. Скрипт получает путь к файлу, а не исходник на Python; относительные пути к ассетам считаются от каталога скрипта. Подпроцессы изолируют состояние Pyxel, но не песочница: недоверенный код так запускать нельзя. Код после pyxel.run() не выполняется.
Какие задачи решает
- проверить, что игра реагирует на нажатия стрелок
- поймать кадр, на котором меняется счёт
- сравнить два PNG и найти различия по пикселям
- посмотреть палитру и тайлмапу без запуска окна
- получить WAV из звука или музыки Pyxel
Примеры запросов агенту
- Прогони
game.py600 кадров, держи правую стрелку с нулевого кадра и прыгай на 25-м, останови при изменении счёта. - Проверь
game.pyна синтаксис и типичные ошибки Pyxel без запуска. - Покажи кадр 80 из последнего прогона картинкой прямо в ответе.
Как установить Pyxel MCP
Командой платформы
claude mcp add pyxel-mcp -- uvx pyxel-mcpuvx запускает команду с именем пакета; если в README она другая — uvx --from pyxel-mcp <команда>
Командой платформы
codex mcp add pyxel-mcp -- uvx pyxel-mcpuvx запускает команду с именем пакета; если в README она другая — uvx --from pyxel-mcp <команда>
Файл настроек
{
"mcpServers": {
"pyxel-mcp": {
"command": "uvx",
"args": [
"pyxel-mcp"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from pyxel-mcp <команда>
Файл настроек
{
"servers": {
"pyxel-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"pyxel-mcp"
]
}
}
}uvx запускает команду с именем пакета; если в README она другая — uvx --from pyxel-mcp <команда>
Командой платформы
gemini mcp add pyxel-mcp uvx pyxel-mcpuvx запускает команду с именем пакета; если в README она другая — uvx --from pyxel-mcp <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о Pyxel MCP
Как установить Pyxel MCP в Claude Code?
Выполните claude mcp add pyxel-mcp -- uvx pyxel-mcp, затем перезапустите клиент.
Что делает Pyxel MCP?
Запускает Pyxel-скрипт без окна, подаёт запланированный ввод и возвращает наблюдения: скриншоты, пиксельные сетки, состояние игры, ассеты, звук и разницу кадров.
Какие инструменты даёт сервер?
validate, run, pyxel_info, read_palette, read_image, read_tilemap, read_audio и diff_frames. Каждый результат содержит поля ok и errors.