Skip to main content
Glama
sprite-agent-mcp

sprite-agent-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
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
sprite_quickstartA

Call this FIRST. Returns the exact Arena.ai Agent workflow, tool order, the golden rules of pixel art and a ready-to-use example. No source reading needed.

sprite_policyA

Returns the binding policy: agents MUST only call MCP tools and MUST NOT modify repository code. Also reports source-integrity status. Read this before doing anything else.

sprite_verify_integrityA

SHA-256 check of every tracked source/config file against integrity/manifest.json. Use it to prove no agent edited the code. If clean=false, STOP and ask the human to restore.

sprite_list_palettesA

List all built-in curated pixel-art palettes with roles and hex colors. Use the name with sprite_new_project or sprite_palette.

sprite_paletteC

Inspect the active palette, switch to a built-in one, or install a custom palette. Also lists all semantic color roles for the current project.

sprite_new_projectA

Create an indexed pixel-art project: canvas size, palette, frames and layers. Always call this first. Classic sizes: 16×16 icons, 32×32 characters, 64×64 bosses.

sprite_list_projectsA

List all projects currently held in the server session (shared across stdio and HTTP connections).

sprite_project_infoC

Inspect the whole project state: size, palette, roles, frames, durations, layers and tags.

sprite_select_projectA

Make a project the active one, so later calls can omit the project argument.

sprite_delete_projectA

Remove a project from the in-memory session (does not delete exported files).

sprite_layerB

Add / remove / rename / show / hide / lock layers, or set layer opacity (opacity uses ordered dithering, never new colors). Layers exist per frame.

sprite_draw_gridA

THE PRIMARY DRAWING TOOL for LLMs. Write the sprite as text rows; each character maps to a color via legend. "." / space = transparent. Use "---" on its own line between grids to create several animation frames in one call. Example: grid:"..ooo..\n.osssso.\n..ooo..", legend:{o:"outline",s:"skin"}. If legend is omitted, characters are auto-mapped to palette roles (outline, shadow, base, light, highlight, accent...).

sprite_draw_opsB

Vector-ish pixel ops, all snapped to integer pixels. Ops: clear, pixel(s), rect, line, circle/ellipse, polygon, fill (flood), dither, gradient, noise, scatter, replace, outline, shade, mirror, shift, text (3×5 font), crop. Example ops:[{op:"rect",x:4,y:4,w:8,h:8,color:"base"},{op:"shade",light:"nw"},{op:"outline",color:"outline",mode:"selective"}]. The "shade" op adds hue-shifted light/shadow; "outline" adds a real silhouette outline.

sprite_generateA

One-call, seeded, hand-designed pixel-art recipes. Kinds: hero, slime, potion, gem, chest, sword, shield, tree, mushroom, ghost, coin, star, torch, planet, cloud, heart, portrait, tile_grass, tile_stone, tile_brick, tile_water, tile_lava. Animated kinds (slime/ghost/coin/star/torch/tile_water/tile_lava) create a full looping timeline automatically. Call sprite_catalog for the full list.

sprite_catalogA

List every generator, animation preset, palette, built-in font character and available export format. Use it to discover capabilities instead of reading source files.

sprite_frameC

add / duplicate / delete / rename / select / set_duration / tag / reorder frames. Index is 0-based.

sprite_animateB

Build a full animation timeline from the active frame. Presets: idle_bob, walk_cycle, blink, pulse, squash_stretch, spin, shake, wave, flicker, explode, jump, glow, hue_cycle, float. Integer/nearest-neighbour only — never blurred. Example: {preset:"idle_bob", frames:6, durationMs:120, amplitude:1}.

sprite_tweenC

Create intermediate frames between two keyframes using ordered-dither cross dissolve (pixel-art correct, no alpha blur). Example: {from:0,to:2,steps:3}.

sprite_timingC

Set a constant fps (10–12 fps is the pixel-art sweet spot), a constant duration, or per-frame durations. Example: {fps:10}.

sprite_loopC

pingpong (seamless back-and-forth), reverse, hold (freeze each frame N times) or deduplicate (remove identical frames). Example: {mode:'pingpong'}.

sprite_enhanceC

