Skip to content
AI Sprite Maker

Docs

MCP server for Claude Code, Cursor, Codex and VS Code

Updated November 6, 2026
On this page
  1. Before you start
  2. Claude Code
  3. Claude Code plugin and skill
  4. Cursor
  5. OpenAI Codex
  6. VS Code (GitHub Copilot agent mode)
  7. Windsurf, Zed and other clients
  8. Tools
  9. Prompts that work well
  10. Troubleshooting
  11. Security notes

AI Sprite Maker runs a remote Model Context Protocol server. Add it to your coding agent and you can ask for art in the same place you write the game: “make a 64 px slime enemy with idle and hurt animations and wire it into Slime.tscn”. The agent calls our tools, waits for the job, downloads the sheet into your repo and writes the import code.

Connection details

Server URL https://aispritemaker.com/mcp · transport: Streamable HTTP · auth header Authorization: Bearer asm_live_… · included with every plan, Free too · uses the same credits as the website.

Before you start

  1. Any plan works, including Free. MCP calls use your normal credit balance and cost the same as the web app (10 credits per direction for a library animation, 2 for a still sprite).
  2. Create an API key at Dashboard → API keys. Name it after the tool, e.g. claude-code-laptop, so you can revoke it on its own later.
  3. Put the key in an environment variable rather than pasting it into config files that might get committed:
# ~/.zshrc or ~/.bashrc
export ASM_API_KEY="asm_live_…"

Claude Code

One command. Run it in your project folder, or add --scope user to make it available in every project.

claude mcp add --transport http aispritemaker https://aispritemaker.com/mcp \
  --header "Authorization: Bearer $ASM_API_KEY"

Check it connected with claude mcp list, or type /mcp inside a session. To share the server with your team without sharing a key, use --scope project, which writes a .mcp.json to the repo. Claude Code expands environment variables in that file, so each developer supplies their own key:

{
  "mcpServers": {
    "aispritemaker": {
      "type": "http",
      "url": "https://aispritemaker.com/mcp",
      "headers": { "Authorization": "Bearer ${ASM_API_KEY}" }
    }
  }
}

Claude Code plugin and skill

For Claude Code there’s also a plugin that bundles the MCP server with a skill: instructions that teach the agent how to use AI Sprite Maker well. It checks motions and credits first, asks before expensive jobs, keeps one character consistent across animations, and knows how to wire the PNG + JSON into Godot, Unity, Phaser or a canvas game.

  1. Download aispritemaker-claude-plugin.zip and unzip it. You get an aispritemaker folder.
  2. Export your key as ASM_API_KEY (the plugin’s MCP config reads it from the environment).
  3. Install it from the folder that contains aispritemaker:
claude plugin marketplace add ./aispritemaker
claude plugin install aispritemaker@aispritemaker

Inside a session, /plugin marketplace add ./aispritemaker and /plugin install aispritemaker@aispritemaker do the same. Restart Claude Code, then just ask: “Make a 64 px fox knight with walk and attack animations in 4 directions and add it to Player.tscn.”

Skill only. If you’ve already added the MCP server with claude mcp add, you can install just the skill: copy aispritemaker/skills/aispritemaker to ~/.claude/skills/aispritemaker (all projects) or .claude/skills/aispritemaker (one project). The same folder works as a Codex skill in ~/.codex/skills/aispritemaker. It includes a small zero-dependency Node helper (scripts/asm.mjs) the agent can call when MCP isn’t available.

Cursor

Add the server to ~/.cursor/mcp.json for all projects, or .cursor/mcp.json in one project:

{
  "mcpServers": {
    "aispritemaker": {
      "url": "https://aispritemaker.com/mcp",
      "headers": { "Authorization": "Bearer ${env:ASM_API_KEY}" }
    }
  }
}

Open Cursor Settings → MCP and check that aispritemaker shows a green dot and lists its tools. If Cursor was started from the dock and can’t see your shell’s environment variables, launch it from a terminal with cursor . or paste the key directly into a file you keep out of git.

OpenAI Codex

Codex reads MCP servers from ~/.codex/config.toml (or .codex/config.toml in a trusted project). It sends the token from the environment variable you name:

[mcp_servers.aispritemaker]
url = "https://aispritemaker.com/mcp"
bearer_token_env_var = "ASM_API_KEY"

Restart Codex and run /mcp to confirm the tools are listed.

VS Code (GitHub Copilot agent mode)

Create .vscode/mcp.json in your workspace. The inputs block makes VS Code prompt for the key once and store it securely instead of saving it in the file:

