Skip to main content
Glama

Server Details

Generate pixel-art sprites, animations and 16-tile Wang tilesets on a fixed pixel grid with your SpriteForge account (sign-in with OAuth, paid credits), save them to your library and open them in the editor.

Ownership verified
Status
Healthy
Uptime
100.0% over the last 24 hours
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A3.6/5.0

Scored across 18 tools

Disambiguation3/5

Core operations (list/get/create/update_project, generate vs quote_generation, get_job, list_sprites vs get_sprite_from_library) are clearly separated, but the editor family overlaps: open_full_editor and open_sprite_in_editor both open library sprites in a pixel editor, and load_art/save_art are card-only helpers whose boundary with save_to_library is only clear after careful reading. Several descriptions are very long, which helps the reader but signals the overlap is real.

Naming Consistency4/5

Almost all names are snake_case verb_noun (create_project, list_sprites, get_sprite_from_library, upload_sprite, quote_generation), which is predictable. Minor deviations: bare verb 'generate' and the legacy-sounding 'load_art'/'save_art' pair alongside 'save_to_library' break the strict pattern slightly.

Tool Count4/5

18 tools for a product spanning projects, generation, job polling, a library and three editor surfaces is on the heavy side of reasonable. Nearly every tool maps to a real distinct capability, though the card-only load_art/save_art pair feels like surface-area an agent rarely needs.

Completeness3/5

The lifecycle is well covered on the read/create/save side (project CRUD minus delete, generation quoting and polling, library listing/viewing, editor sessions and saving), but there are no delete operations for projects or sprites and no tool to inspect or restore the version history the descriptions repeatedly mention. Those gaps will leave users stuck on cleanup and rollback tasks.

Available Tools

18 tools
create_projectCreate a SpriteForge projectAInspect

Create a new SpriteForge project with optional style settings. Only name is needed; the rest can be set later with update_project.

Inputs: name (required), light, style, outline, +2 more.

generateGenerate pixel art with SpriteForgeA
Destructive
Inspect

Start an AI generation that spends the user's SpriteForge credits; the result is saved into their library. Unless the user has said to go ahead without asking, quote_generation first and get their OK on the price. max_cents is required: the job is refused if its price is higher (use the quoted price, or the user's budget). Returns a job_id - call get_job with it to wait for the result (most sprites take 20 s to a few minutes). Pass a request_id to make retries safe: the same request_id never starts or charges a second job.

Inputs: tier (required), type (required), max_cents (required), cols, +34 more.

get_accountGet SpriteForge accountA
Read-only
Inspect

The signed-in user's SpriteForge credit balance and library storage. Credits pay for AI generation; hand-editing is free. Read-only.

Inputs: no named parameters.

get_generation_optionsGet SpriteForge generation optionsA
Read-only
Inspect

Everything needed to plan an AI generation: the quality tiers (model x effort) with their price per call and typical seconds at 16/32/64px and what each is good at, the nine generation types and their limits, and the user's credit balance. Call it before choosing a tier for the user. Read-only.

Inputs: no named parameters.

get_jobCheck a SpriteForge generationA
Idempotent
Inspect

Status of a generation started with generate. Waits up to wait_seconds (default 25) for it to finish, so call it again while it's still running. When it's done the result is saved into the user's library and this returns a preview, the new asset_id(s) and download links (png_url per sprite; sheet_url for animations and tilesets). A failed generation is refunded automatically.

Inputs: job_id (required), wait_seconds.

get_projectGet a SpriteForge projectB
Read-only
Inspect

One project's settings (name, style, description, light, outline, palette) and its sprites. Read-only.

Inputs: project_id (required).

get_sprite_from_libraryGet a library spriteA
Read-only
Inspect

Show one sprite from the user's SpriteForge library: a preview image, its size and palette, and download links - png_url (one frame at 1x with real transparency; add &frame=N for frame N, &scale=N to enlarge) and, for animations and tilesets, sheet_url (every frame in one PNG; it already ends in &cols=N, so replace that number to change the columns). The links work without sign-in for 24 hours: in a shell, curl -sSf -o name.png '<url>' saves the file; otherwise give the user the link. Set include_pixels for the palette-index grid. Read-only.

Inputs: asset_id (required), include_pixels.

list_projectsList SpriteForge projectsA
Read-only
Inspect

The user's SpriteForge projects with their style settings and sprite counts, most recently changed first. Read-only.

Inputs: no named parameters.

list_spritesList sprites in a projectA
Read-only
Inspect

The sprites in one project (names, ids, sizes, frame counts), most recently changed first. Read-only.

Inputs: project_id (required).

