studio

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
72%
Calidad de los nombres
80%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,995Tokens (definiciones de herramientas)
~5.9 KBTamaño de respuesta típico
Impacto significativo en la atención (2.34% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Puntos de conexión remotos

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

Qué puede hacer

Inventario de herramientas

Herramientas (5)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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`.

Esquema de entrada

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

Esquema de salida

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

Esquema de entrada

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

Esquema de salida

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

Esquema de entrada

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

Esquema de salida

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

Esquema de entrada

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

Esquema de salida

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

Esquema de entrada

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

Esquema de salida

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

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada5 herramientas
verificadoversión no registrada5 herramientas