Check Liquid Glass app icon recipes and open them in the browser editor.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Turn a recipe into a link that opens the icon in Liquid Composer. The link carries the recipe in its URL fragment, so opening it does not send the recipe to a server. Images must be inline SVG markup or data: URLs.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http liquid-composer https://liquid-composer.vercel.app/mcp
Turn a recipe into a link that opens the icon in Liquid Composer. The link carries the recipe in its URL fragment, so opening it does not send the recipe to a server. Images must be inline SVG markup or data: URLs.
| Argument | Type | Description |
|---|---|---|
| recipe* | object |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"recipe"
],
"properties": {
"recipe": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"layers": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"src": {
"type": "string",
"minLength": 1,
"description": "Inline SVG markup or a data: URL (svg, png, jpeg); the local CLI and MCP also accept a file path"
},
"fill": {
"oneOf": [
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"const": "none"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"color"
],
"properties": {
"type": {
"type": "string",
"const": "solid"
},
"color": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"stops"
],
"properties": {
"type": {
"type": "string",
"const": "gradient"
},
"angle": {
"type": "number",
"default": 90
},
"stops": {
"type": "array",
"items": {
"type": "object",
"required": [
"offset",
"color"
],
"properties": {
"color": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
},
"offset": {
"type": "number",
"maximum": 1,
"minimum": 0
}
},
"additionalProperties": false
},
"maxItems": 8,
"minItems": 2
}
},
"additionalProperties": false
}
],
"description": "Recolors the artwork; none keeps the image colors"
},
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Unique; used as the layer reference"
},
"type": {
"type": "string",
"const": "layer"
},
"layout": {
"type": "object",
"properties": {
"x": {
"type": "number",
"maximum": 512,
"minimum": -512,
"description": "% of the icon size from the center, + = right"
},
"y": {
"type": "number",
"maximum": 512,
"minimum": -512,
"description": "% of the icon size from the center, + = down"
},
"scale": {
"type": "number",
"maximum": 400,
"minimum": 1,
"description": "% of the icon size"
}
},
"additionalProperties": false
},
"opacity": {
"type": "number",
"maximum": 100,
"minimum": 0
},
"visible": {
"type": "boolean"
},
"blendMode": {
"enum": [
"normal",
"multiply",
"screen",
"overlay",
"darken",
"lighten",
"color-dodge",
"color-burn",
"hard-light",
"soft-light",
"difference",
"exclusion",
"hue",
"saturation",
"color",
"luminosity",
"plus-lighter"
],
"type": "string"
},
"liquidGlass": {
"type": "object",
"properties": {
"blur": {
"type": "object",
"properties": {
"value": {
"type": "number",
"maximum": 100,
"minimum": 0
},
"enabled": {
"type": "boolean"
}
},
"description": "Blur of everything beneath the layer",
"additionalProperties": false
},
"shadow": {
"type": "object",
"properties": {
"value": {
"type": "number",
"maximum": 200,
"minimum": 0
},
"enabled": {
"type": "boolean"
}
},
"description": "Soft black halo below the edges of the artwork",
"additionalProperties": false
},
"effects": {
"type": "object",
"description": "Advanced parameters by key, merged key by key; keys and defaults in the schema defaults",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
}
},
"enabled": {
"type": "boolean",
"description": "Liquid Glass on or off"
},
"specular": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"inside",
"outside"
],
"type": "string"
}
],
"description": "false = Off, true = Automatic"
},
"aberration": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Dispersion"
},
"refraction": {
"type": "object",
"required": [
"enabled"
],
"properties": {
"enabled": {
"type": "boolean"
}
},
"description": "Strength is effects.refraction, Height is effects.bevel",
"additionalProperties": false
},
"translucency": {
"type": "object",
"properties": {
"value": {
"type": "number",
"maximum": 100,
"minimum": 0
},
"enabled": {
"type": "boolean"
}
},
"additionalProperties": false
},
"specularIntensity": {
"type": "number",
"maximum": 100,
"minimum": 0
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Unique; used as the layer reference"
},
"type": {
"type": "string",
"const": "group"
},
"layers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"src": {
"type": "string",
"minLength": 1,
"description": "Inline SVG markup or a data: URL (svg, png, jpeg); the local CLI and MCP also accept a file path"
},
"fill": {
"oneOf": [
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"const": "none"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"color"
],
"properties": {
"type": {
"type": "string",
"const": "solid"
},
"color": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"stops"
],
"properties": {
"type": {
"type": "string",
"const": "gradient"
},
"angle": {
"type": "number",
"default": 90
},
"stops": {
"type": "array",
"items": {
"type": "object",
"required": [
"offset",
"color"
],
"properties": {
"color": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
},
"offset": {
"type": "number",
"maximum": 1,
"minimum": 0
}
},
"additionalProperties": false
},
"maxItems": 8,
"minItems": 2
}
},
"additionalProperties": false
}
],
"description": "Recolors the artwork; none keeps the image colors"
},
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Unique; used as the layer reference"
},
"type": {
"type": "string",
"const": "layer"
},
"layout": {
"type": "object",
"properties": {
"x": {
"type": "number",
"maximum": 512,
"minimum": -512,
"description": "% of the icon size from the center, + = right"
},
"y": {
"type": "number",
"maximum": 512,
"minimum": -512,
"description": "% of the icon size from the center, + = down"
},
"scale": {
"type": "number",
"maximum": 400,
"minimum": 1,
"description": "% of the icon size"
}
},
"additionalProperties": false
},
"opacity": {
"type": "number",
"maximum": 100,
"minimum": 0
},
"visible": {
"type": "boolean"
},
"blendMode": {
"enum": [
"normal",
"multiply",
"screen",
"overlay",
"darken",
"lighten",
"color-dodge",
"color-burn",
"hard-light",
"soft-light",
"difference",
"exclusion",
"hue",
"saturation",
"color",
"luminosity",
"plus-lighter"
],
"type": "string"
},
"liquidGlass": {
"type": "object",
"properties": {
"blur": {
"type": "object",
"properties": {
"value": {
"type": "number",
"maximum": 100,
"minimum": 0
},
"enabled": {
"type": "boolean"
}
},
"description": "Blur of everything beneath the layer",
"additionalProperties": false
},
"shadow": {
"type": "object",
"properties": {
"value": {
"type": "number",
"maximum": 200,
"minimum": 0
},
"enabled": {
"type": "boolean"
}
},
"description": "Soft black halo below the edges of the artwork",
"additionalProperties": false
},
"effects": {
"type": "object",
"description": "Advanced parameters by key, merged key by key; keys and defaults in the schema defaults",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
}
},
"enabled": {
"type": "boolean",
"description": "Liquid Glass on or off"
},
"specular": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"inside",
"outside"
],
"type": "string"
}
],
"description": "false = Off, true = Automatic"
},
"aberration": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Dispersion"
},
"refraction": {
"type": "object",
"required": [
"enabled"
],
"properties": {
"enabled": {
"type": "boolean"
}
},
"description": "Strength is effects.refraction, Height is effects.bevel",
"additionalProperties": false
},
"translucency": {
"type": "object",
"properties": {
"value": {
"type": "number",
"maximum": 100,
"minimum": 0
},
"enabled": {
"type": "boolean"
}
},
"additionalProperties": false
},
"specularIntensity": {
"type": "number",
"maximum": 100,
"minimum": 0
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"maxItems": 64
},
"opacity": {
"type": "number",
"maximum": 100,
"minimum": 0
},
"visible": {
"type": "boolean"
},
"blendMode": {
"enum": [
"normal",
"multiply",
"screen",
"overlay",
"darken",
"lighten",
"color-dodge",
"color-burn",
"hard-light",
"soft-light",
"difference",
"exclusion",
"hue",
"saturation",
"color",
"luminosity",
"plus-lighter"
],
"type": "string"
}
},
"additionalProperties": false
}
]
},
"maxItems": 64,
"description": "Top to bottom, as in the layer panel"
},
"outputs": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"bare": {
"type": "boolean"
},
"modes": {
"type": "array",
"items": {
"enum": [
"default",
"dark",
"clear",
"clearDark"
],
"type": "string"
},
"maxItems": 4,
"minItems": 1
},
"sizes": {
"type": "array",
"items": {
"type": "integer",
"maximum": 4096,
"minimum": 16
},
"maxItems": 10,
"minItems": 1
},
"format": {
"enum": [
"png",
"jpeg"
],
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"zip"
],
"properties": {
"zip": {
"type": "boolean",
"const": true,
"description": "Every appearance at 4096, 2048, 1024, 512 and 256 px"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"icon"
],
"properties": {
"icon": {
"type": "boolean",
"const": true,
"description": "Icon Composer document (.icon)"
}
},
"additionalProperties": false
}
]
},
"maxItems": 16,
"description": "Files the CLI writes; defaults to one 1024 px PNG"
},
"appearance": {
"enum": [
"default",
"dark",
"clear",
"clearDark"
],
"type": "string"
},
"background": {
"anyOf": [
{
"type": "object",
"required": [
"hue"
],
"properties": {
"hue": {
"type": "number",
"maximum": 360,
"minimum": 0
},
"tint": {
"type": "number",
"maximum": 100,
"minimum": 0
},
"brightness": {
"type": "number",
"maximum": 100,
"minimum": 0
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"colors"
],
"properties": {
"colors": {
"type": "array",
"items": [
{
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
},
{
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
}
],
"maxItems": 2,
"minItems": 2,
"description": "Top and bottom; repeat a color for a solid background",
"additionalItems": false
}
},
"additionalProperties": false
}
]
}
},
"additionalProperties": false
}
}
}JSON Schema of recipes and layer patches, and the guide.
No arguments.
{
"type": "object",
"properties": {}
}Check a recipe without opening it; returns ok or the list of issues with their paths.
| Argument | Type | Description |
|---|---|---|
| recipe* | any |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"recipe"
],
"properties": {
"recipe": {}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 2, 2026.