load_artLoad an edit session into the editor cardB
Read-only
Inspect

Loads an edit session's sprite into the SpriteForge editor card. Only the card calls it.

Inputs: session_id (required).

open_full_editorOpen the full SpriteForge editorAInspect

Opens a sprite in SpriteForge's full pixel editor - layers, selection and move, line/rectangle/ellipse, mirror painting, brush sizes, animation frames with onion skin and playback, palette tools - as an interactive card where the app shows them, and returns an edit link that opens the same editor in a browser. One source at most: session_id (an edit session that's already open, or an edit link), asset_id (a sprite in the user's SpriteForge library), png_base64 (an existing PNG), art (palette + index grid), or none for a blank width x height canvas. Max 128x128 pixels and 256 colours. The user's edits save to the edit session.

Inputs: art, name, width, height, +4 more.

open_sprite_in_editorOpen a library sprite in the editorAInspect

Open a sprite from the user's SpriteForge library in the pixel editor for hand-editing (inline where the app shows interactive cards, otherwise via the returned edit link). Edits save to the edit session, not straight to the library: when the user is done, call save_to_library with the session_id to update the library copy (its previous version is kept in the sprite's history).

Inputs: asset_id (required).

open_tileset_editorOpen the SpriteForge tileset editorAInspect

Opens a tileset in SpriteForge's tileset editor as an interactive card where the app shows them, and returns an edit link that opens the same editor in a browser. For a Wang autotile set (16 tiles; tile i is drawn where the map cells at its corners are painted, NW=1 NE=2 SW=4 SE=8, so tile 15 is the solid base; sets SpriteForge derives add 4 variants of tile 15 as tiles 16-19, mixed into painted floors) the user paints a small map to see the tiles chain, draws on the map or on single tiles, and edits the base texture, which re-derives the edge tiles (tiles drawn by hand stay); a platformer set (49 tiles) is edited tile by tile. With session_id it opens a tileset that's already in an edit session, and kind (wang = flat floor terrain, wall, iso) switches that Wang set's preview, keeping its tiles and the user's edits. Otherwise it makes a new set from kind (wang, wall, iso or platformer; default wang) plus palette + tiles (16 or 20 grids for Wang, 49 for platformer, in mask order), palette + base (a seamless square texture; the Wang tiles are derived from it as SpriteForge does), png_base64 (a tileset sheet or a texture), or size alone for a blank set. With png_base64 and no layout, a 16x1 or 20x1 image is a strip, a 4x5 one a sheet, and a square one is a 4x4 sheet when its tiles look like a Wang set in mask order (tile 0 empty, or nearly every tile's corners matching tile 15 where its mask has that corner and tile 0 where it doesn't), else a texture. The result says which view it opened and how it read the PNG. The user's edits save to the edit session.

Inputs: base, kind, name, size, +5 more.

quote_generationQuote a SpriteForge generationA
Read-only
Inspect

Price an AI generation without starting it: same arguments as generate. Returns the exact price (the amount generate will charge; failed calls are refunded), the balance, whether it's affordable, and the typical time. Show the user the price and wait for their go-ahead before generate, unless they've said to go ahead without asking. Read-only.

Inputs: tier (required), type (required), cols, name, +32 more.

save_artSave the editor card's spriteA
Idempotent
Inspect

Saves the user's edits from the SpriteForge editor card to its edit session. Only the card calls it.

Inputs: art (required), session_id (required).

save_to_librarySave an edit session to the libraryAInspect

Save the sprite from a SpriteForge edit session (from open_editor, open_sprite_in_editor, or an edit link the user pasted) into the user's library. A session opened from a library sprite updates that sprite (its previous version is kept in its history) unless as_new is true; any other session becomes a new sprite in project_id (default: the most recently used project). Saving the same session again updates the sprite it created.

Inputs: session_id (required), name, as_new, project_id.

update_projectUpdate a SpriteForge projectA
DestructiveIdempotent
Inspect

Change a project's name, style, description, light, outline or palette. Only the fields you pass change; each replaces the old value (no history), so confirm wording with the user first.

Inputs: project_id (required), name, light, style, +3 more.

upload_spriteUpload a sprite to the libraryAInspect

Add an image to the user's SpriteForge library as a new sprite. Pass png_base64 (a PNG up to 128x128 and 256 colours; pixels under 50% alpha become transparent) or art (palette + index grid you drafted). For a file on disk in a shell, don't paste base64: upload it with curl to the free editor endpoint (see the edit-sprite skill) and call save_to_library with the returned id.

Inputs: art, name, png_base64, project_id.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Remote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
      16
      9 npm
      1
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.

    Resources