Server definition
- Hash
- sha256:e9c25bdbfff49aa7d4f3860212b999dde8fb9a40441303a7cc2f9186bca6b624
- What it is
- What a remote MCP server returned when asked what it offers: 5 tools
The blob, as servednamed by its sha256
{
"instructions": "GridGarden Studio prices and designs modular Brick Premium (larch) raised garden beds and freestanding garden walls, using the same engine as the gridgarden.eu configurator. Use it whenever a user wants to size, price, or order a raised bed or a garden wall.\n\nAll dimensions are in MILLIMETRES and all prices are in EUR. Supported shapes: rectangle, L-shape, U-shape, and a straight wall. Layer counts: raised beds 2-13, walls 1-25.\n\nTools:\n- studio_pricing_quote: exact bill of materials (planks + connector pins) and total EUR price from dimensions. Start here for \"how much\" / \"what do I need\".\n- studio_templates_list: the supported shapes and the dimension parameters each one needs, with ready example sizes. Call this first if unsure which inputs a shape takes.\n- studio_catalog_bricks: the individual Brick Premium components with live EUR unit prices.\n- studio_bom_to_cart: turn a design into a ready Shopify checkout link. It creates an ANONYMOUS cart only - no account, login, or payment happens here; the user reviews and pays on gridgarden.eu.\n- studio_design_rules: garden-design knowledge-base rules for one step of the design process (brief / koncept / dispozicia / vysadba / materialy) - up to 20 rules with predicate, thresholds, strength, and cited sources. Reference knowledge, not a check against a specific design.\n\nConstraints: only Brick Premium larch components are sold - there are no other materials, thicknesses, or product lines, so do not invent options. Off-grid dimensions are snapped to the nearest buildable 60 mm value and the change is reported in the result. Prices are the EUR base (SK/CZ); some export markets add a small per-component surcharge at checkout.",
"tools": [
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"arm1Length": {
"description": "U-shape: arm 1 length in mm.",
"exclusiveMinimum": 0,
"type": "number"
},
"arm1Width": {
"description": "U-shape: arm 1 width in mm.",
"exclusiveMinimum": 0,
"type": "number"
},
"arm2Length": {
"description": "U-shape: arm 2 length in mm.",
"exclusiveMinimum": 0,
"type": "number"
},
"arm2Width": {
"description": "U-shape: arm 2 width in mm.",
"exclusiveMinimum": 0,
"type": "number"
},
"country": {
"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.",
"maxLength": 2,
"minLength": 2,
"type": "string"
},
"layers": {
"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).",
"exclusiveMinimum": 0,
"type": "integer"
},
"length": {
"description": "Rectangle: outer length in mm.",
"exclusiveMinimum": 0,
"type": "number"
},
"length1": {
"description": "L-shape: first leg length in mm.",
"exclusiveMinimum": 0,
"type": "number"
},
"length2": {
"description": "L-shape: second leg length in mm.",
"exclusiveMinimum": 0,
"type": "number"
},
"shape": {
"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.",
"enum": [
"rectangle",
"lshape",
"ushape",
"wall"
],
"type": "string"
},
"topLength": {
"description": "U-shape: back (top) length in mm.",
"exclusiveMinimum": 0,
"type": "number"
},
"topWidth": {
"description": "U-shape: back (top) width in mm.",
"exclusiveMinimum": 0,
"type": "number"
},
"utm_source": {
"description": "Attribution source recorded on the Shopify cart (UTM). Defaults to \"mcp\".",
"enum": [
"chatgpt",
"claude",
"cursor",
"mcp"
],
"type": "string"
},
"wallLength": {
"description": "Wall: single straight segment length in mm.",
"exclusiveMinimum": 0,
"type": "number"
},
"width": {
"description": "Rectangle: outer width in mm.",
"exclusiveMinimum": 0,
"type": "number"
},
"width1": {
"description": "L-shape: first leg width in mm.",
"exclusiveMinimum": 0,
"type": "number"
},
"width2": {
"description": "L-shape: second leg width in mm.",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"shape",
"layers"
],
"type": "object"
},
"name": "studio_bom_to_cart",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"cart_id": {
"type": "string"
},
"checkout_url": {
"type": "string"
},
"currency": {
"const": "EUR",
"type": "string"
},
"editor_url": {
"type": "string"
},
"line_items": {
"items": {
"additionalProperties": false,
"properties": {
"quantity": {
"type": "number"
},
"variant_id": {
"type": "string"
}
},
"required": [
"variant_id",
"quantity"
],
"type": "object"
},
"type": "array"
},
"price_basis": {
"const": "shopify_cart",
"type": "string"
},
"snapped": {
"items": {
"additionalProperties": false,
"properties": {
"field": {
"type": "string"
},
"requested": {
"type": "number"
},
"used": {
"type": "number"
}
},
"required": [
"field",
"requested",
"used"
],
"type": "object"
},
"type": "array"
},
"summary": {
"type": "string"
},
"total_eur": {
"type": "number"
},
"total_quantity": {
"type": "number"
}
},
"required": [
"checkout_url",
"cart_id",
"total_eur",
"total_quantity",
"currency",
"price_basis",
"line_items",
"summary",
"editor_url"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "studio_catalog_bricks",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"catalog": {
"items": {
"additionalProperties": false,
"properties": {
"available": {
"type": "boolean"
},
"currency": {
"type": "string"
},
"price_eur": {
"type": "number"
},
"role": {
"type": "string"
},
"sku": {
"type": [
"string",
"null"
]
},
"title": {
"type": "string"
},
"variant_id": {
"type": "string"
}
},
"required": [
"variant_id",
"sku",
"title",
"role",
"price_eur",
"currency",
"available"
],
"type": "object"
},
"type": "array"
},
"currency": {
"const": "EUR",
"type": "string"
},
"summary": {
"type": "string"
}
},
"required": [
"catalog",
"currency",
"summary"
],
"type": "object"
}
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"step": {
"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.",
"enum": [
"brief",
"koncept",
"dispozicia",
"vysadba",
"materialy"
],
"type": "string"
}
},
"required": [
"step"
],
"type": "object"
},
"name": "studio_design_rules",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"rules": {
"items": {
"additionalProperties": false,
"properties": {
"area": {
"type": "string"
},
"id": {
"type": "string"
},
"legalNote": {
"enum": [
"not-law",
"law-cz-only",
"municipal-varies"
],
"type": "string"
},
"module": {
"type": "string"
},
"numbers": {
"additionalProperties": {
"type": "number"
},
"type": "object"
},
"sources": {
"items": {
"additionalProperties": false,
"properties": {
"checkedAt": {
"type": "string"
},
"name": {
"type": "string"
},
"ref": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"name",
"url",
"checkedAt"
],
"type": "object"
},
"type": "array"
},
"strength": {
"enum": [
"must",
"should",
"may"
],
"type": "string"
},
"tag": {
"enum": [
"measured",
"cited",
"expert",
"opinion"
],
"type": "string"
},
"textKey": {
"type": "string"
},
"when": {
"type": "string"
}
},
"required": [
"id",
"area",
"strength",
"tag",
"when",
"numbers",
"textKey",
"sources",
"module"
],
"type": "object"
},
"type": "array"
},
"step": {
"enum": [
"brief",
"koncept",
"dispozicia",
"vysadba",
"materialy"
],
"type": "string"
},
"summary": {
"type": "string"
},
"total": {
"type": "number"
},
"truncated": {
"type": "number"
}
},
"required": [
"step",
"rules",
"total",
"truncated",
"summary"
],
"type": "object"
}
},
{
"description": "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`.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"arm1Length": {
"description": "U-shape: arm 1 length in mm.",
"exclusiveMinimum": 0,
"type": "number"
},
"arm1Width": {
"description": "U-shape: arm 1 width in mm.",
"exclusiveMinimum": 0,
"type": "number"
},
"arm2Length": {
"description": "U-shape: arm 2 length in mm.",
"exclusiveMinimum": 0,
"type": "number"
},
"arm2Width": {
"description": "U-shape: arm 2 width in mm.",
"exclusiveMinimum": 0,
"type": "number"
},
"country": {
"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.",
"maxLength": 2,
"minLength": 2,
"type": "string"
},
"layers": {
"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).",
"exclusiveMinimum": 0,
"type": "integer"
},
"length": {
"description": "Rectangle: outer length in mm.",
"exclusiveMinimum": 0,
"type": "number"
},
"length1": {
"description": "L-shape: first leg length in mm.",
"exclusiveMinimum": 0,
"type": "number"
},
"length2": {
"description": "L-shape: second leg length in mm.",
"exclusiveMinimum": 0,
"type": "number"
},
"shape": {
"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.",
"enum": [
"rectangle",
"lshape",
"ushape",
"wall"
],
"type": "string"
},
"topLength": {
"description": "U-shape: back (top) length in mm.",
"exclusiveMinimum": 0,
"type": "number"
},
"topWidth": {
"description": "U-shape: back (top) width in mm.",
"exclusiveMinimum": 0,
"type": "number"
},
"wallLength": {
"description": "Wall: single straight segment length in mm.",
"exclusiveMinimum": 0,
"type": "number"
},
"width": {
"description": "Rectangle: outer width in mm.",
"exclusiveMinimum": 0,
"type": "number"
},
"width1": {
"description": "L-shape: first leg width in mm.",
"exclusiveMinimum": 0,
"type": "number"
},
"width2": {
"description": "L-shape: second leg width in mm.",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"shape",
"layers"
],
"type": "object"
},
"name": "studio_pricing_quote",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"bom": {
"additionalProperties": false,
"properties": {
"panels_middle": {
"additionalProperties": {
"type": "number"
},
"type": "object"
},
"panels_top": {
"additionalProperties": {
"type": "number"
},
"type": "object"
},
"pins": {
"type": "number"
}
},
"required": [
"panels_middle",
"panels_top",
"pins"
],
"type": "object"
},
"country": {
"type": [
"string",
"null"
]
},
"currency": {
"const": "EUR",
"type": "string"
},
"editor_url": {
"type": "string"
},
"layers": {
"type": "number"
},
"price_basis": {
"const": "shopify_live",
"type": "string"
},
"shape": {
"enum": [
"rectangle",
"lshape",
"ushape",
"wall"
],
"type": "string"
},
"shopify_items": {
"items": {
"additionalProperties": false,
"properties": {
"is_optional": {
"type": "boolean"
},
"name": {
"type": "string"
},
"price": {
"type": "number"
},
"quantity": {
"type": "number"
},
"sku": {
"type": "string"
},
"unit": {
"type": "string"
}
},
"required": [
"sku",
"quantity",
"name"
],
"type": "object"
},
"type": "array"
},
"snapped": {
"items": {
"additionalProperties": false,
"properties": {
"field": {
"type": "string"
},
"requested": {
"type": "number"
},
"used": {
"type": "number"
}
},
"required": [
"field",
"requested",
"used"
],
"type": "object"
},
"type": "array"
},
"summary": {
"type": "string"
},
"total_eur": {
"type": "number"
}
},
"required": [
"shape",
"layers",
"bom",
"shopify_items",
"total_eur",
"currency",
"country",
"price_basis",
"summary",
"editor_url"
],
"type": "object"
}
},
{
"description": "List the design shapes GridGarden Studio supports, with the dimension parameters each one needs.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "studio_templates_list",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"templates": {
"items": {
"additionalProperties": false,
"properties": {
"example": {
"additionalProperties": {
"type": [
"string",
"number"
]
},
"type": "object"
},
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"params": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"id",
"label",
"params",
"example"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"templates"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:e9c25bdbfff49aa7d4f3860212b999dde8fb9a40441303a7cc2f9186bca6b624 | sha256sum