One-click pro polish: despeckle jaggies, enforce palette economy, add a selective dark outline, apply hue-shifted light/shadow (cool shadows, warm highlights), fix symmetry and center the silhouette. Example: {outline:true, shade:true, despeckle:true, limitColors:16}.

sprite_critiqueA

Scores color economy, silhouette, outline, shading and animation (0–100, grade S–D) and returns concrete next tool calls. Use it before exporting.

sprite_inspectA

Return the frame as an ASCII grid + legend + color histogram. Perfect for text-only reasoning and for iterating on a specific frame without vision.

sprite_previewA

Render the sprite as an INLINE PNG image content block so you (the agent) can actually SEE the art. Use 'all' to get a contact sheet of the whole animation. Returns a text summary too.

sprite_exportA

Write real files (never source files). formats: png (per frame), gif, apng (lossless animated PNG), svg (animated), spritesheet (PNG + atlas JSON), gpl, css, json (project), gallery. Example: {formats:["png","gif","spritesheet","apng"], scale:8, atlas:"aseprite"}. Returns absolute paths and an inline preview.

sprite_galleryB

Write a fully self-contained HTML animation player (inline base64 PNGs, playback controls, onion skin, zoom, palette swatches, frame tags). Works offline and in a sandboxed preview.

sprite_save_projectA

Serialize the full project (palette, layers, all frames, durations) to a .spriteproj.json inside the output root. Load it later with sprite_load_project.

sprite_load_projectB

Load a .spriteproj.json exported by sprite_save_project. Path is relative to the output root, or an absolute path to a project JSON file. Reading is safe; writing is still guarded.

Prompts

Interactive templates invoked by user choice

NameDescription
new_spriteRecipe prompt: create a polished pixel-art sprite of a subject. Use as a slash-command in Arena.ai Agent Mode.
walk_cycleBuild a 6-frame looping walk cycle and export a sprite sheet.
tilesetGenerate a seamless animated tileset and its atlas.
critique_loopIteratively improve the active project until grade A or better.
arena_safetyReminder prompt that pins the read-only repository policy for the whole session.

Resources

Contextual data attached and managed by the client

NameDescription
policyMCP-only, no source edits. Read this first.
pixel-art-guideColor economy, hue-shifted shading, selective outline, silhouette rules.
animation-guideTiming, loop shaping and animation recipes.
tools-guideAll MCP tool names and the recommended call order.
catalogPalettes, generators, animation presets and tool names as JSON.
stateCurrent projects and integrity status.

TDQS

B3.2/5.0

Scored across 28 tools

Disambiguation3/5

Most tools have a clear resource+action target, but several clusters overlap: sprite_quickstart and sprite_policy both claim priority ('Call this FIRST' vs 'Read this before doing anything else'), sprite_preview / sprite_inspect / sprite_critique / sprite_gallery all cover 'look at the art', and sprite_loop / sprite_animate / sprite_tween / sprite_timing all manipulate the timeline. sprite_enhance also duplicates outline/shade operations that sprite_draw_ops exposes directly. Descriptions are detailed enough to resolve most cases, but the boundaries require reading rather than being self-evident from names.

Naming Consistency4/5

Nearly every tool follows the sprite_<verb>_<noun> or sprite_<verb> convention in consistent snake_case, e.g. sprite_new_project, sprite_load_project, sprite_list_projects, sprite_draw_grid. Minor deviations are noun-only multi-action tools (sprite_palette, sprite_layer, sprite_frame, sprite_timing) that bundle several verbs into one name, but the prefix scheme remains predictable throughout.

Tool Count2/5

At 28 tools the surface is heavy for essentially one asset domain, and several tools are near-duplicates that could be merged (sprite_list_palettes into sprite_palette, sprite_timing/sprite_loop into a frame-timing op, sprite_gallery into sprite_export). The discovery trio sprite_quickstart / sprite_policy / sprite_catalog plus sprite_verify_integrity further inflates the count beyond what the creative workflow needs.

Completeness4/5

Coverage is genuinely broad: project lifecycle (new/list/info/select/delete/save/load), drawing (grid and vector ops), frame and animation control, palettes, critique/inspect/preview, and many export formats. The main gaps are no undo/redo or history tool and no canvas resize/import operation, both of which an agent doing iterative pixel art would reasonably expect.

Maintenance

ActivityNo data
ResponsivenessSyncing