MCP server for Pixel Art Studio — create, edit, and export pixel art via AI
23 tools with complete input schemas and descriptions. Naming follows verb_noun convention well (create_project, set_pixel, draw_line). Descriptions are present but brief (avg ~60 chars, below 194-char baseline). Parameter descriptions exist but lack detail on constraints, formats, and when to use each tool. No output schemas documented. Error handling and recovery guidance absent. Missing parameter descriptions for several tools (e.g., draw_line lacks color param descriptions). No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk classifications in metadata.
Add a new empty frame
Add a new empty layer to the active frame
Add a color to the palette
Clear all pixels on the active layer (make transparent)
Create a new blank pixel art project
Draw a circle centered at (cx, cy) with given radius
Draw a line from (x0,y0) to (x1,y1) using Bresenham algorithm
No output schemas documented. LLMs cannot plan downstream calls or extract returned data without knowing response structure (e.g., what fields does get_project_info return? What is the format of export_png base64 output?).
Parameter descriptions are minimal or missing detail. Color parameters (r, g, b, a) in draw_line, draw_rect, draw_circle, flood_fill, set_pixel lack descriptions explaining the 0-255 range or alpha channel semantics. Coordinate parameters (x, y, x0, y0, etc.) lack bounds checking guidance.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk classifications in metadata. Tools marked DESTRUCTIVE (clear_layer, remove_layer, remove_frame) should declare this in schema to guide agent behavior and prevent accidental data loss.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
Draw a rectangle at (x, y) with given width and height
Duplicate the active frame
Export current frame as a PNG image (returns base64)
Export all frames as a sprite sheet PNG with JSON metadata
Flood fill from (x, y) replacing the target color with the fill color
Get the current color palette
Get the color of a pixel at (x, y) on the active layer
Get current project info: dimensions, frames, layers, palette size
Import an image (base64) and convert it to pixel art with color quantization
Remove a frame
Remove a layer from the active frame
Set the active frame by index
Set the active layer by index
Set layer opacity (0.0 to 1.0)
Show or hide a layer
Set a single pixel color at (x, y) on the active layer
No error handling or recovery guidance. Tools lack descriptions of failure modes, validation rules, or what the LLM should do if a call fails (e.g., 'coordinate out of bounds', 'layer index invalid', 'palette full').
Tool descriptions are too brief (avg ~60 chars vs 194-char baseline). Many lack context on WHEN to use the tool vs similar ones (e.g., difference between draw_rect and draw_circle, or when to use flood_fill vs set_pixel). LLMs struggle to select the right tool without clear differentiation.