Back to Browse

Pyxel MCP Server

by Kitao
Developer ToolsUse Caution4.8MCP RegistryLocal
Free

Server data from the Official MCP Registry

MCP server for Pyxel, a retro game engine for Python

About

MCP server for Pyxel, a retro game engine for Python

Security Report

4.8
Use Caution4.8High Risk

This MCP server provides a well-architected tool for observing Pyxel game engine programs through headless execution. The code demonstrates strong input validation, comprehensive error handling, and appropriate use of subprocess isolation for untrusted scripts. Permissions (file I/O, subprocess execution, environment variables) align well with the stated purpose of running local Python game scripts. Minor code quality observations exist around broad exception handling and logging practices, but these do not introduce security vulnerabilities. Supply chain analysis found 10 known vulnerabilities in dependencies (1 critical, 6 high severity). Package verification found 1 issue.

4 files analyzed · 15 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

File System Write

Writes or modifies files on your machine. Check that this is expected for the tool.

process_spawn

Check that this permission is expected for this type of plugin.

env_vars

Check that this permission is expected for this type of plugin.

HTTP Network Access

Connects to external APIs or services over the internet.

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-kitao-pyxel-mcp": {
      "args": [
        "pyxel-mcp"
      ],
      "command": "uvx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

pyxel-mcp

An MCP server for observing programs built with Pyxel. It runs trusted local scripts headlessly and returns structured state, pixels, assets, audio, and frame differences.

PyPI Python Tests License MCP Registry

The server deliberately reports facts rather than a universal quality score. The agent using it chooses the checks that matter for the game.

Install

With Claude Code:

claude mcp add pyxel -- uvx pyxel-mcp

For another MCP client, run uvx pyxel-mcp install or add:

   {
     "mcpServers": {
       "pyxel": {
         "command": "uvx",
         "args": ["pyxel-mcp"]
       }
     }
   }

Restart the client after changing its configuration. The server writes this diagnostic to stderr:

[pyxel-mcp] starting - 8 tools

Python 3.11+ is required, and Pyxel >= 2.9.6 is installed as a dependency. Script tools execute local Python in subprocesses to isolate Pyxel state, but they do not sandbox untrusted code. See SECURITY.md.

Tools

Every script argument is a file path, not Python source.

ToolReturns
validateSyntax errors and recognizable Pyxel code patterns.
runHeadless frames, scheduled input, logs, and state, screen_image, screen_grid, or video snapshots.
pyxel_infoInstalled versions, paths, examples, and resource URIs.
read_palettePalette colors and image-bank indices in use.
read_imageImage-bank pixels and an optional PNG render.
read_tilemapTile coordinates, source bank, usage counts, bounds, and an optional render.
read_audioA rendered sound or music WAV plus measurable audio data.
diff_framesPixel differences between two PNG files.

All tools declare input and output schemas. Every result includes ok and errors.

Example

Capture state and the screen when a condition first becomes true:

{
  "script": "/absolute/path/game.py",
  "frames": 600,
  "until": "score >= 1",
  "snapshots": [
    {"kind": "state", "frame": "end", "attrs": ["score", "player.x"]},
    {"kind": "screen_image", "frame": "end", "output": "/tmp/goal.png"}
  ]
}

Use absolute artifact paths. Read log even when ok is true, and inspect captured images directly when appearance matters.

Resources

  • pyxel://run-snapshots-schema — complete run.snapshots grammar.
  • pyxel://validation-patterns — categories reported by validate.
  • pyxel://palette/default — default palette table.
  • pyxel://examples/{name} — source for an example bundled with the installed Pyxel package; discover names with pyxel_info.

Full game-building guidance lives in the separate pyxel-skill project; this package contains only the MCP server.

Update

uvx caches packages. Force a refresh with:

uvx --refresh-package pyxel-mcp pyxel-mcp install

Troubleshooting

  • If tools do not appear, look for the starting - 8 tools diagnostic and restart the client.
  • If run fails, inspect errors, exit_status, and log.
  • If a validation category is unfamiliar, read pyxel://validation-patterns.

MCP Registry

mcp-name: io.github.kitao/pyxel-mcp

License

MIT — see LICENSE.

Reviews

No reviews yet

Be the first to review this server!

Pyxel MCP Server - MCP server for Pyxel, a retro game engine for Python | MCP Marketplace