{"name":"studio.gradients/mcp","slug":"gradients-mcp","title":"Gradients Studio","description":"Gradient backgrounds with real grain, pixel and dither finishes. Free previews, no key needed.","url":"https://mcp.market/server/gradients-mcp","rating":null,"grade":"A","score":88,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-10-27T02:15:05.000Z","license":"NOASSERTION"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T11:55:54.912Z","last_ok_at":"2026-11-04T11:55:54.912Z","latency_ms":884},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/anusandhan/gradients-studio-mcp","website":"https://www.gradients.studio/mcp","version":"1.1.0","remotes":[{"type":"streamable-http","url":"https://www.gradients.studio/mcp","headers":[{"description":"Optional. Only for sized exports (download URLs); previews, palettes and suggestions work without it. Bearer <key> from gradients.studio (studio → account menu → API keys).","isSecret":true,"name":"Authorization"}]}],"packages":[],"tools":[{"name":"list_palettes","description":"Palettes to start from: the studio's sixteen, the ones behind product sites people admire (Linear, Stripe, Raycast, …), the account's saved palettes (with an API key), and six tuned starting points for common jobs (website hero, launch post, deck slide, product screenshot, integrations grid, App Store shot) with their full settings. Pass any of these to render_gradient. No key needed.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false}},{"name":"render_gradient","description":"Render a gradient background image (website hero, OG image, launch post, slide, wallpaper) with Gradients Studio's renderer: blobs, stripes or clouds, real grain, pixel and dither finishes, shape overlays. Workflow: start from suggest_settings or list_palettes, call this WITHOUT `size` for a free 960px preview (returned inline, no API key needed), adjust the `settings` you get back, and pass `size` (exact pixels, e.g. [1200, 630] for an OG image, [2560, 1440] for a hero) once the person is happy. A sized export needs an API key; it uses one of the account's monthly exports (5 free, unlimited on Pro) and returns a URL that is valid for 24 hours; asking for the same export again within that time returns the same URL for free. Every result includes `settings` (send them back to iterate) and `studioUrl` (open it to take over in the browser). Use `overlaySvg` with the raw text of a logo SVG to draw it as concentric outlines over the gradient. For the soft mesh look keep blur at 700–900 and contrast at 130; saturated mid-tone colors render best, muddy ones come out dull.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"seed":{"default":4081350061,"description":"Composition seed (integer). Reuse it to keep the layout while changing colors or finish; omit for a random one.","type":"integer","minimum":0,"maximum":4294967295},"placement":{"default":"random","description":"Where color points sit: 'center' for a calm middle, 'random' for an off-center composition.","type":"string","enum":["center","random"]},"backgroundColor":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$","description":"Base color as #RRGGBB. Dark values give the premium look; light ones give pastels."},"colors":{"minItems":1,"maxItems":8,"type":"array","items":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"description":"1–8 gradient colors as #RRGGBB. Three or four is typical. Use saturated mid-tones; muddy or near-grey colors come out dull."},"blur":{"default":800,"description":"Softness of the color fields in export pixels, 0–1000. Keep 700–900 for the soft mesh look; below 500 the blobs show hard edges.","type":"number","minimum":0,"maximum":1000},"grain":{"default":0.2,"description":"Film-grain strength 0–0.8. 0.2 is subtle, 0.3+ is visibly textured. Grain also hides banding.","type":"number","minimum":0,"maximum":0.8},"contrast":{"default":130,"description":"Contrast 50–200 (%). 100 is flat; 130 is the studio default and what makes colors read. Don't lower it for 'subtle', lower grain instead.","type":"number","minimum":50,"maximum":200},"saturation":{"default":110,"description":"Saturation 50–200 (%). 100 is neutral; 110–120 keeps the palette alive against grain and dither, which both mute it.","type":"number","minimum":50,"maximum":200},"style":{"default":"blobs","description":"'blobs' (soft overlapping fields), 'stripes' (flowing silk fibers), 'clouds' (billowing volumes) or 'rays' (soft god rays fanning from above).","type":"string","enum":["blobs","stripes","clouds","rays"]},"fiberDensity":{"default":1,"description":"Stripes only: how many fibers, 0–2 (1 = designed look).","type":"number","minimum":0,"maximum":2},"waviness":{"default":1,"description":"Stripes only: how much the fibers bend, 0–2.","type":"number","minimum":0,"maximum":2},"sheen":{"default":0.2,"description":"Stripes only: highlight along the fibers, 0–2. 0.2 is the default.","type":"number","minimum":0,"maximum":2},"coverage":{"default":1,"description":"Clouds only: how much of the frame the clouds fill, 0–2.","type":"number","minimum":0,"maximum":2},"softness":{"default":1,"description":"Clouds only: edge softness, 0–2.","type":"number","minimum":0,"maximum":2},"detail":{"default":1,"description":"Clouds only: fine structure, 0–2.","type":"number","minimum":0,"maximum":2},"effect":{"default":"none","description":"Finish over the gradient: 'none', 'pixel' (dot matrix) or 'dither' (palette-quantized cells and glyphs). Pixel and dither preview free and export on Pro.","type":"string","enum":["none","pixel","dither"]},"effectSize":{"default":24,"description":"Finish cell size in export pixels, 8–64. 24 default; 40+ reads as deliberate at feed size.","type":"number","minimum":8,"maximum":64},"effectStrength":{"default":1,"description":"Finish density 0–2 (dot size for pixel, glyph density for dither).","type":"number","minimum":0,"maximum":2},"effectOpacity":{"default":1,"description":"0–1 blend of the finish over the smooth gradient; 1 replaces it, 0.5 shows both.","type":"number","minimum":0,"maximum":1},"ditherChars":{"default":"","description":"Dither only: characters to draw instead of the built-in symbols, e.g. '01' or '+-'. Up to 16.","type":"string","maxLength":32},"ditherGlyphsOnly":{"default":false,"description":"Dither only: true draws only the characters over the smooth gradient (no cell quantizing).","type":"boolean"},"overlay":{"default":"none","description":"'none' or 'shapes' for concentric outlines of one shape radiating from a point.","type":"string","enum":["none","shapes"]},"overlayShape":{"default":"circle","description":"Overlay shape: circle, square, rounded, squircle, diamond, triangle, hexagon, star, flower, seal, heart, or 'custom' with overlaySvg.","type":"string","enum":["circle","square","rounded","squircle","diamond","triangle","hexagon","star","flower","seal","heart","custom"]},"overlayOpacity":{"default":0.4,"description":"Overlay outline opacity 0–1. 0.15–0.4 stays a texture; higher becomes a graphic.","type":"number","minimum":0,"maximum":1},"overlaySize":{"default":800,"description":"Base shape size in export pixels, 100–3000.","type":"number","minimum":100,"maximum":3000},"overlaySpacing":{"default":60,"description":"Gap between rings in export pixels, 10–200.","type":"number","minimum":10,"maximum":200},"overlayStroke":{"default":3,"description":"Ring stroke width in export pixels, 1–20.","type":"number","minimum":1,"maximum":20},"overlayCenter":{"description":"Ring origin as [x, y] fractions of the frame, e.g. [0.88, 0.18] for top-right; omit for a seeded point.","type":"array","prefixItems":[{"type":"number","minimum":0,"maximum":1},{"type":"number","minimum":0,"maximum":1}]},"overlayClip":{"default":false,"description":"Clip instead of rings: the whole gradient is drawn inside the overlay shape, on overlayClipBackground","type":"boolean"},"overlayClipBackground":{"default":"#F6F5F1","description":"Hex color around a clipped shape (off-white by default)","type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"overlayPath":{"description":"Set by the server from overlaySvg; do not pass directly.","type":"object","properties":{"d":{"type":"string","minLength":1,"maxLength":70000,"pattern":"^[MmZzLlHhVvCcSsQqTtAa0-9eE.,\\s+-]+$"},"box":{"type":"array","prefixItems":[{"type":"number"},{"type":"number"},{"type":"number","exclusiveMinimum":0},{"type":"number","exclusiveMinimum":0}]},"parts":{"maxItems":600,"type":"array","items":{"type":"object","properties":{"d":{"type":"string","minLength":1,"maxLength":70000,"pattern":"^[MmZzLlHhVvCcSsQqTtAa0-9eE.,\\s+-]+$"},"m":{"type":"array","prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"},{"type":"number"}]},"rule":{"type":"string","const":"evenodd"},"knock":{"type":"boolean","const":true},"stroke":{"type":"number","exclusiveMinimum":0,"maximum":10000}},"required":["d"],"additionalProperties":false}}},"required":["d","box"],"additionalProperties":false},"aspectRatio":{"default":"16:9","description":"Frame shape for a preview, e.g. '16:9' hero, '1.91:1' OG image, '4:5' LinkedIn post, '9:16' story. Ignored when size is given.","type":"string","enum":["16:9","16:10","21:9","1.91:1","5:2","3:1","4:1","1:1","4:3","3:2","9:16","3:4","4:5","5:3"]},"size":{"description":"Exact export size in pixels [width, height], each 64–3840, e.g. [1200, 630]. Omit for a free 960px preview (no key needed); giving a size needs an API key and uses one monthly export.","type":"array","prefixItems":[{"type":"integer","minimum":64,"maximum":3840},{"type":"integer","minimum":64,"maximum":3840}]},"overlaySvg":{"description":"Raw text of an SVG (a logo) to draw as concentric outlines; sets overlay to shapes/custom. Up to 64 KB.","type":"string","maxLength":64000},"format":{"default":"jpeg","description":"Export file format. JPEG is ~8x smaller; grain makes PNGs large.","type":"string","enum":["jpeg","png"]}},"required":["backgroundColor","colors"],"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false}},{"name":"suggest_settings","description":"Turn a plain-language brief ('dark, premium, fintech hero, a bit retro') into two or three starting settings for render_gradient. Understands jobs (hero, launch post, slide, screenshot, integrations, app store), moods and colors, product names (Linear, Stripe, Raycast…), styles (blobs, stripes, clouds) and finishes (retro/pixel, print/dither, terminal/glyph dither, film/grain, smooth). You are the taste layer: preview the candidates and adjust. No key needed.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"brief":{"type":"string","minLength":1,"maxLength":500,"description":"What the background is for and how it should feel, in plain words: job, mood, colors, a product it should resemble, a finish."},"aspectRatio":{"description":"Frame shape to suggest for; otherwise inferred from the job (hero → 16:9, post → 4:5, …).","type":"string","enum":["16:9","16:10","21:9","1.91:1","5:2","3:1","4:1","1:1","4:3","3:2","9:16","3:4","4:5","5:3"]}},"required":["brief"],"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false}}],"scan":{"score":88,"grade":"A","scanned_at":"2026-10-31T05:55:15.117Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-31T05:55:15.073Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 870ms"]},"poisoning":{"score":15,"max":15,"notes":["3 tool descriptions checked"]},"auth":{"score":8,"max":15,"notes":["API key sent as a header"]},"maintenance":{"score":15,"max":15,"notes":["last push 4 days ago"]},"identity":{"score":8,"max":10,"notes":["endpoint served from the registry-verified namespace domain"]}},"findings":[],"inputs":{"probes":[{"url":"https://www.gradients.studio/mcp","reachable":true,"authRequired":false,"latencyMs":870,"serverInfo":{"name":"gradients-studio","version":"1.1.0"}}],"packages":[],"repo":{"found":true,"owner":"anusandhan","repo":"gradients-studio-mcp","archived":false,"pushedAt":"2026-10-27T02:15:05Z","stars":0,"forks":0,"openIssues":1,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/28452728?v=4","ownerCreatedAt":"2017-05-05T17:09:22Z","license":"NOASSERTION"},"icon":{"url":"https://www.gradients.studio/icon.ico?icon.0z9v2imcgh379.ico","source":"registry","width":48,"height":48},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"NOASSERTION","lastPushAt":"2026-10-27T02:15:05.000Z","score":23}}}},"grade_history":[{"kind":"restore","fromGrade":"B","toGrade":"A","reason":"score 88","createdAt":"2026-10-31T05:55:16.013Z"}],"reviews":[]}