The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Ssyubix Pixelart MCP listing page.
MCP server (Python) for drawing pixel art and assembling 2D game tilesets.
Built with MCP Python SDK v1.x
(stable), stdio transport, designed to be used alongside
unity-mcp-server in a single agent session.
From PyPI:
Or from source:
Add to claude_desktop_config.json (Claude Desktop) or via
claude mcp add (Claude Code):
Drawing
pixelart_create_canvas, pixelart_import_canvas, pixelart_set_pixel, pixelart_draw_line, pixelart_draw_rect, pixelart_draw_circle, pixelart_draw_polygon, pixelart_flood_fillCanvas Management
pixelart_clear_canvas, pixelart_flip_canvas, pixelart_duplicate_canvas, pixelart_get_canvas_info, pixelart_get_canvas_preview, pixelart_delete_canvas, pixelart_list_canvasesColor Palette
pixelart_generate_palette, pixelart_extract_paletteSize Suggestion
pixelart_suggest_tile_size, pixelart_suggest_tilemap_layoutTileset
pixelart_create_tileset, pixelart_set_tile, pixelart_export_tileset, pixelart_delete_tileset, pixelart_list_tilesetsThese are easy to conflate and doing so produces broken/tiny output — a real bug that happened in production: an agent asked for a "tilemap" got back a single 32x32 canvas (that's a tile size) and shipped it as the whole map, which looked broken when used at real scale.
pixelart_create_canvas.pixelart_create_tileset + pixelart_set_tile + pixelart_export_tileset.For a single asset/tile:
pixelart_suggest_tile_size (optional) — ask for ideal tile size based on object category or screen resolution.pixelart_generate_palette — create color palette according to style/mood.pixelart_create_canvas → pixelart_set_pixel / draw_line / draw_rect / draw_circle / flood_fill — draw a single tile.pixelart_get_canvas_preview — view the result (upscaled PNG) before proceeding.For a tileset or a full tilemap/level:
5. pixelart_suggest_tilemap_layout — get the grid (columns/rows) and total pixel
size needed, from either an explicit tile count or a target screen/level size.
6. pixelart_create_tileset with that grid → pixelart_set_tile for every slot → pixelart_export_tileset.
7. The result of export_tileset is PNG + JSON metadata (tile size, grid, PPU) —
the agent can then call unity-mcp-server tools to slice/import into a Unity project.
unity-mcp-server is Not Availablepixelart_mcp is not technically dependent on unity-mcp-server —
all tools above work fully without it. The difference is only in the final step:
without unity-mcp-server, the result of pixelart_export_tileset (PNG +
JSON metadata) must be imported manually into Unity Editor. Here are the steps
(based on official Unity Manual), to guide an AI when helping a non-technical user:
Assets folder (or a subfolder like
Assets/Sprites) within your Unity project.Sprite (2D and UI)Multiple (because it contains many tiles in one sheet)ppu value from the JSON metadata filePoint (no filter) — to keep pixel art sharp, not blurredNone — to prevent color corruptiontile_width x tile_height from the JSON metadata.All required values (tile_width, tile_height, ppu) are automatically
available in the .json file generated by pixelart_export_tileset
— the AI does not need to calculate them, just read them and guide the user
through the steps above.
Read AGENTS.md first — it contains the architecture map, mandatory conventions,
checklist for adding new tools, and the workflow for handling user feedback/feature requests.
Apache License 2.0 — see LICENSE and NOTICE files.
See PUBLISHING.md for complete guide (exact commands, requires personal
credentials — PyPI token & GitHub OAuth login).
This server is built on top of v1.x MCP Python SDK (stable, recommended for production). SDK v2 is still pre-release as of July 2026 — not used here per policy of "only stable/current official references".