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_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')

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.

TDQS

A4/5.0
Disambiguation3/5

Most tools have distinct purposes, but there is clear overlap between 'recommend' and the deprecated 'skincare_recommend', and 'shop' as a routing tool could be ambiguous with 'search_products' and 'recommend'. Descriptions help but are not fully disambiguating.

Naming Consistency2/5

Naming patterns are inconsistent: some use verb_noun (e.g., check_inventory, compare_products), while others are single words (shop) or use a noun prefix (skincare_cart, skincare_recommend). The deprecated duplicate 'skincare_recommend' further disrupts consistency.

Tool Count5/5

14 tools is well within the 3-15 range and covers the necessary functions for a skincare commerce server: product lookup, search, recommendation, comparison, compatibility, inventory, checkout, deals, research notes, and issue reporting. No excess or deficiency.

Completeness4/5

The tool set covers core commerce workflows: browsing, product details, recommendations, checkout, deals, and compatibility checks. Minor gaps exist (e.g., order history or user profile management) but are outside the apparent scope. The deprecated duplicate is a minor inefficiency.

Resources