pypi pyxel-mcpstdioMITupdated 1mo ago
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.
Pyxel MCP で何ができる?
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.
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.
| Tool | Returns |
|---|---|
validate |
Syntax errors and recognizable Pyxel code patterns. |
run |
Headless frames, scheduled input, logs, and state, screen_image, screen_grid, or video snapshots. |
pyxel_info |
Installed versions, paths, examples, and resource URIs. |
read_palette |
Palette colors and image-bank indices in use. |
read_image |
Image-bank pixels and an optional PNG render. |
read_tilemap |
Tile coordinates, source bank, usage counts, bounds, and an optional render. |
read_audio |
A rendered sound or music WAV plus measurable audio data. |
diff_frames |
Pixel 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— completerun.snapshotsgrammar.pyxel://validation-patterns— categories reported byvalidate.pyxel://palette/default— default palette table.pyxel://examples/{name}— source for an example bundled with the installed Pyxel package; discover names withpyxel_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 toolsdiagnostic and restart the client. - If
runfails, inspecterrors,exit_status, andlog. - If a validation category is unfamiliar, read
pyxel://validation-patterns.
MCP Registry
mcp-name: io.github.kitao/pyxel-mcp
License
MIT — see LICENSE.
インストール
Pyxel MCP をクライアントに追加します。お使いのものを選んでください。
claude mcp add pyxel-mcp -- uvx pyxel-mcpcodex mcp add pyxel-mcp -- uvx pyxel-mcpamp mcp add pyxel-mcp -- uvx pyxel-mcp{
"mcpServers": {
"pyxel-mcp": {
"command": "uvx",
"args": [
"pyxel-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"pyxel-mcp": {
"command": "uvx",
"args": [
"pyxel-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"pyxel-mcp","command":"uvx","args":["pyxel-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"pyxel-mcp": {
"command": "uvx",
"args": [
"pyxel-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"pyxel-mcp": {
"command": "uvx",
"args": [
"pyxel-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"pyxel-mcp": {
"command": "uvx",
"args": [
"pyxel-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"pyxel-mcp": {
"type": "local",
"command": "uvx",
"args": [
"pyxel-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"pyxel-mcp": {
"command": {
"path": "uvx",
"args": [
"pyxel-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
uvx pyxel-mcpRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
6 個のツール
Pyxel MCP は接続したエージェントに 6 個のツールを提供します。
- pyxel_info
- Installed versions, paths, examples, and resource URIs.
- read_palette
- Palette colors and image-bank indices in use.
- read_image
- Image-bank pixels and an optional PNG render.
- read_tilemap
- Tile coordinates, source bank, usage counts, bounds, and an optional render.
- read_audio
- A rendered sound or music WAV plus measurable audio data.
- diff_frames
- Pixel differences between two PNG files.
スコア
78 / 100
良好
- ドキュメント22/25
- メンテナンス22/25
- 信頼性13/20
- 機能9/15
- 導入のしやすさ12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 48 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 6 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
バージョン履歴
| バージョン | 公開日 |
|---|---|
| 1.2.0最新 | 2026年7月15日 |
| 1.1.0 | 2026年7月10日 |
| 1.0.0 | 2026年6月23日 |
| 0.9.2 | 2026年3月30日 |
| 0.9.1 | 2026年3月27日 |
| 0.9.0 | 2026年3月25日 |
| 0.8.3 | 2026年3月24日 |
| 0.8.2 | 2026年3月23日 |
| 0.8.1 | 2026年3月23日 |
| 0.7.7 | 2026年3月19日 |
| 0.7.6 | 2026年3月19日 |
| 0.7.5 | 2026年3月17日 |
| 0.7.4 | 2026年3月16日 |
| 0.7.3 | 2026年3月9日 |
| 0.7.2 | 2026年3月8日 |
| 0.7.1 | 2026年3月8日 |
| 0.7.0 | 2026年3月8日 |
| 0.6.0 | 2026年3月8日 |
| 0.5.0 | 2026年3月7日 |
| 0.4.2 | 2026年3月7日 |
| 0.4.1 | 2026年3月6日 |
| 0.4.0 | 2026年3月6日 |
| 0.3.1 | 2026年3月5日 |
| 0.3.0 | 2026年3月5日 |
| 0.2.0 | 2026年3月2日 |
| 0.1.10 | 2026年3月2日 |
| 0.1.8 | 2026年3月1日 |
| 0.1.7 | 2026年3月1日 |
| 0.1.5 | 2026年3月1日 |
| 0.1.4 | 2026年3月1日 |
| 0.1.3 | 2026年3月1日 |
| 0.1.2 | 2026年3月1日 |