Liquid Composer
Check Liquid Glass app icon recipes and open them in the browser editor.
사용해야 할까요
품질 및 안전성
B
발견 사항 (1)
- LOWliquid_schema에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
~2,372토큰 (도구 정의)
~9.0 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.85%)
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"liquid-composer": {
"url": "https://liquid-composer.vercel.app/mcp"
}
}
}원격 엔드포인트
https://liquid-composer.vercel.app/mcpstreamable-http할 수 있는 일
도구 목록
도구 (3)
🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢liquid_schema
JSON Schema of recipes and layer patches, and the guide.
입력 스키마
{
"type": "object",
"properties": {}
}🟢liquid_validate(recipe)
Check a recipe without opening it; returns ok or the list of issues with their paths.
입력 스키마
{
"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.
입력 스키마
{
"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#"
}커뮤니티
증거
최근 관측
검증됨버전이 기록되지 않음도구 3개