studio

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

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
72%
Qualität der Benennung
80%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~2,995Tokens (Tool-Definitionen)
~5.9 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.34% von 128k Kontext)

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": {
    "studio": {
      "url": "https://studio.gridgarden.eu/mcp"
    }
  }
}

Remote-Endpunkte

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

Was es kann

Tool-Inventar

Tools (5)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢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`.

Eingabe-Schema

{
  "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#"
}

Ausgabe-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.

Eingabe-Schema

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

Ausgabe-Schema

{
  "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.

Eingabe-Schema

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

Ausgabe-Schema

{
  "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.

Eingabe-Schema

{
  "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#"
}

Ausgabe-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.

Eingabe-Schema

{
  "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#"
}

Ausgabe-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#"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet5 Tools
verifiziertVersion nicht aufgezeichnet5 Tools