Liquid Composer
Check Liquid Glass app icon recipes and open them in the browser editor.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (1)
- LOWin liquid_schema
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"liquid-composer": {
"url": "https://liquid-composer.vercel.app/mcp"
}
}
}Remote-Endpunkte
https://liquid-composer.vercel.app/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (3)
🟢liquid_schema
JSON Schema of recipes and layer patches, and the guide.
Eingabe-Schema
{
"type": "object",
"properties": {}
}🟢liquid_validate(recipe)
Check a recipe without opening it; returns ok or the list of issues with their paths.
Eingabe-Schema
{
"type": "object",
"properties": {
"recipe": {}
},
"required": [
"recipe"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢liquid_open(recipe)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"recipe": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"appearance": {
"type": "string",
"enum": [
"default",
"dark",
"clear",
"clearDark"
]
},
"background": {
"anyOf": [
{
"type": "object",
"properties": {
"hue": {
"type": "number",
"minimum": 0,
"maximum": 360
},
"tint": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"brightness": {
"type": "number",
"minimum": 0,
"maximum": 100
}
},
"required": [
"hue"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"colors": {
"type": "array",
"items": [
{
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
},
{
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
}
],
"additionalItems": false,
"minItems": 2,
"maxItems": 2,
"description": "Top and bottom; repeat a color for a solid background"
}
},
"required": [
"colors"
],
"additionalProperties": false
}
]
},
"layers": {
"maxItems": 64,
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Unique; used as the layer reference"
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"blendMode": {
"type": "string",
"enum": [
"normal",
"multiply",
"screen",
"overlay",
"darken",
"lighten",
"color-dodge",
"color-burn",
"hard-light",
"soft-light",
"difference",
"exclusion",
"hue",
"saturation",
"color",
"luminosity",
"plus-lighter"
]
},
"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"
},
"layout": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -512,
"maximum": 512,
"description": "% of the icon size from the center, + = right"
},
"y": {
"type": "number",
"minimum": -512,
"maximum": 512,
"description": "% of the icon size from the center, + = down"
},
"scale": {
"type": "number",
"minimum": 1,
"maximum": 400,
"description": "% of the icon size"
}
},
"additionalProperties": false
},
"fill": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "none"
}
},
"required": [
"type"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "solid"
},
"color": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
}
},
"required": [
"type",
"color"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "gradient"
},
"stops": {
"minItems": 2,
"maxItems": 8,
"type": "array",
"items": {
"type": "object",
"properties": {
"offset": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"color": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
}
},
"required": [
"offset",
"color"
],
"additionalProperties": false
}
},
"angle": {
"default": 90,
"type": "number"
}
},
"required": [
"type",
"stops"
],
"additionalProperties": false
}
],
"description": "Recolors the artwork; none keeps the image colors"
},
"liquidGlass": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Liquid Glass on or off"
},
"specular": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"enum": [
"inside",
"outside"
]
}
],
"description": "false = Off, true = Automatic"
},
"specularIntensity": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"refraction": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
},
"required": [
"enabled"
],
"additionalProperties": false,
"description": "Strength is effects.refraction, Height is effects.bevel"
},
"blur": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100
}
},
"additionalProperties": false,
"description": "Blur of everything beneath the layer"
},
"translucency": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100
}
},
"additionalProperties": false
},
"shadow": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 200
}
},
"additionalProperties": false,
"description": "Soft black halo below the edges of the artwork"
},
"aberration": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Dispersion"
},
"effects": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
},
"description": "Advanced parameters by key, merged key by key; keys and defaults in the schema defaults"
}
},
"additionalProperties": false
},
"type": {
"type": "string",
"const": "layer"
}
},
"additionalProperties": false
},
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Unique; used as the layer reference"
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"blendMode": {
"type": "string",
"enum": [
"normal",
"multiply",
"screen",
"overlay",
"darken",
"lighten",
"color-dodge",
"color-burn",
"hard-light",
"soft-light",
"difference",
"exclusion",
"hue",
"saturation",
"color",
"luminosity",
"plus-lighter"
]
},
"layers": {
"maxItems": 64,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Unique; used as the layer reference"
},
"visible": {
"type": "boolean"
},
"opacity": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"blendMode": {
"type": "string",
"enum": [
"normal",
"multiply",
"screen",
"overlay",
"darken",
"lighten",
"color-dodge",
"color-burn",
"hard-light",
"soft-light",
"difference",
"exclusion",
"hue",
"saturation",
"color",
"luminosity",
"plus-lighter"
]
},
"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"
},
"layout": {
"type": "object",
"properties": {
"x": {
"type": "number",
"minimum": -512,
"maximum": 512,
"description": "% of the icon size from the center, + = right"
},
"y": {
"type": "number",
"minimum": -512,
"maximum": 512,
"description": "% of the icon size from the center, + = down"
},
"scale": {
"type": "number",
"minimum": 1,
"maximum": 400,
"description": "% of the icon size"
}
},
"additionalProperties": false
},
"fill": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "none"
}
},
"required": [
"type"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "solid"
},
"color": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
}
},
"required": [
"type",
"color"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "gradient"
},
"stops": {
"minItems": 2,
"maxItems": 8,
"type": "array",
"items": {
"type": "object",
"properties": {
"offset": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"color": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
}
},
"required": [
"offset",
"color"
],
"additionalProperties": false
}
},
"angle": {
"default": 90,
"type": "number"
}
},
"required": [
"type",
"stops"
],
"additionalProperties": false
}
],
"description": "Recolors the artwork; none keeps the image colors"
},
"liquidGlass": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Liquid Glass on or off"
},
"specular": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "string",
"enum": [
"inside",
"outside"
]
}
],
"description": "false = Off, true = Automatic"
},
"specularIntensity": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"refraction": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
},
"required": [
"enabled"
],
"additionalProperties": false,
"description": "Strength is effects.refraction, Height is effects.bevel"
},
"blur": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100
}
},
"additionalProperties": false,
"description": "Blur of everything beneath the layer"
},
"translucency": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 100
}
},
"additionalProperties": false
},
"shadow": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"value": {
"type": "number",
"minimum": 0,
"maximum": 200
}
},
"additionalProperties": false,
"description": "Soft black halo below the edges of the artwork"
},
"aberration": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Dispersion"
},
"effects": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
},
"description": "Advanced parameters by key, merged key by key; keys and defaults in the schema defaults"
}
},
"additionalProperties": false
},
"type": {
"type": "string",
"const": "layer"
}
},
"additionalProperties": false
}
},
"type": {
"type": "string",
"const": "group"
}
},
"required": [
"type"
],
"additionalProperties": false
}
]
},
"description": "Top to bottom, as in the layer panel"
},
"outputs": {
"maxItems": 16,
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"format": {
"type": "string",
"enum": [
"png",
"jpeg"
]
},
"sizes": {
"minItems": 1,
"maxItems": 10,
"type": "array",
"items": {
"type": "integer",
"minimum": 16,
"maximum": 4096
}
},
"modes": {
"minItems": 1,
"maxItems": 4,
"type": "array",
"items": {
"type": "string",
"enum": [
"default",
"dark",
"clear",
"clearDark"
]
}
},
"bare": {
"type": "boolean"
}
},
"additionalProperties": false
},
{
"type": "object",
"properties": {
"zip": {
"type": "boolean",
"const": true,
"description": "Every appearance at 4096, 2048, 1024, 512 and 256 px"
}
},
"required": [
"zip"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"icon": {
"type": "boolean",
"const": true,
"description": "Icon Composer document (.icon)"
}
},
"required": [
"icon"
],
"additionalProperties": false
}
]
},
"description": "Files the CLI writes; defaults to one 1024 px PNG"
}
},
"additionalProperties": false
}
},
"required": [
"recipe"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Nachweis