Gradient Builder MCP server
Lets an AI assistant make gradients in Gradient Builder, a free gradient design studio. A tool call returns the finished gradient as an image, a full-size PNG link, and a link that opens it in the studio, ready to edit and export as PNG, JPG, SVG, CSS or a looping MP4.
Connect
| Endpoint | https://feralui.dev/mcp |
| Transport | Streamable HTTP (POST, JSON responses). Stateless, no sessions. |
| Protocol versions | 2025-11-25, 2025-06-18, 2025-03-26 |
| Auth | None. No account, key or sign-in. |
| Safety | Every tool is read-only. Nothing is written, sent, bought or booked. |
Data
The server receives only what the assistant passes in a tool call: colours, a style and an optional title. It never sees who is asking, their messages or their files. It logs each tool call with the tool name, the style, the link it made and the country of the calling server, and nothing that identifies a person. Images are drawn on the server from the gradient alone and cached. See the privacy policy and terms.
Tools
create_gradient
Design a gradient from colours and a style. Returns the finished gradient as an image, reply_markdown that shows it to the person (put it in your reply first), a full-size PNG link, and a link that opens it in the free Gradient Builder studio to edit and export as PNG, JPG, SVG, CSS or looping MP4. Linear and radial also come with ready-to-paste CSS.
| Argument | Type | Meaning |
|---|---|---|
colors required | string[] | Colours in order: hex codes like "#F09199", or names from find_colors like "Cherry blossom". 2 to 5 usually looks best. |
style | string | The look. "mesh" and "flow" suit most backgrounds; call list_styles to see what each one looks like. Defaults to mesh. |
name | string | A short title for the gradient, like "Coral dawn". |
format | string | Canvas shape: square 1:1, portrait 4:5, story 9:16, wide 16:9. Leave out to fit the screen. |
soften | number | Blur in px. Leave out for the style's own default. |
grain | number | Film grain, 0 to 100. Leave out for the style's own default. |
city | string | Only for the skyline style. |
find_colors
Search an archive of about 100 traditional Japanese colours by name, by colour family (red, pink, orange, yellow, green, blue, purple, brown, grey, white, black), or by closeness to a hex code. Returns names and hex codes to pass to create_gradient.
| Argument | Type | Meaning |
|---|---|---|
query | string | A name or a colour family, like "indigo", "cherry" or "green". |
near | string | A hex code; returns the closest colours in the archive. |
limit | integer | How many to return. Defaults to 12. |
list_styles
Every gradient style the studio can make, what each looks like, and which ones animate (and so export as MP4).
No arguments.
get_presets
Ready-made gradients from the studio, each with its colours, a link that opens it and a link to an image of it. Filter by style or by a word in the name.
| Argument | Type | Meaning |
|---|---|---|
style | string | One of the style ids below. |
query | string | A word in the name, like "dusk" or "sea". |
limit | integer | How many to return. Defaults to 8. |
Styles
| Id | Family | Looks like |
|---|---|---|
flow | Fields | soft colour fields that drift into each other, the classic animated mesh (animates) |
sky | Fields | a fluid, cloudy wash of colour (animates) |
aurora | Fields | one glowing ribbon of northern lights on a dark sky (animates) |
silk | Fields | folds of draped fabric with a sheen (animates) |
mesh | Fields | a still mesh gradient: big soft blobs on a light base, the poster look |
still | Fields | a still, smoothly blended mesh |
retro | Fields | grainy pools of colour, a seventies print feel (animates) |
ios | Fields | a silky diagonal blend, like a phone wallpaper |
linear | Strips | a plain top to bottom blend |
stripes | Strips | soft diagonal bands (animates) |
bars | Strips | separate vertical bars with gaps between them (animates) |
columns | Strips | flush vertical columns, edge to edge (animates) |
prism | Strips | a wall of light slats with a bright core (animates) |
waves | Strips | layered wave forms |
lines | Strips | thick gradient tubes that curl across the canvas (animates) |
glassy | Objects | frosted glass tiles refracting the gradient behind them (animates) |
rings | Objects | overlapping flat discs with glowing edges |
pixel | Objects | a quilt of stepped colour cells (animates) |
blocks | Objects | nested soft squares, a tunnel of blocks |
beehive | Objects | bevelled hexagon cells |
balls | Objects | glossy spheres |
radial | Objects | a radial glow from the centre |
conic | Objects | a conic sweep around the centre |
forms | Scenes | one large soft form on a field, a gradient poster |
glint | Scenes | sun glitter on the sea, painted in oils |
mist | Scenes | mountain ridges fading into fog |
skyline | Scenes | a city skyline at dusk |
Example
curl -s https://feralui.dev/mcp -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"create_gradient","arguments":{"colors":["#1B1F3B","Cherry blossom","#ED6D3D"],"style":"aurora","name":"First light"}}}'
The reply holds the gradient as an inline JPEG, a https://feralui.dev/api/gradient.png?g=… image link, a https://feralui.dev/gradients?g=… studio link, and CSS where the style allows it.
Images
GET https://feralui.dev/api/gradient.png?g=…&size=1600 (or .jpg) draws any studio share link with the studio's own renderer. g is the link's g value; size is the long side in pixels, 64 to 2400; the frame (square, portrait, story, wide) comes from the gradient.