Particle effects for your coding agent
Your coding agent already writes the game. With the ParticleFX MCP server it can make the effects too: it starts from one of the library effects or a blank canvas, edits it, looks at real renders of its own work, and exports a spritesheet with the data file your engine reads.
How it works
- Connect your agent. Add the server
https://mcp.particlefx.studio/mcpwith an API key from your billing page, or sign in with your account in apps that support it. Claude Code, Codex and Devin take one command; the others a few lines of config. Setup for each is below. - Ask for the effect in plain words. Name the effect, the engine and the folder: "a looping fireball for Godot in res://fx".
- It builds, checks and exports. The agent starts from the closest of the 610+ library effects or a blank canvas, edits it, looks at real renders of its own work, then exports a spritesheet with the data file your engine reads and puts it in your project.
A real example
This is the whole exchange in Claude Code for a Godot 4 project. The tool names are the real ones; every client on this page calls the same tools.
> Start from the Pixel Fireball library effect, name it fireball, make the trail a bit
longer, check the render, then export Godot 4 SpriteFrames, transparent, 30 fps,
into res://fx/ and fix the texture path.
particlefx list_presets query "fireball" -> pixel-arcade/fireball
particlefx create_effect from_preset, name -> new effect in your account
particlefx edit_effect longer trail -> applied, health check passes
particlefx render_preview 6 moments of the loop -> contact sheet, checked
particlefx analyze_effect -> loop closes exactly
particlefx export_effect sheet, godot, 30 fps -> download link (1 hour)
shell curl + unzip into fx/, fix res:// path
fx/fireball.png atlas, full alpha
fx/fireball.tres SpriteFrames, animation "fireball", looping, 30 fpsconst FIREBALL := preload("res://fx/fireball.tres")
var fx := AnimatedSprite2D.new()
fx.sprite_frames = FIREBALL
add_child(fx)
fx.play("fireball")The effect is a real particle simulation, not a generated picture: the export is rendered by the same engine and renderer as the studio, loops close frame for frame, and the effect stays in your account, so you or your agent can change it later or open it in the studio and adjust it by hand.
Set it up in your client
- Claude CodeAPI key or account sign-in. Writes the files into your project.One terminal command, then a looping fireball built, checked and exported as a Godot 4 SpriteFrames into res://fx.
- CursorAPI key or account sign-in. Writes the files into your project.A few lines of mcp.json, then a coin pickup exported as a packed TexturePacker atlas and played in Phaser 3.
- OpenAI CodexAPI key or account sign-in. Writes the files into your project.One config.toml entry, then a ship explosion exported as a TexturePacker atlas and played with PixiJS v8.
- VS Code with GitHub CopilotAPI key or account sign-in, in Agent mode. Writes the files into your project.An mcp.json that asks for your key once, then an explosion exported as a grid sheet and played in Unity by a short script.
- Windsurf (Devin Desktop)Account sign-in or API key. Writes the files into your project.One devin mcp add command, then a portal exported with the live runtime so the real engine plays it in your web game.
- Claude Desktop and claude.aiAccount sign-in as a connector, or an API key. You download the files from links.A custom connector with no key, then a level-up effect made in a chat, previewed inline and downloaded for Godot.
- ChatGPTAccount sign-in only (ChatGPT cannot send API keys). You download the files from links.A custom MCP server in ChatGPT with account sign-in, then a pixel fire blast exported as a plain spritesheet that Phaser plays with no plan needed.
Any other client that speaks MCP over Streamable HTTP and can send an Authorization header works the same way. The MCP quickstart has the raw details.
What it costs
Connecting is free, and so are library search, reading the reference, analysing an effect and every edit after the first. A new effect costs 1 build, each export 1 build, and previews are free for the first 20 of each UTC day, then 1 build per 4. A typical effect, made and exported once, is 2 builds. Over MCP a free account and Starter pay with pack builds ($4.99 for 150, never expire); Creator at +50%, Studio at +25%, Studio Max one for one can spend plan builds. Engine data files, hi-res, video and the live runtime need a plan, from $7.99 a month. Everything else: keys, limits and billing.
Connect your agent
Make a key on your billing page, or let your app send you to connect when it signs in. The quickstart has every client on one page.
Questions
What is the ParticleFX MCP server?
A hosted Model Context Protocol server at https://mcp.particlefx.studio/mcp. It gives AI apps the ParticleFX Studio engine as tools: search the effect library, create and edit effects, render previews, check loops and export GIFs, spritesheets with engine data, video or a live web runtime.
Which coding agents work with it?
Claude Code, Cursor, OpenAI Codex, VS Code with GitHub Copilot in agent mode, and Windsurf (now Devin Desktop) with the Devin CLI, plus Claude Desktop, claude.ai and ChatGPT. Any MCP client that supports Streamable HTTP with an Authorization header, or MCP OAuth sign-in, can connect.
Does my agent need to be good at visual effects?
No. It usually starts from one of the hand-made library effects and changes it, it reads a craft guide and parameter reference from the server, and it checks real renders of its own work before it exports. For harder effects it can hand the job to our own effects agent with build_effect.
Which engines can use the exports?
Godot 4 (SpriteFrames .tres), Unity (grid JSON for slicing), Phaser and PixiJS (TexturePacker JSON), GameMaker (strips), Aseprite JSON, plus GIF, WebP, APNG, PNG frames and video for anything else, and a live runtime for web games.
Also see
GuidesEnginesFree toolsAlternativesRobloxFree effectsMCP server