{
  "inputs": [
    {
      "type": "promptString",
      "id": "asm-key",
      "description": "AI Sprite Maker API key",
      "password": true
    }
  ],
  "servers": {
    "aispritemaker": {
      "type": "http",
      "url": "https://aispritemaker.com/mcp",
      "headers": { "Authorization": "Bearer ${input:asm-key}" }
    }
  }
}

Then click Start above the server entry, or run MCP: List Servers from the Command Palette. The tools show up in Copilot Chat’s agent mode tool picker.

Windsurf, Zed and other clients

Any client that supports remote MCP servers over HTTP with custom headers works. Use the URL https://aispritemaker.com/mcp and the header Authorization: Bearer <your key>. For example, Windsurf’s ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "aispritemaker": {
      "serverUrl": "https://aispritemaker.com/mcp",
      "headers": { "Authorization": "Bearer asm_live_…" }
    }
  }
}

Clients that only speak stdio can use the mcp-remote bridge:

npx -y mcp-remote https://aispritemaker.com/mcp --header "Authorization: Bearer $ASM_API_KEY"

Sign-in without an API key

OAuth sign-in for chat apps that add servers as “connectors” (where you log in through a browser instead of pasting a key) is in development. Until then, use an API key as shown above.

Tools

The tools mirror the REST API. Each one that creates work returns a job; the agent then calls get_job every 5 to 10 seconds until it finishes. Outputs come back as signed URLs plus metadata (frame size, columns, rows, fps, direction order), never as base64 blobs, so they don’t fill up the agent’s context.

ToolWhat it doesCredits
sprite_guideRead-first reference for the agent: job types, costs, sizes, styles, polling and how to use outputs in a gamefree
list_motionsThe motion library: ids, categories, frame counts, fps, supported viewsfree
get_balanceCredit balance (daily, plan, packs), plan limits and recent jobsfree
create_spriteStill sprite (character, monster, item, prop) with a transparent background, 1 or 4 variations2 per variation
animate_characterPut a character into a library motion; returns a looping sheet, JSON and GIF10 flat, including drawing the character
create_directions4- or 8-direction turnaround of a character8 / 14
create_tilesetA 4 × 4 seamless tileset (16 tiles) as one sheet + JSON6
edit_spriteRecolour, add an item or change an outfit on an existing sprite2
get_jobStatus and progress of a job; when finished, its files as signed URLsfree
list_assetsYour recent outputs, so the agent can reuse a character across animationsfree

All create tools accept style, view, size and palette, plus character_asset_id or reference_upload_id to reuse a character. animate_character renders one direction per call; ask the agent to call it once per direction you need, or use the REST API directions field to get all rows in one sheet. Custom motions and video-to-sprite are REST-only for now. The tool descriptions the server sends are the source of truth; your client shows them when it connects.

Prompts that work well

You talk to your agent normally. Some phrasing we’ve found useful:

  • “Check my AI Sprite Maker balance, then make a 48 px top-down farmer with walk and idle in 4 directions, gba style. Save the sheets to assets/sprites/farmer/.”
  • “List the attack motions. Animate the knight from my last job with attack-slash, side view.”
  • “Generate 4 variations of a 32 px health potion icon, 8-bit style, and show me the URLs before you download anything.”
  • “Make the slime’s hurt animation, then create res://enemies/slime_frames.tres as a SpriteFrames resource with idle and hurt animations at the fps from the job metadata.”

Asking the agent to check the balance or show results before downloading avoids surprises, since every create call spends credits.

Troubleshooting

SymptomFix
Client shows the server as failed or with 0 toolsCheck the URL ends in /mcp with no trailing slash, and that the header starts with Bearer and a space
invalid_api_keyThe key was revoked or mistyped. Create a new one; keys are only shown once
concurrency_limitYour agent started more jobs than your plan runs at once (Free 1, Starter 2, Pro 4, Studio 10). Ask it to wait for one to finish
insufficient_creditsTop up with a pack or wait for daily credits. The agent’s error message includes how many it needed
The agent invents tool namesAsk it to “list the aispritemaker tools” first. Some clients cache tool lists until restart

More error codes are listed in the API reference.

Security notes

  • An MCP key can spend your credits. Use a separate key per machine and per client, and revoke keys you no longer use at Dashboard → API keys.
  • Keep keys out of committed files. Use environment variables (${ASM_API_KEY}, ${env:ASM_API_KEY}, bearer_token_env_var) or your client’s secure input prompt.
  • Agents can be talked into things by text they read. If your agent browses the web or reads untrusted files, have it confirm before calling tools that spend credits.
← Previous REST API Next → CLI

Found a mistake or something out of date? Email hello@aispritemaker.com and we will fix it.