
ssyubix-pixelart-mcp
io.github.syuaibsyuaib由 GitHub 账号 syuaibsyuaib 发布v0.1.1更新于 Oct 24, 2026
Draw pixel-art tiles and tilesets for 2D games, with PNG+metadata export for Unity.
概览
让助手绘制 2D 游戏的像素画图块与图块集,并导出带 JSON 元数据的 PNG 供 Unity 使用。
- 可以做什么
- 这是一个本地 Python MCP 服务器,提供 24 个像素绘制与图块集组装工具。它可创建和编辑画布,支持设置像素、直线、矩形、圆形、多边形和填充等基本操作,并管理画布、生成或提取调色板、建议图块尺寸与图块地图布局。图块集工具可创建网格图集、把图块放入槽位,并导出 PNG 与 JSON 元数据(图块尺寸、网格、PPU)以便导入 Unity。
- 适用场景
- 适合让助手制作像素风游戏素材:单个图块、图块集图集或完整图块地图布局。它设计为与 Unity MCP 服务器配合使用,以便自动切割并导入导出的图集;若没有该服务器,则需手动导入 PNG 与 JSON。
- 运行要求
- 以 Python 包形式通过 stdio 在本地运行,可从 PyPI 或源码安装;清单未声明认证、环境变量或请求头。仅限桌面端,不能在网页中执行。导入 Unity 需要 Unity 项目,若要自动切割还需另一个 Unity MCP 服务器。
安装
在 SourceWeft 中
- 打开 控制台中的 ssyubix-pixelart-mcp,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
ssyubix-pixelart-mcp
[GitHub Downloads] [PyPI Downloads] [Python]
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.
Installation
From PyPI:
Or from source:
Running
Connecting to Claude Desktop / Claude Code
Add to claude_desktop_config.json (Claude Desktop) or via
claude mcp add (Claude Code):
Tools List (24)
Drawing
pixelart_create_canvas,pixelart_import_canvas,pixelart_set_pixel,pixelart_draw_line,pixelart_draw_rect,pixelart_draw_circle,pixelart_draw_polygon,pixelart_flood_fill
Canvas Management
pixelart_clear_canvas,pixelart_flip_canvas,pixelart_duplicate_canvas,pixelart_get_canvas_info,pixelart_get_canvas_preview,pixelart_delete_canvas,pixelart_list_canvases
Color Palette
pixelart_generate_palette,pixelart_extract_palette
Size Suggestion
pixelart_suggest_tile_size,pixelart_suggest_tilemap_layout
Tileset
pixelart_create_tileset,pixelart_set_tile,pixelart_export_tileset,pixelart_delete_tileset,pixelart_list_tilesets
Terminology: Tile vs Tileset vs Tilemap
These 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.
- Tile: one small square (e.g. 16x16px) —
pixelart_create_canvas. - Tileset: a sheet of many distinct tiles arranged in a grid (e.g. grass,
path, water tile types) —
pixelart_create_tileset+pixelart_set_tile+pixelart_export_tileset. - Tilemap: a full level/map, composed of many tiles placed across a grid (built the same way as a tileset, but every slot is filled to represent the actual level layout) — never a single tile-sized canvas.
Typical Workflow
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.
Running Tests
Structure
If unity-mcp-server is Not Available
pixelart_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:
- Copy the exported PNG file to the
Assetsfolder (or a subfolder likeAssets/Sprites) within your Unity project. - In the Project window, click on the PNG file. In the Inspector panel:
- Texture Type →
Sprite (2D and UI) - Sprite Mode →
Multiple(because it contains many tiles in one sheet) - Pixels Per Unit → enter the
ppuvalue from the JSON metadata file - Filter Mode →
Point (no filter)— to keep pixel art sharp, not blurred - Compression →
None— to prevent color corruption - Click Apply.
- Texture Type →
- Click the Sprite Editor button in the Inspector to open the Sprite Editor.
- In the Sprite Editor, click the Slice dropdown, select Grid By Cell Size,
then enter the Pixel Size with
tile_widthxtile_heightfrom the JSON metadata. - Click Slice, then click Apply in the Sprite Editor toolbar.
- Done — each tile is now a separate sprite that can be dragged directly into the Scene or used in a Tilemap.
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.
For AI Agents Maintaining/Developing This Project
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.
License
Apache License 2.0 — see LICENSE and NOTICE files.
Publishing to PyPI & MCP Registry
See PUBLISHING.md for complete guide (exact commands, requires personal
credentials — PyPI token & GitHub OAuth login).
SDK Version Notes
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".
来源:README.md,提交 c92482f
工具
0版本历史
1- v0.1.1最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分