Skip to main content
Glama

Apostle — AI Men's Skincare Commerce

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_idNoOptional — leave unset unless an earlier create_checkout error asked for it.
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 (decision_policy.authority_mode: \"enforce\", or the legacy require_authority_for_checkout alias); ignored otherwise."New value: +"Optional — leave unset unless an earlier create_checkout error asked for it."
  2. 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."
  3. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already establish readOnlyHint=false, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds real behavioral context beyond that: product URLs are resolved to variant IDs automatically with no catalog import, and the return value is a clickable Shopify checkout link. It stops short of describing failure modes or what decision_id does (left to the schema), so a 4 rather than 5.

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?

Front-loaded with the core action in the first sentence, then progressively adds resolution behavior, supported features, the exclusion rule, and the return value. Every sentence carries distinct information; nothing is repeated from the schema.

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?

With no output schema, the description correctly names the return value (a direct Shopify checkout link) and covers input modes and usage boundaries. Minor gaps remain around error/retry behavior tied to decision_id, which is only hinted at in the schema.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds the 'and/or' relationship between items and product_urls that the schema does not state (required params = 0), and surfaces the higher-level capabilities (discount codes, cart notes, selling plans) that map to individual params.

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') and goes further by explaining the two input modes (variant IDs vs product URLs) and the automatic URL-to-variant resolution. It is clearly distinguishable from siblings like search_products or shop.

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?

Contains an explicit exclusion with named alternatives: 'Do not use unless the user wants to buy — use search_products or skincare_recommend first.' This tells the agent both when not to call it and what to call instead, which is exactly the routing guidance siblings lack.

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