Skip to main content
Glama

create_checkout

Create a checkout URL for one or more products. Pass variant IDs (items) and/or product URLs (product_urls). When a product URL is provided (e.g. https://laluer.com/products/mira), the tool resolves it to a variant ID automatically — no catalog import needed. Supports discount codes, cart notes, and selling plans. Do not use unless the user wants to buy — use search_products or skincare_recommend first. Returns a direct Shopify checkout link the user can click to buy.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNoCart note visible to the merchant
itemsNoProducts to add to cart by variant ID
decision_idNoDecision Check ID from a prior /validate call. Required when this merchant enforces authority-gated checkout (decision_policy.authority_mode: "enforce", or the legacy require_authority_for_checkout alias); ignored otherwise.
product_urlsNoProducts to add to cart by URL — resolved to variant IDs automatically
discount_codeNoDiscount code to apply (e.g. 'WELCOME10')

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / decision_id / description
      Previous value: -"Decision Check ID from a prior /validate call. Required when this merchant enforces authority-gated checkout (require_authority_for_checkout); ignored otherwise."New value: +"Decision Check ID from a prior /validate call. Required when this merchant enforces authority-gated checkout (decision_policy.authority_mode: \"enforce\", or the legacy require_authority_for_checkout alias); ignored otherwise."
  2. Changed1 schema field changed
    • addedInput schema / properties / decision_id
      Added value: +{
      +  "description": "Decision Check ID from a prior /validate call. Required when this merchant enforces authority-gated checkout (require_authority_for_checkout); ignored otherwise.",
      +  "maxLength": 100,
      +  "type": "string"
      +}
  3. Changed4 schema fields changed
    • changedInput schema / properties / items / description
      Previous value: -"Products to add to cart"New value: +"Products to add to cart by variant ID"
    • removedInput schema / properties / items / minItems
      Removed value: -1
    • addedInput schema / properties / product_urls
      Added value: +{
      +  "description": "Products to add to cart by URL — resolved to variant IDs automatically",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "quantity": {
      +        "default": 1,
      +        "description": "Quantity (default 1)",
      +        "maximum": 10,
      +        "minimum": 1,
      +        "type": "integer"
      +      },
      +      "url": {
      +        "description": "Shopify product URL (e.g. https://store.com/products/handle)",
      +        "format": "uri",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "url"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 20,
      +  "type": "array"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "items"
      -]
  4. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations (readOnly=false, openWorld=true) are present and not contradicted. The description adds behavioral notes beyond the flags: the URL-to-variant resolution 'happens automatically — no catalog import needed' and the result is a direct, clicking Shopify checkout link; that gives the system a clear model of what invokaking the tool accomplains. It doesn't mention the authority-gated decision_id path, but the schema documents that case, so the safety profile is covered.

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

Conciseness4/5

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

Four sentences, each earning its place: core purpose, the auto-resolution behavior, the supported feature set, and a guardrail plus return format. It is front-loaded with the most important information and keeps feature listing to one sentence. Only a minor polish benefit would come from more trimming.

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

Completeness4/5

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

For a 5-parameter, no-output-schema tool, the description covers the essential agent decision: what the tool does, when to use it, how to route (URLs vs variant IDs), and what is returned (a Shopify checkout link). The authority-gated requirement (decision_id) is a niche configuration left to the schema; the description handles the common path completely.

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 description coverage is 100% — all 5 parameters (items, product_urls, note, discount_code, decision_id) already have meaningful descriptions, defaults, and constraints documented. The description adds framing that HTML and URL inputs are complementary and that URLs auto-resolve, which is helpful but not required to compensate for any coverage gap. 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?

States a specific verb and resource: 'Create a checkout URL for one or more products.' The sentence 'Do not use unless the user wants to buy — use search_products or skincare_recommend first' sharpens the boundary with the sibling recall/recommend tools, so an agent can select this tool without opening its schema.

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

Usage Guidelines5/5

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

The description gives explicit when-not-to-use guidance ('Do not use unless the user wants to purchase') and names alternatives to call first (search_products, skincare_recommend). It also explains that both variant IDs (items, product URLs (product_urls) are acceptable inputs, so there is no ambiguity about how to assemble the call.

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.

Resources