Skip to main content
Glama
syuaibsyuaib

ssyubix-pixelart-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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 scale so small pixel art is visible.

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 category is given (small_prop, character, large_character, structure, large_structure) it takes priority. Otherwise, if a target screen resolution is given, picks a PPU that divides the screen evenly. Falls back to a 16x16 default.

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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