MCP Server
Connect Claude, ChatGPT, Codex, Cursor, VS Code, and other MCP clients to Sprite Fusion to generate, edit, and animate pixel art.
Sprite Fusion runs a remote Model Context Protocol server. It offers the same operations as the API (generate, edit, style reference, 8 directions, and animate) plus your saved assets and their tags, credit balance, and large-image uploads.
Server URL
https://www.spritefusion.com/mcpThe server uses the Streamable HTTP transport. When your client connects, it opens a Sprite Fusion page where you sign in and approve the connection. No API key is needed.
Connect your client
Claude
In Claude's connector settings, add a custom connector with the server URL, then sign in to Sprite Fusion when prompted.
Claude Code
claude mcp add --transport http spritefusion https://www.spritefusion.com/mcpThen run /mcp in Claude Code and choose spritefusion to sign in.
Codex
codex mcp add spritefusion --url https://www.spritefusion.com/mcp
codex mcp login spritefusionThe ChatGPT desktop app and the Codex IDE extension share this configuration: select Authenticate there when prompted. To use an API key instead of signing in, add bearer_token_env_var = "SPRITE_FUSION_API_KEY" under [mcp_servers.spritefusion] in ~/.codex/config.toml.
ChatGPT
On the web, open ChatGPT Plugins, select the plus button, then Add custom MCP server. Enter the server URL, choose OAuth for authentication, and select Create as a plugin, then sign in to Sprite Fusion when prompted. Your ChatGPT plan and workspace settings determine whether you can add custom MCP servers.
Cursor
Add the server to ~/.cursor/mcp.json:
{
"mcpServers": {
"spritefusion": {
"url": "https://www.spritefusion.com/mcp"
}
}
}VS Code
Add the server to .vscode/mcp.json:
{
"servers": {
"spritefusion": {
"type": "http",
"url": "https://www.spritefusion.com/mcp"
}
}
}Other clients
Any MCP client that supports Streamable HTTP and OAuth can connect with the server URL.
If your client can't sign in with OAuth but can send custom headers, use an API key instead:
Authorization: Bearer sf_live_...Keep the key in your client's secret settings, never in a shared or committed configuration file.
Tools
| Tool | What it does | Cost |
|---|---|---|
generate_sprites | Create up to 12 sprites from a prompt at 16, 32, or 64 pixels | 15 credits |
edit_sprite | Change an existing sprite, optionally guided by up to 8 reference images | 15 credits |
generate_sprites_in_style | Create new sprites matching 1 to 20 reference images | 15 credits |
create_8_directions | Turn one sprite into 8 directional views | 15 credits |
animate_sprite | Animate one sprite from a motion prompt | 15 credits |
create_normal_map | Create the normal map of one sprite or animation, returned as an image to save into your project | Free |
list_assets | List your saved assets, newest first, optionally only those with a tag | Free |
get_asset | Get one saved asset and its file URLs | Free |
list_tags | List your tags and how many assets carry each | Free |
set_asset_tags | Replace the tags of a saved asset | Free |
get_credits | Check your credit balance | Free |
create_upload | Get a private upload URL for a large input image | Free |
Every generation result is saved to your Sprite Fusion library, like results from the editor. Results include their file URLs and image previews your AI can see. Normal maps are the exception: create_normal_map returns the exact PNG as an image and saves nothing, so your AI saves it into your project.
Generation tools take optional tags, saved on every result. The basic, recommended use is one tag per game or project: ask your AI to tag results with your game's name, then to find them by tag later. Tags can also group a character or a kind of asset.
Generations follow the same rules as the API: the same credit costs and the same per-account rate limits. Credits are refunded when no sprite is saved. Clients that show progress update it as results are saved.
Input images
Tools that take images accept each one in one of three forms:
{"asset_id": "..."}for a sprite already in your library{"data_url": "data:image/png;base64,..."}for a small local file, up to 1 MB{"upload_id": "..."}for a larger file uploaded throughcreate_upload
Images attached to a chat can't be passed to tools directly. Import the sprite in the Pixel Art Generator and ask your AI to find it in your library, or let an agent with file access send the file itself.
See Input Images for the limits.
Disconnect an app
Open Account → API keys and choose Disconnect next to the app under Connected apps. It loses access immediately.