ssyubix-pixelart-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pixelart_create_canvasA | Create a new blank pixel-art canvas (a single tile/sprite surface). Args: params: canvas_id, width, height, background RGBA. Returns: JSON string confirming creation with canvas_id, width, height. |
| pixelart_import_canvasA | Load an existing PNG (or other image) file from disk into a new canvas. Use this to continue editing a sprite that already exists (e.g. a tile already in the user's Unity project) instead of redrawing it from a blank canvas. Args: params: canvas_id (new id to store it under), file_path (local path to the image). Returns: JSON string: {"canvas_id", "width", "height"}. |
| pixelart_set_pixelA | Set a single pixel's color on a canvas. Args: params: canvas_id, x, y, RGBA color. Returns: Confirmation string. |
| pixelart_draw_lineB | Draw a straight line on a canvas between two points. Args: params: canvas_id, x0, y0, x1, y1, color, line_width. Returns: Confirmation string. |
| pixelart_draw_rectC | Draw a rectangle (outline or filled) on a canvas. Args: params: canvas_id, x0, y0, x1, y1, color, fill. Returns: Confirmation string. |
| pixelart_draw_circleA | Draw a circle/ellipse (outline or filled) on a canvas. Args: params: canvas_id, center_x, center_y, radius, color, fill. Returns: Confirmation string. |
| pixelart_flood_fillB | Flood-fill the contiguous region containing (x, y) with a color. Args: params: canvas_id, x, y, color. Returns: Confirmation string. |
| pixelart_draw_polygonA | Draw a polygon (outline or filled) from a list of vertex points. Use this for shapes that draw_rect/draw_circle can't express (roof slopes, tree silhouettes, diagonal terrain edges, etc). Args: params: canvas_id, points (>=3 [x,y] pairs), color, fill. Returns: Confirmation string. |
| pixelart_clear_canvasB | Erase all drawing on a canvas back to a flat background color. Args: params: canvas_id, background RGBA (default fully transparent). Returns: Confirmation string. |
| pixelart_flip_canvasA | Mirror a canvas horizontally or vertically in place. Common for pixel-art symmetry: draw one half of a character/object and flip instead of hand-drawing the mirrored half. Args: params: canvas_id, direction ('horizontal' or 'vertical'). Returns: Confirmation string. |
| pixelart_duplicate_canvasA | Copy an existing canvas into a new canvas id. Useful for repeated/near-identical tiles (grass variants, floor tiles) without redrawing from scratch. Args: params: source_canvas_id, new_canvas_id. Returns: Confirmation string. |
| pixelart_get_canvas_infoA | Get lightweight metadata about a canvas without rendering a preview image. Cheaper than pixelart_get_canvas_preview when the agent only needs to check dimensions or whether anything has been drawn yet. Args: params: canvas_id. Returns: JSON string: {"width", "height", "non_transparent_pixels", "total_pixels"}. |
| pixelart_delete_canvasB | Remove a canvas from memory once it's no longer needed. Args: params: canvas_id. Returns: Confirmation string. |
| pixelart_list_canvasesA | List every canvas currently held in memory for this server session. Use this to recover canvas_id/size context in a long session instead of relying on conversation memory of what was created earlier. Returns: JSON string: {"canvases": [{"canvas_id", "width", "height"}, ...]}. |
| pixelart_get_canvas_previewA | Return the current canvas as an upscaled PNG image for visual inspection. Args:
params: canvas_id, scale (nearest-neighbor upscale factor).
Returns:
Image: PNG preview, upscaled by |
| pixelart_extract_paletteA | Extract the dominant colors currently used on a canvas. Args: params: canvas_id, n_colors. Returns: JSON string: {"colors": ["#rrggbb", ...]}. |
| pixelart_suggest_tile_sizeA | Suggest an ideal size in pixels for ONE tile -- NOT a full tilemap/level image. Uses a 16-pixel-per-unit (PPU) base-grid convention by default. If
IMPORTANT: the result is one tile's size. A playable tilemap/level is a grid of MANY tiles at this size, not a single canvas this size -- call pixelart_suggest_tilemap_layout next to work out the grid, then pixelart_create_tileset to build it. Never export a single tile-sized canvas as if it were the whole tilemap. Args: params: category, screen_width, screen_height (all optional). Returns: JSON string: {"tile_width", "tile_height", "ppu", "reasoning", "note"}. |
| pixelart_suggest_tilemap_layoutA | Work out the grid (columns x rows) and total pixel size for a FULL tilemap. Use this whenever the user wants an actual level/map, not a single tile or asset. Call pixelart_suggest_tile_size first to get tile_width/tile_height, then this tool with either an explicit columns+rows or a target screen/level size in pixels. Build the result with pixelart_create_tileset using the returned columns/rows, filling every slot via pixelart_set_tile -- a tilemap is never a single small canvas. Args: params: tile_width, tile_height, and either (columns, rows) or (screen_width, screen_height). Returns: JSON string: {"tile_width", "tile_height", "columns", "rows", "total_tiles", "total_map_width_px", "total_map_height_px", "reasoning"}. |
| pixelart_generate_paletteA | Generate a limited, cohesive color palette for pixel art. Args: params: n_colors, style (forest/desert/ocean/retro/pastel/night/lava/candy, optional). Returns: JSON string: {"colors": ["#rrggbb", ...]}. |
| pixelart_create_tilesetB | Create a blank tileset sheet (grid of equally-sized tile slots). Args: params: tileset_id, tile_width, tile_height, columns, rows, ppu. Returns: JSON string confirming the grid dimensions. |
| pixelart_set_tileB | Place a drawn canvas into a tileset slot. Args: params: tileset_id, index (row-major slot), canvas_id. Returns: Confirmation string. |
| pixelart_export_tilesetA | Export a tileset to a PNG file plus a JSON metadata sidecar. The metadata (tile size, grid, PPU, filled slots, palette) is meant to be handed to a downstream engine-integration tool (e.g. an agent calling unity-mcp-server) so it can slice/import the sheet without re-deriving those values. Args: params: tileset_id, output_dir, name, palette (optional hex list to record). Returns: JSON string: {"png_path", "json_path", "metadata": {...}}. |
| pixelart_delete_tilesetA | Remove a tileset from memory once it's no longer needed. Args: params: tileset_id. Returns: Confirmation string. |
| pixelart_list_tilesetsA | List every tileset currently held in memory for this server session. Returns: JSON string: {"tilesets": [{"tileset_id", "columns", "rows", "tile_width", "tile_height", "filled_tiles"}, ...]}. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/syuaibsyuaib/ssyubix-pixelart-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server