studio

Design & price modular raised garden beds and walls: exact bill of materials, EUR price + checkout.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
72%
이름 품질
80%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,995토큰 (도구 정의)
~5.9 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.34%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "studio": {
      "url": "https://studio.gridgarden.eu/mcp"
    }
  }
}

원격 엔드포인트

https://studio.gridgarden.eu/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (5)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢studio_pricing_quote(shape, layers, length, width, length1, ...)

Compute the exact bill of materials (panels + connector pins) and total EUR price for a GridGarden modular Brick Premium raised bed (rectangle / L / U) or freestanding wall, from dimensions in millimetres. Quantities come from the same engine as the Studio configurator; prices are read live from Shopify for the delivery market you pass in `country`.

입력 스키마

{
  "type": "object",
  "properties": {
    "shape": {
      "type": "string",
      "enum": [
        "rectangle",
        "lshape",
        "ushape",
        "wall"
      ],
      "description": "Design type and the dimension fields it needs (all in mm, auto-snapped to the 60mm build grid): rectangle → length + width; lshape → length1 + width1 + length2 + width2; ushape → topLength + topWidth + arm1Length + arm1Width + arm2Length + arm2Width; wall → wallLength. Layers: raised beds 2–13, walls 1–25. Call studio_templates_list for ready example dimensions."
    },
    "layers": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Number of brick layers. Raised beds 2-13, walls 1-25 (1 = a single 60mm top-cap course). Each layer ≈120mm tall (top layer +60mm)."
    },
    "length": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Rectangle: outer length in mm."
    },
    "width": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Rectangle: outer width in mm."
    },
    "length1": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "L-shape: first leg length in mm."
    },
    "width1": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "L-shape: first leg width in mm."
    },
    "length2": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "L-shape: second leg length in mm."
    },
    "width2": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "L-shape: second leg width in mm."
    },
    "topLength": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "U-shape: back (top) length in mm."
    },
    "topWidth": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "U-shape: back (top) width in mm."
    },
    "arm1Length": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "U-shape: arm 1 length in mm."
    },
    "arm1Width": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "U-shape: arm 1 width in mm."
    },
    "arm2Length": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "U-shape: arm 2 length in mm."
    },
    "arm2Width": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "U-shape: arm 2 width in mm."
    },
    "wallLength": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Wall: single straight segment length in mm."
    },
    "country": {
      "type": "string",
      "minLength": 2,
      "maxLength": 2,
      "description": "Delivery market as an ISO-3166-1 alpha-2 code (e.g. \"DE\", \"AT\", \"SK\"). Prices differ by market: SK and CZ are base, every other EU market adds €1 per structural piece. Ask which country the order ships to; omit only if unknown — that returns base (SK/CZ) prices."
    }
  },
  "required": [
    "shape",
    "layers"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "shape": {
      "type": "string",
      "enum": [
        "rectangle",
        "lshape",
        "ushape",
        "wall"
      ]
    },
    "layers": {
      "type": "number"
    },
    "bom": {
      "type": "object",
      "properties": {
        "panels_middle": {
          "type": "object",
          "additionalProperties": {
            "type": "number"
          }
        },
        "panels_top": {
          "type": "object",
          "additionalProperties": {
            "type": "number"
          }
        },
        "pins": {
          "type": "number"
        }
      },
      "required": [
        "panels_middle",
        "panels_top",
        "pins"
      ],
      "additionalProperties": false
    },
    "shopify_items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "sku": {
            "type": "string"
          },
          "quantity": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "unit": {
            "type": "string"
          },
          "is_optional": {
            "type": "boolean"
          },
          "price": {
            "type": "number"
          }
        },
        "required": [
          "sku",
          "quantity",
          "name"
        ],
        "additionalProperties": false
      }
    },
    "total_eur": {
      "type": "number"
    },
    "currency": {
      "type": "string",
      "const": "EUR"
    },
    "country": {
      "type": [
        "string",
        "null"
      ]
    },
    "price_basis": {
      "type": "string",
      "const": "shopify_live"
    },
    "summary": {
      "type": "string"
    },
    "editor_url": {
      "type": "string"
    },
    "snapped": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string"
          },
          "requested": {
            "type": "number"
          },
          "used": {
            "type": "number"
          }
        },
        "required": [
          "field",
          "requested",
          "used"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "shape",
    "layers",
    "bom",
    "shopify_items",
    "total_eur",
    "currency",
    "country",
    "price_basis",
    "summary",
    "editor_url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢studio_templates_list

List the design shapes GridGarden Studio supports, with the dimension parameters each one needs.

입력 스키마

{
  "type": "object",
  "properties": {}
}

출력 스키마

{
  "type": "object",
  "properties": {
    "templates": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "params": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "example": {
            "type": "object",
            "additionalProperties": {
              "type": [
                "string",
                "number"
              ]
            }
          }
        },
        "required": [
          "id",
          "label",
          "params",
          "example"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "templates"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢studio_catalog_bricks

List the GridGarden Brick Premium modular components — middle and TOP planks in XS–XL sizes (plus a 1200mm XXL TOP) and the connector pin — with live EUR unit prices and availability from Shopify. Brick Premium only; no other materials are sold. Read-only.

입력 스키마

{
  "type": "object",
  "properties": {}
}

출력 스키마

{
  "type": "object",
  "properties": {
    "catalog": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "variant_id": {
            "type": "string"
          },
          "sku": {
            "type": [
              "string",
              "null"
            ]
          },
          "title": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "price_eur": {
            "type": "number"
          },
          "currency": {
            "type": "string"
          },
          "available": {
            "type": "boolean"
          }
        },
        "required": [
          "variant_id",
          "sku",
          "title",
          "role",
          "price_eur",
          "currency",
          "available"
        ],
        "additionalProperties": false
      }
    },
    "currency": {
      "type": "string",
      "const": "EUR"
    },
    "summary": {
      "type": "string"
    }
  },
  "required": [
    "catalog",
    "currency",
    "summary"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴studio_bom_to_cart(shape, layers, length, width, length1, ...)

Build a ready-to-pay Shopify cart for a GridGarden Brick Premium raised bed (rectangle / L / U) or wall from millimetre dimensions, and return the checkout URL. Computes the exact bill of materials, maps it to the live Brick Premium product variants, and creates an ANONYMOUS cart — no account, login, or payment occurs; the user reviews and pays on gridgarden.eu. Returns checkout_url, total EUR, and the line items.

입력 스키마

{
  "type": "object",
  "properties": {
    "shape": {
      "type": "string",
      "enum": [
        "rectangle",
        "lshape",
        "ushape",
        "wall"
      ],
      "description": "Design type and the dimension fields it needs (all in mm, auto-snapped to the 60mm build grid): rectangle → length + width; lshape → length1 + width1 + length2 + width2; ushape → topLength + topWidth + arm1Length + arm1Width + arm2Length + arm2Width; wall → wallLength. Layers: raised beds 2–13, walls 1–25. Call studio_templates_list for ready example dimensions."
    },
    "layers": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Number of brick layers. Raised beds 2-13, walls 1-25 (1 = a single 60mm top-cap course). Each layer ≈120mm tall (top layer +60mm)."
    },
    "length": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Rectangle: outer length in mm."
    },
    "width": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Rectangle: outer width in mm."
    },
    "length1": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "L-shape: first leg length in mm."
    },
    "width1": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "L-shape: first leg width in mm."
    },
    "length2": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "L-shape: second leg length in mm."
    },
    "width2": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "L-shape: second leg width in mm."
    },
    "topLength": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "U-shape: back (top) length in mm."
    },
    "topWidth": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "U-shape: back (top) width in mm."
    },
    "arm1Length": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "U-shape: arm 1 length in mm."
    },
    "arm1Width": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "U-shape: arm 1 width in mm."
    },
    "arm2Length": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "U-shape: arm 2 length in mm."
    },
    "arm2Width": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "U-shape: arm 2 width in mm."
    },
    "wallLength": {
      "type": "number",
      "exclusiveMinimum": 0,
      "description": "Wall: single straight segment length in mm."
    },
    "country": {
      "type": "string",
      "minLength": 2,
      "maxLength": 2,
      "description": "Delivery market as an ISO-3166-1 alpha-2 code (e.g. \"DE\", \"AT\", \"SK\"). Prices differ by market: SK and CZ are base, every other EU market adds €1 per structural piece. Ask which country the order ships to; omit only if unknown — that returns base (SK/CZ) prices."
    },
    "utm_source": {
      "type": "string",
      "enum": [
        "chatgpt",
        "claude",
        "cursor",
        "mcp"
      ],
      "description": "Attribution source recorded on the Shopify cart (UTM). Defaults to \"mcp\"."
    }
  },
  "required": [
    "shape",
    "layers"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "checkout_url": {
      "type": "string"
    },
    "cart_id": {
      "type": "string"
    },
    "total_eur": {
      "type": "number"
    },
    "total_quantity": {
      "type": "number"
    },
    "currency": {
      "type": "string",
      "const": "EUR"
    },
    "price_basis": {
      "type": "string",
      "const": "shopify_cart"
    },
    "line_items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "variant_id": {
            "type": "string"
          },
          "quantity": {
            "type": "number"
          }
        },
        "required": [
          "variant_id",
          "quantity"
        ],
        "additionalProperties": false
      }
    },
    "summary": {
      "type": "string"
    },
    "editor_url": {
      "type": "string"
    },
    "snapped": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string"
          },
          "requested": {
            "type": "number"
          },
          "used": {
            "type": "number"
          }
        },
        "required": [
          "field",
          "requested",
          "used"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "checkout_url",
    "cart_id",
    "total_eur",
    "total_quantity",
    "currency",
    "price_basis",
    "line_items",
    "summary",
    "editor_url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢studio_design_rules(step)

List the design-knowledge-base rules relevant to one step of designing a garden (brief / koncept / dispozicia / vysadba / materialy) — up to 20 rules, each with its predicate, numeric thresholds, strength (must/should/may), confidence tag, and cited sources. No garden scene is read or required; this is reference knowledge, not a check against a specific design. Deterministic: the same step always returns the same rule set.

입력 스키마

{
  "type": "object",
  "properties": {
    "step": {
      "type": "string",
      "enum": [
        "brief",
        "koncept",
        "dispozicia",
        "vysadba",
        "materialy"
      ],
      "description": "Design process step to fetch rules for: brief, koncept, dispozicia, vysadba, materialy. Call this once per step you are working on — do not assume one step's rules cover another."
    }
  },
  "required": [
    "step"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "step": {
      "type": "string",
      "enum": [
        "brief",
        "koncept",
        "dispozicia",
        "vysadba",
        "materialy"
      ]
    },
    "rules": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "area": {
            "type": "string"
          },
          "strength": {
            "type": "string",
            "enum": [
              "must",
              "should",
              "may"
            ]
          },
          "tag": {
            "type": "string",
            "enum": [
              "measured",
              "cited",
              "expert",
              "opinion"
            ]
          },
          "when": {
            "type": "string"
          },
          "numbers": {
            "type": "object",
            "additionalProperties": {
              "type": "number"
            }
          },
          "textKey": {
            "type": "string"
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "ref": {
                  "type": "string"
                },
                "checkedAt": {
                  "type": "string"
                }
              },
              "required": [
                "name",
                "url",
                "checkedAt"
              ],
              "additionalProperties": false
            }
          },
          "legalNote": {
            "type": "string",
            "enum": [
              "not-law",
              "law-cz-only",
              "municipal-varies"
            ]
          },
          "module": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "area",
          "strength",
          "tag",
          "when",
          "numbers",
          "textKey",
          "sources",
          "module"
        ],
        "additionalProperties": false
      }
    },
    "total": {
      "type": "number"
    },
    "truncated": {
      "type": "number"
    },
    "summary": {
      "type": "string"
    }
  },
  "required": [
    "step",
    "rules",
    "total",
    "truncated",
    "summary"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 5개
검증됨버전이 기록되지 않음도구 5개