Skip to main content
Glama

Add a GridGarden design to a Shopify cart (checkout link)

studio_bom_to_cart
Destructive

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
shapeYesDesign 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.
widthNoRectangle: outer width in mm.
layersYesNumber of brick layers. Raised beds 2-13, walls 1-25 (1 = a single 60mm top-cap course). Each layer ≈120mm tall (top layer +60mm).
lengthNoRectangle: outer length in mm.
width1NoL-shape: first leg width in mm.
width2NoL-shape: second leg width in mm.
countryNoDelivery 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.
length1NoL-shape: first leg length in mm.
length2NoL-shape: second leg length in mm.
topWidthNoU-shape: back (top) width in mm.
arm1WidthNoU-shape: arm 1 width in mm.
arm2WidthNoU-shape: arm 2 width in mm.
topLengthNoU-shape: back (top) length in mm.
arm1LengthNoU-shape: arm 1 length in mm.
arm2LengthNoU-shape: arm 2 length in mm.
utm_sourceNoAttribution source recorded on the Shopify cart (UTM). Defaults to "mcp".
wallLengthNoWall: single straight segment length in mm.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
cart_idYes
snappedNo
summaryYes
currencyYes
total_eurYes
editor_urlYes
line_itemsYes
price_basisYes
checkout_urlYes
total_quantityYes

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that it creates an anonymous cart without auth or payment, and returns a checkout URL, complementing destructiveHint=true. It adds context about bill-of-materials computation and variant mapping beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each adding unique information: purpose/scope, internal process and safety, and return values. No redundant words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex 17-parameter tool with rich schema and output schema, the description covers the end-to-end behavior, side effects, and return values sufficiently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters with detailed descriptions. The description adds no additional parameter meaning beyond what the schema already provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: builds a ready-to-pay Shopify cart and returns the checkout URL. It distinguishes from sibling tools by focusing on cart creation rather than catalog, pricing, or templates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clear context: this tool creates a cart for checkout, implying when to use it. However, it lacks explicit alternatives or when-not to use it, though sibling distinction is implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.3/5.0
Disambiguation4/5

Most tools have clearly distinct roles: listing templates, listing products, computing a price, and creating a cart. The only potential confusion is between studio_pricing_quote and studio_bom_to_cart, but their descriptions clarify that one returns a quote while the other builds a cart.

Naming Consistency2/5

All tools share the 'studio_' prefix, but the naming conventions vary: 'bom_to_cart' uses a phrase with 'to', while 'catalog_bricks', 'pricing_quote', and 'templates_list' mix noun-noun and gerund-noun patterns. There is no consistent verb_noun structure.

Tool Count5/5

With exactly 4 tools, the set is tightly scoped to the server's purpose: exploring designs, seeing available components, calculating prices, and initiating a purchase. Each tool adds distinct value and none feel redundant.

Completeness5/5

The tools cover the full user journey from template discovery to final checkout, including product catalog access and pricing. No obvious missing operations are needed for the stated domain of configuring and ordering GridGarden Brick Premium beds.

Resources