Model Context Protocol

Your 2D game creation toolkit, inside your AI workflow.

Connect an AI agent to Spritulus to have AI agents create games, sprites and other assets, then review, create and refine them together.

VS Code

MCP: Add Server

Claude Code

Native MCP support

Copilot CLI

GitHub Copilot

Get started

Connect in minutes

Add Spritulus as an HTTP MCP server. When your client asks for the server address, use this endpoint:

https://www.spritulus.com/api/mcp

No API key needed. Sign in through the browser and approve access when prompted.

Or use a server config

Most MCP clients accept a configuration like this:

{
  "mcpServers": {
    "spritulus": {
      "type": "http",
      "url": "https://www.spritulus.com/api/mcp"
    }
  }
}

Choose your client

GitHub Copilot CLI

Run /mcp add, or add the config above to ~/.copilot/mcp-config.json.

VS Code

Run MCP: Add Server from the Command Palette, choose HTTP, then enter the endpoint.

Claude Code

Run this command to connect:

claude mcp add --transport http spritulus https://www.spritulus.com/api/mcp

Signing in and permissions

No API key is needed. The first time your client connects, it opens a browser window where you sign in to Spritulus and approve access. Your agent then acts as you: it sees the same content you can see and owns whatever it creates.

spritulus:read

Lets the agent list and read content.

spritulus:write

Also lets it create and update content.

Create and update tools only appear for connections with write access. If your agent can't see them, sign out of the server in your client and connect again to approve write access.

Clients that don't request a scope get read and write access. The approval page always shows which permissions you are granting.

How Spritulus content fits together

  • Templates define a kind of asset (sprite, environment, tileset, or nine-slice), its size, default colors, and animations.
  • Part classes are the slots in a template, such as hair, forearm, background, or foreground. Each has a render position; higher numbers are drawn behind lower ones.
  • Styles group parts within a part class.
  • Parts are the options for a part class. Every part belongs to one style, and an asset uses one part for every part class in its template. Empty parts, usually named "none", hide a slot.
  • Pieces are the reusable SVG building blocks. A piece added to a part appears only in that part; a piece added to a style appears in every part in that style.

Editing a style or a shared piece changes every part that uses it, so agents are told to create a new part or style when only one asset should change.

Tools

Read tools are available with either scope.

Games & scenes

list_gamesList games visible to you.
get_gameGet a game with its scenes, characters, elements, and tilesets.
list_scenesList scenes in a game.
get_sceneGet a scene by ID.
get_game_optionsGet the built-in scene styles, element types, scene action configs, and dialogue styles, optionally limited to one category. Use it to pick valid scene styles and element types.

Sprites & assets

list_spritesList sprites, optionally filtered by template or part.
get_spriteGet a sprite and its parts.
get_default_spriteGet the default sprite for a template, the usual starting point for a new sprite.
list_environments / get_environmentBrowse environments.
get_default_environmentGet the default environment for a template. Environments can be browsed but not created through MCP.
list_tilesets / get_tilesetBrowse tilesets and their parts.
get_default_tilesetGet the default tileset for a template, including its parts.
list_nineslices / get_ninesliceBrowse nine-slices and their parts.
get_default_ninesliceGet the default nine-slice for a template, including its parts.
list_animations / get_animationBrowse animations, including frames and exclusions.

Building blocks

list_templates / get_templateBrowse templates (filter by type with searchType), including their part classes and animations.
list_part_classes / get_part_classBrowse part classes and their styles.
list_styles / get_styleBrowse styles, their parts, and shared pieces.
list_parts / get_partBrowse parts, their pieces, and style.
list_pieces / get_pieceBrowse reusable SVG pieces, including their SVG.

Write tools require the spritulus:write scope. Update tools take an ID and only the fields you want to change.

Create & update

create_game / update_gameCreate a game and its first scene from a scene style, environment, and optional player sprite, tileset, elements, and button nine-slice; or edit game details and the game's dialogue styles.
create_scene / update_sceneAdd a scene to a game, or edit its objective, controls, health, timing, and scene actions (dialogue, menus, and event rules).
create_sprite / update_spriteCreate a sprite from a template with one part per part class, or edit its name, colors, hitboxes, animations, and parts. Results include a thumbnail_url PNG preview.
create_nineslice / update_ninesliceCreate a nine-slice from a template's default parts, then edit its parts, colors, and border sizes.
create_tileset / update_tilesetCreate a tileset from a template's default parts, then edit its parts, colors, and boundaries.
create_template / update_templateCreate or edit a template.
create_animation / update_animationCreate or edit an animation and its frames.
create_part_class / update_part_classCreate or edit a part class. A default style and part are created with a new part class.
create_style / update_styleCreate or edit a style and its shared pieces.
create_part / update_partCreate or edit a part and its part-specific pieces.
create_piece / update_pieceCreate or edit a reusable SVG piece, optionally attaching it to a part or style when created.
MCP Server - Spritulus