Skip to main content
Glama

SendaMeal Storefront

Server Details

Search gift meals and send them as gifts. Live catalog, cart, and guest checkout for SendaMeal.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.4% over 41 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.2/5.0

Scored across 6 tools

Disambiguation4/5

The tools are largely distinct: search, get details, add, remove, update, and checkout. However, 'remove_item_from_cart' and 'update_cart_item' could be slightly confused since both modify cart items, but their descriptions clarify that one removes entirely and the other adjusts quantity/options.

Naming Consistency3/5

The naming is mostly consistent with verb_noun pattern (search_products, get_product_details, add_item_to_cart, remove_item_from_cart, update_cart_item), but 'create_checkout_url' is an exception (verb_noun with 'checkout_url' rather than 'checkout' or 'checkout_session'). Still readable and predictable.

Tool Count5/5

Six tools is well-scoped for an e-commerce cart server. Each tool serves a distinct function in the product discovery and cart management workflow, from searching to checkout. No extraneous tools.

Completeness4/5

The server covers the main lifecycle: search, view details, add, update, remove, and create checkout URL. However, there is no tool to view the current cart contents directly, which is a notable gap since agents may need to list items before updating or removing. But it's workable as users can infer what they added.

Available Tools

6 tools
add_item_to_cartAInspect

Add one or more items to the shopping cart.

If no cart exists, this tool makes a new cart. This tool adds products and gift certificates.

Steps

  1. Call the 'search_products' tool to find a product.

  2. Call the 'get_product_details' tool to get the variants and the modifier options.

  3. Call this tool to add the item.

  4. Call the 'create_checkout_url' tool to get a checkout URL.

Rules

Send 'quantity' and 'productEntityId' for each item. If the product has variants, send 'variantEntityId'.

Modifier options

A modifier option is a product choice that is not a variant. Examples are an engraving message and a nicotine strength. The 'get_product_details' tool returns these options in 'modifierOptions'.

If the product has no 'modifierOptions', do not send 'selectedOptions'. Do not send a variant option in 'selectedOptions'. Send a variant in 'variantEntityId'.

An option is required if 'isRequired' is 'true'. Send each required option. If you do not send a required option, the server does not add the item.

To send an option:

  1. Read the bucket name from 'selectedOptionsKey'.

  2. Add the option to 'item.selectedOptions' in that bucket.

  3. Send the 'optionEntityId' of the option.

  4. For a choice option, send the 'valueEntityId' of the value that the user selected.

Send only the buckets that you need.

Example. A required choice option has a 'selectedOptionsKey' of "multipleChoices", an 'optionEntityId' of 108, and a selected value with a 'valueEntityId' of 251: { "item": { "quantity": 1, "productEntityId": 88, "variantEntityId": 67, "selectedOptions": { "multipleChoices": [ { "optionEntityId": 108, "optionValueEntityId": 251 } ] } } }

A free-entry bucket takes a typed value in place of an ID. 'textFields' and 'multiLineTextFields' take "text". 'numberFields' takes "number". 'dateFields' takes "date". Obey the 'constraints' of the option.

If a required option has more than one value, ask the user to select one value. Do not select a value yourself. Do not use the default value.

If 'unsupported' is 'true', you cannot send the option. If such an option is also required, tell the user to buy the product on the website.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
cartYes
messageNo
successYes

TDQS

A5/5.0
Behavior5/5

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

With no annotations provided, the description fully carries the burden of behavioral disclosureaine it explains side effects (creates a new cart if none exists), prerequisites (must call search_products and get_product_details first), and failure modes (server does not add item if required option is missing, user must buy on website if unsupported and required). It also clarifies that default values should not be used, which is important behavioral guidance.

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?

The description is lengthy but extremely structured, using numbered steps and bullet lists to break down complex logic. It front-loads the core purpose and steps, then details modifier options and rules. Every sentence serves a purpose; there is no filler. The example is provided to clarify the expected JSON format, which is necessary for a complex schema. The length is justified given the complexity of the tool.

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?

Despite the complexity of the tool (nested objects, multiple option types, constraints) and the absence of annotations, the description covers all necessary aspects: pre-conditions, usage steps, parameter semantics, failure handling, and interaction with other tools. The output schema exists, so return value details are not needed. The description is comprehensive enough for an agent to correctly invoke the tool in various scenarios.

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

Parameters5/5

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

The schema has no descriptions (0% coverage), so the description must add meaning to parameters. It explains the purpose of each key: 'quantity' and 'productEntityId' for every item, 'variantEntityId' for variants, and 'selectedOptions' for modifier options. It details the structure of selectedOptions, mapping bucket names to value types (text, number, date, IDs) and clarifies the distinction between variants and options, which is critical for correct invocation.

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: adding one or more items to the shopping cart, including products and gift certificates, and creating a cart if necessary. It distinguishes itself from siblings by explicitly listing a workflow with preceding steps (search_products, get_product_details) and succeeding steps (create_checkout_url), making its role in the broader process unambiguous.

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 provides extensive usage guidance: it outlines a step-by-step procedure (search, get details, add, checkout), specifies rules for mandatory fields (quantity, productEntityId, variantEntityId when variants exist), details when to omit selectedOptions (when no modifierOptions exist), and instructs to ask the user for multi-value required options instead of selecting default values. It also covers error handling for unsupported required options.

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

create_checkout_urlAInspect

CreateResult a checkout URL for a cart assigned to a current session

Arguments: None, but requires a cart to be present in the current session.

Returns:

  • checkoutURL - the URL to redirect the user to for checkout

  • errors - any errors encountered during the process (like, cart not found, etc.)

Flow:

  • Call 'manage_cart' with 'create_cart' operation to create a new cart.

  • Call this tool to create a checkout URL for the cart assigned to the current session.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
messageNo
successYes
checkoutURLNo

TDQS

A3.8/5.0
Behavior3/5

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

The description discloses that the tool requires a cart in the current session and returns errors if the cart is not found. It also explains the expected flow. However, it doesn't disclose side effects (e.g., whether the cart is consumed or invalidated after creating the URL) or any rate limits. With no annotations provided, the description carries the burden, and it partially meets it.

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?

The description is well-structured with clear sections for Arguments, Returns, and Flow. It's concise and front-loads the purpose. The flow section is slightly redundant with the purpose but adds useful sequencing.

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?

Given the tool has no parameters and a clear output schema, the description covers the essential context: prerequisites, return values, and the recommended flow. It could mention what happens to the cart after checkout URL creation, but overall it's complete enough for an agent to invoke correctly.

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?

The tool has zero parameters, so the description doesn't need to explain parameter semantics. The description correctly notes 'Arguments: None' and explains the implicit dependency on the session cart, which adds context beyond the empty schema.

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

Purpose4/5

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

The description clearly states the tool's purpose: creating a checkout URL for a cart in the current session. It distinguishes itself from sibling cart tools by focusing on the checkout URL generation step, though it doesn't explicitly name a sibling alternative.

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?

The description provides a clear flow: first call manage_cart with create_cart, then call this tool. It also notes the prerequisite that a cart must be present in the current session. It doesn't explicitly state when not to use it, but the flow guidance is strong.

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

get_product_detailsAInspect

Get the details of one or more products. The details are the variants, the options, and the images.

Arguments

productIds - The list of product IDs. Get these IDs from the 'search_products' tool. Request only the products that the user needs. The server has a maximum count of IDs. The default maximum is 20. If you send too many IDs, the server returns an error. Then send fewer IDs. option_values - The option IDs and the value IDs of one variant. Use this argument with one product ID only. This argument applies to the B2C catalog. For a B2B buyer, the tool returns all the variants. Then select one variant. channelId - Optional. This argument selects the B2B catalog. The default is the channel of the request. variantCursor - Optional. This argument gets the next page of variants. Use this argument with one product ID only. Take the value from 'nextVariantCursor' in the previous result. If 'nextVariantCursor' is absent, or is null, or is the text "null", do not send this argument.

Results

The tool returns a list of products in 'products'. The output schema gives all the fields. A product has 'modifierOptions' only if the product has modifier options. A variant has a price, an inventory level, a purchase flag, and bulk prices only for a B2B buyer. If the tool does not find a product, the list does not include that product.

Modifier options

A modifier option is a product choice that is not a variant. Examples are an engraving message and a gift note. A variant option is never a modifier option.

If a product has no 'modifierOptions', add the product to the cart without 'selectedOptions'.

An option is required if 'isRequired' is 'true'. Send each required option to the 'add_item_to_cart' tool. If you do not send a required option, the server does not add the item. A variant selection does not replace a required option.

Each option has 'optionEntityId', 'displayName', and 'selectedOptionsKey'. 'selectedOptionsKey' is the name of the field to send the option in. A choice option has 'values'. Each value has 'valueEntityId' and 'label'. A free-entry option has 'constraints' in place of 'values'.

If 'unsupported' is 'true', you cannot send the option. A file upload is one example. If such an option is also required, tell the user to buy the product on the website.

Variant pages

The list of variants can be one page of a longer list. The server sets the page size.

If 'hasMoreVariants' is 'true', more variants exist than the tool returned. Then do not tell the user that a variant does not exist. You did not receive all the variants.

To get the next page, call this tool again. Send the same product ID, and only that product ID. Send 'variantCursor' with the value of 'nextVariantCursor'.

A filter is better than a page walk. If the user named the variant, send 'option_values' instead. One filtered call is cheaper than many pages.

Do not change 'option_values' between pages. The cursor is a position in the list of the previous call. A different filter gives the wrong variants.

Stock

Each product has 'inStock'. It tells you if the store has units in stock. It does not tell you if the user can buy the product.

If 'inStock' is 'false', do not refuse the request. Many stores accept orders for products that are not in stock. Tell the user that the product is not in stock, and that delivery can take more time. Then add the product if the user agrees. If the store blocks the purchase, the 'add_item_to_cart' tool fails and gives a reason. Give that reason to the user.

If 'inStock' is 'true', the store reports no out-of-stock condition. A store that does not count stock reports 'true' for all products. Therefore do not tell the user a quantity.

'inventoryLevel' is present only if the store publishes stock counts. If 'inventoryLevel' is absent, the count is unknown. The count is not zero.

Each variant has its own 'inStock'. Use the value of the variant if you add one variant.

Steps

  1. Call the 'search_products' tool to get the product IDs.

  2. Call this tool with the product IDs.

  3. Call the 'add_item_to_cart' tool with the results of step 1 and step 2.

If a product has variants, you must tell the 'add_item_to_cart' tool which variant to add. If a product has required modifier options, you must send those options.

ParametersJSON Schema
NameRequiredDescriptionDefault
channelIdNo
productIdsYes
option_valuesNo
variantCursorNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
messageNo
successYes
productsYes
totalCountYes

TDQS

A5/5.0
Behavior5/5

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

With no annotations, the description fully carries the behavioral disclosure burden and does so thoroughly: maximum ID count and errors, omitted missing products, optional modifierOptions, unsupported options, pagination semantics, inStock meaning and its limitations, inventoryLevel absence, and variant-level stock. There is no contradiction with the schema or 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?

Although long, the description is well structured with clear sections: Arguments, Results, Modifier options, Variant pages, Stock, and Steps. Every added block serves a real calling decision, and the opening sentence immediately states the core purpose. The length is proportionate to the tool's complexity.

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?

The description covers argument semantics, return behavior, edge cases, pagination, stock caveats, required modifiers, and a full step-by-step workflow. With an output schema present, it appropriately delegates field-level output details to the schema while explaining all behavioral nuances an agent needs to call the tool correctly.

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

Parameters5/5

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

Schema coverage is 0%, but the description compensates completely. It explains where productIds come from, the server maximum and error recovery, the structure and B2C/B2B behavior of option_values, the role of channelId, and how variantCursor must be populated from nextVariantCursor. It even documents option value fields like optionEntityId and selectedOptionsKey.

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 opens with a specific verb and resource: 'Get the details of one or more products' including variants, options, and images. It clearly distinguishes itself from sibling tools by positioning search_products as the ID source and add_item_to_cart as the downstream consumer.

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?

Provides explicit when-to-use guidance: call search_products first, request only needed products, respect the ID limit, use option_values for one product with B2C, use channelId for B2B, and paginate with variantCursor only when nextVariantCursor exists. It also gives a direct filter-versus-pagination recommendation and warns against changing filters between pages.

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

remove_item_from_cartAInspect

Remove specific items from your shopping cart. It is removing the item completly from the cart. If you want to reduce quantity of the items use 'update_cart_item'

Remove unwanted items from your shopping cart by targeting specific item IDs. This tool provides precise control over cart cleanup and item removal.

Use this tool when customers want to: -Remove specific products they no longer want -Delete gift certificates from their cart -Clean up their cart before checkout -Remove items added by mistake

Features:

  • Target removal by specific item ID

  • Works with both products and gift certificates

  • Maintains cart structure after removal

  • Immediate cart updates

Flow:

  • Call 'search_products' tool to find products by search term.

  • Call 'get_product_details' tool to get product variants and images.

  • Call 'add_item_to_cart' tool to create new cart with item

  • Call 'add_item_to_cart' tool to add another item to cart

  • Call 'remove_item_from_cart' tool to remove added item to cart

  • Call 'create_checkout_url' tool to generate a checkout URL for the cart.

Requires an existing cart with items to remove.

ParametersJSON Schema
NameRequiredDescriptionDefault
item_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
cartYes
messageNo
successYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description must carry the full burden of behavioral disclosure. It states that removal is complete ('removing the item completly from the cart'), that it works for both products and gift certificates, maintains cart structure, and provides immediate updates. This adds genuine context beyond the raw tool name. It could mention irreversibility or error conditions, but given the simple scope it is fairly transparent.

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

Conciseness2/5

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

The description is overly verbose and repetitive. It states the purpose multiple times, includes a 'Flow' section that outlines a full shopping journey with unrelated tools, and contains a typo ('completly'). While the key information is front-loaded, the unnecessary workflow steps and redundant features make it less concise than it should be.

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?

The tool is simple with one parameter, and an output schema exists, so return values need not be described. The description covers prerequisites (existing cart), use cases, parameter semantics, and behavioral details. However, the 'Flow' section adds contextual workflow that may be helpful but is not directly needed, and there is no mention of possible errors. Overall, it is sufficiently complete for a tool of this complexity.

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?

The input schema has one required string parameter 'item_id' with no description. The tool description explicitly mentions targeting by 'specific item ID' and lists 'Target removal by specific item ID' as a feature. This clarifies that the parameter is the ID of the item to remove, adding meaning beyond the raw schema.

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 removes specific items from the shopping cart, using a specific verb and resource. It distinguishes itself from the sibling tool 'update_cart_item' by explicitly noting that quantity reduction should use that alternative, and it lists concrete use cases like removing gift certificates and cleaning up cart.

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 explicitly says when to use this tool vs. alternatives: 'If you want to reduce quantity of the items use 'update_cart_item''. It also provides a list of scenarios (remove specific products, delete gift certificates, clean up before checkout, remove items added by mistake) and a precondition: 'Requires an existing cart with items to remove'.

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

search_productsAInspect

Search products by a term

Arguments: term - the search term to look for products. It should be at least 3 characters long. cursor - optional, used for pagination. If provided, it will return the next page of results after.

Pagination: Supports pagination with 'cursor' arguments. If 'cursor' is not provided, it will return the first page of results. Value for 'cursor' can be obtained from the 'nextCursor' field in the response. If 'nextCursor' is null, it means there are no more results to fetch. If value of cursor is null (or a string representation of 'null') dont send it in the payload.

Results: Each product includes 'requiresFileUpload'. When true, the product has a required file-upload option (e.g. "upload your design") and shouldn't be added to cart through this assistant. Do not attempt to purchase it — tell the user it must be ordered on the website.

Stock: Each product carries 'inStock'. It reports whether the store has units on hand. It does NOT report whether the item can be bought.

  • false does NOT mean the purchase will fail. Many stores accept orders for out-of-stock items - backorder, pre-order, or made-to-order goods that are fabricated after ordering. Whether a given store does is not exposed by this API. So: tell the user the item is out of stock and may take longer to arrive, then ADD IT if they still want it. Do not refuse on 'inStock: false' alone.

  • If the store really does block it, 'add_item_to_cart' fails and returns the reason. Relay that reason to the user. Attempting the add is the only reliable way to find out.

  • true only means no out-of-stock condition is reported. A store that does not track inventory reports true for every product, so never state or imply a quantity.

  • 'inventoryLevel' appears only on stores that publish stock figures; absent means undisclosed, not zero.

Flow:

  • Call this tool with a 'term' argument and optionally with 'cursor' to search for products.

    • if you find a matching product, call 'get_product_details' with the product ID to get its variants and options (if any).

    • if 'requiresFileUpload' is true, inform the user the product needs a file upload and cannot be purchased here.

  • Call 'add_item_to_cart' with results of 'search_products' and 'get_product_details' (variant) tools to add the product to the cart.

    • [IMPORTANT] If product has variants ask user to pick

ParametersJSON Schema
NameRequiredDescriptionDefault
termYes
cursorNo
contextNoAdditional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately. Should not contains PII.

Output Schema

ParametersJSON Schema
NameRequiredDescription
messageNo
successYes
productsYes
nextCursorNo

TDQS

A4.9/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full burden. It thoroughly discloses behavior: pagination semantics, the meaning of requiresFileUpload, inStock and inventoryLevel caveats, and the recommended handling of out-of-stock items. It also explains that inStock false does not guarantee purchase failure.

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?

The description is longer than average but well-structured with headings. It includes necessary edge-case explanations and flow guidance. There is minor redundancy around cursor null handling, but overall each section contributes value.

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?

The description covers not only how to invoke the tool but also how to interpret results, handle file-upload products, deal with stock status nuances, and proceed with cart operations. It is comprehensive enough for an agent to use the tool correctly without additional context.

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

Parameters5/5

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

The schema only describes 'context', but the description adds meaningful detail for 'term' (minimum length) and 'cursor' (pagination usage and source from nextCursor). All parameters are effectively covered when combining schema and description.

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 purpose with a specific verb and resource: 'Search products by a term'. It is easily distinguished from sibling tools like get_product_details, add_item_to_cart, and checkout-related tools.

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 provides explicit usage instructions, including when to call this tool, how to supply 'term' and optional 'cursor', and the subsequent flow involving get_product_details and add_item_to_cart. It also clarifies when not to proceed, such as when requiresFileUpload is true.

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

update_cart_itemAInspect

Change an item that is already in the shopping cart.

Use this tool to change the quantity, the variant, or the modifier options of one cart item. A cart must exist and must have items.

Steps

  1. Call the 'add_item_to_cart' tool to put an item in the cart.

  2. Call this tool to change the item.

  3. Call the 'create_checkout_url' tool to get a checkout URL.

Rules

Send 'line_item_id' to select the cart item to change. Send 'quantity' and 'productEntityId' in 'item'. If the product has variants, send 'variantEntityId'.

Modifier options

'item.selectedOptions' works as it works in the 'add_item_to_cart' tool. The 'get_product_details' tool returns these options in 'modifierOptions'.

If the product has required modifier options, send them again in this request. If you do not send them, the server does not change the item. Send only the buckets that you need.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemYes
line_item_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
cartYes
messageNo
successYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does well by noting that required modifier options must be resent or the item is not changed, and that only specified buckets are updated (implying partial update semantics). It also directs agents to other tools for selectedOptions structure. It lacks explicit mention of error handling or what happens to unspecified fields, but given the presence of an output schema, this is a solid attempt at transparency.

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?

The description is well-structured with clear sections for steps, rules, and modifier options. The first sentence immediately establishes the purpose, followed by prerequisites and ordered steps. While it is longer than some, every section earns its place by covering essential usage details. The use of headings and numbered steps aids readability, and there is no redundant filler.

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?

Given the tool's complexity (nested object, six modifier option types, conditional fields), the description covers the critical aspects: how to select the item, what to send, and the nuance of required modifier options. It leverages references to sibling tools for shared structures, which is an efficient trade-off. With an output schema available, the description doesn't need to detail return values. Minor gaps (e.g., error behavior, handling of missing line_item_id) exist but are not detrimental.

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 description coverage is 0%, so the description is the sole source of parameter meaning. It explains line_item_id selects the cart item, item contains quantity, productEntityId, and variantEntityId, and that selectedOptions works as in add_item_to_cart. It clarifies conditional fields (variantEntityId) and required vs. optional modifier options, going well beyond the raw schema. Some individual fields (e.g., productEntityId) are not explicitly described, but their purpose is self-evident from the tool name and context.

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 'Change an item that is already in the shopping cart' and specifies the exact attributes it can change (quantity, variant, modifier options). It distinguishes itself from sibling tools by describing its role in the cart workflow and referencing add_item_to_cart and create_checkout_url as adjacent steps. This gives an agent a precise understanding of what the tool does and when it fits.

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 provides explicit prerequisites ('A cart must exist and must have items'), a step-by-step sequence (call add_item_to_cart first, then this tool, then create_checkout_url), and references to get_product_details for obtaining modifier options. It also clarifies when to send certain parameters (e.g., variantEntityId if product has variants). This is a model of usage guidance, leaving no ambiguity about when and how to invoke the tool.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedget_product_details3 fields changed
      • addedInput schema / properties / variantCursor
        Added value: +{
        +  "type": [
        +    "null",
        +    "string"
        +  ]
        +}
      • addedOutput schema / properties / products / items / properties / hasMoreVariants
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / products / items / properties / nextVariantCursor
        Added value: +{
        +  "type": "string"
        +}
  2. 1 tool update
    • Changedget_product_details3 fields changed
      • removedInput schema / properties / variantCursor
        Removed value: -{
        -  "type": [
        -    "null",
        -    "string"
        -  ]
        -}
      • removedOutput schema / properties / products / items / properties / hasMoreVariants
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedOutput schema / properties / products / items / properties / nextVariantCursor
        Removed value: -{
        -  "type": "string"
        -}
  3. 1 tool update
    • Changedget_product_details3 fields changed
      • addedInput schema / properties / variantCursor
        Added value: +{
        +  "type": [
        +    "null",
        +    "string"
        +  ]
        +}
      • addedOutput schema / properties / products / items / properties / hasMoreVariants
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / products / items / properties / nextVariantCursor
        Added value: +{
        +  "type": "string"
        +}
  4. 1 tool update
    • Changedcreate_checkout_url1 field changed
      • removedOutput schema / properties / errors
        Removed value: -{
        -  "items": true,
        -  "type": [
        -    "null",
        -    "array"
        -  ]
        -}
  5. 1 tool update
    • Changedcreate_checkout_url1 field changed
      • addedOutput schema / properties / errors
        Added value: +{
        +  "items": true,
        +  "type": [
        +    "null",
        +    "array"
        +  ]
        +}
  6. 1 tool update
    • Changedcreate_checkout_url1 field changed
      • removedOutput schema / properties / errors
        Removed value: -{
        -  "items": true,
        -  "type": [
        -    "null",
        -    "array"
        -  ]
        -}
  7. 3 tool updates
    • Changedadd_item_to_cart2 fields changed
      • removedInput schema / properties / item / properties / selectedOptions / required
        Removed value: -[
        -  "checkboxes",
        -  "dateFields",
        -  "multiLineTextFields",
        -  "multipleChoices",
        -  "numberFields",
        -  "textFields"
        -]
      • changedInput schema / properties / item / required
        Previous value: -[
        -  "quantity",
        -  "productEntityId",
        -  "variantEntityId",
        -  "selectedOptions"
        -]New value: +[
        +  "quantity",
        +  "productEntityId",
        +  "variantEntityId"
        +]
    • Changedget_product_details1 field changed
      • addedOutput schema / properties / products / items / properties / modifierOptions
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "constraints": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "earliest": {
        +            "type": "string"
        +          },
        +          "highest": {
        +            "type": [
        +              "null",
        +              "number"
        +            ]
        +          },
        +          "isIntegerOnly": {
        +            "type": "boolean"
        +          },
        +          "latest": {
        +            "type": "string"
        +          },
        +          "lowest": {
        +            "type": [
        +              "null",
        +              "number"
        +            ]
        +          },
        +          "maxLength": {
        +            "type": [
        +              "null",
        +              "integer"
        +            ]
        +          },
        +          "maxLines": {
        +            "type": [
        +              "null",
        +              "integer"
        +            ]
        +          },
        +          "minLength": {
        +            "type": [
        +              "null",
        +              "integer"
        +            ]
        +          }
        +        },
        +        "type": [
        +          "null",
        +          "object"
        +        ]
        +      },
        +      "displayName": {
        +        "type": "string"
        +      },
        +      "isRequired": {
        +        "type": "boolean"
        +      },
        +      "optionEntityId": {
        +        "type": "integer"
        +      },
        +      "selectedOptionsKey": {
        +        "type": "string"
        +      },
        +      "unsupported": {
        +        "type": "boolean"
        +      },
        +      "values": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "isDefault": {
        +              "type": "boolean"
        +            },
        +            "label": {
        +              "type": "string"
        +            },
        +            "valueEntityId": {
        +              "type": "integer"
        +            }
        +          },
        +          "required": [
        +            "valueEntityId",
        +            "label"
        +          ],
        +          "type": "object"
        +        },
        +        "type": [
        +          "null",
        +          "array"
        +        ]
        +      }
        +    },
        +    "required": [
        +      "optionEntityId",
        +      "displayName",
        +      "isRequired"
        +    ],
        +    "type": "object"
        +  },
        +  "type": [
        +    "null",
        +    "array"
        +  ]
        +}
    • Changedupdate_cart_item2 fields changed
      • removedInput schema / properties / item / properties / selectedOptions / required
        Removed value: -[
        -  "checkboxes",
        -  "dateFields",
        -  "multiLineTextFields",
        -  "multipleChoices",
        -  "numberFields",
        -  "textFields"
        -]
      • changedInput schema / properties / item / required
        Previous value: -[
        -  "quantity",
        -  "productEntityId",
        -  "variantEntityId",
        -  "selectedOptions"
        -]New value: +[
        +  "quantity",
        +  "productEntityId",
        +  "variantEntityId"
        +]
  8. 2 tool updates
    • Changedget_product_details2 fields changed
      • addedOutput schema / properties / products / items / properties / inStock
        Added value: +{
        +  "type": [
        +    "null",
        +    "boolean"
        +  ]
        +}
      • addedOutput schema / properties / products / items / properties / variants / items / properties / inStock
        Added value: +{
        +  "type": [
        +    "null",
        +    "boolean"
        +  ]
        +}
    • Changedsearch_products1 field changed
      • addedOutput schema / properties / products / items / properties / inStock
        Added value: +{
        +  "type": [
        +    "null",
        +    "boolean"
        +  ]
        +}
  9. 2 tool updates
    • Changedget_product_details8 fields changed
      • addedInput schema / properties / channelId
        Added value: +{
        +  "type": [
        +    "null",
        +    "integer"
        +  ]
        +}
      • removedInput schema / properties / id
        Removed value: -{
        -  "type": "integer"
        -}
      • addedInput schema / properties / productIds
        Added value: +{
        +  "items": {
        +    "type": "integer"
        +  },
        +  "type": [
        +    "null",
        +    "array"
        +  ]
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id",
        -  "option_values"
        -]New value: +[
        +  "productIds"
        +]
      • removedOutput schema / properties / product
        Removed value: -{
        -  "additionalProperties": false,
        -  "properties": {
        -    "images": {
        -      "items": {
        -        "type": "string"
        -      },
        -      "type": [
        -        "null",
        -        "array"
        -      ]
        -    },
        -    "variants": {
        -      "items": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "SKU": {
        -            "type": "string"
        -          },
        -          "entityId": {
        -            "type": "integer"
        -          },
        -          "options": {
        -            "items": {
        -              "type": "string"
        -            },
        -            "type": [
        -              "null",
        -              "array"
        -            ]
        -          }
        -        },
        -        "required": [
        -          "entityId",
        -          "SKU"
        -        ],
        -        "type": "object"
        -      },
        -      "type": [
        -        "null",
        -        "array"
        -      ]
        -    }
        -  },
        -  "type": "object"
        -}
      • addedOutput schema / properties / products
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "availability": {
        +        "type": "string"
        +      },
        +      "currencyCode": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "integer"
        +      },
        +      "images": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "null",
        +          "array"
        +        ]
        +      },
        +      "inventoryTracking": {
        +        "type": "string"
        +      },
        +      "isPriceHidden": {
        +        "type": "boolean"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "orderQuantityMaximum": {
        +        "type": "integer"
        +      },
        +      "orderQuantityMinimum": {
        +        "type": "integer"
        +      },
        +      "productUrl": {
        +        "type": "string"
        +      },
        +      "sku": {
        +        "type": "string"
        +      },
        +      "variants": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "SKU": {
        +              "type": "string"
        +            },
        +            "bulkPricing": {
        +              "items": {
        +                "additionalProperties": false,
        +                "properties": {
        +                  "maxQty": {
        +                    "type": [
        +                      "null",
        +                      "integer"
        +                    ]
        +                  },
        +                  "minQty": {
        +                    "type": "integer"
        +                  },
        +                  "price": {
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "minQty",
        +                  "price"
        +                ],
        +                "type": "object"
        +              },
        +              "type": [
        +                "null",
        +                "array"
        +              ]
        +            },
        +            "entityId": {
        +              "type": "integer"
        +            },
        +            "inventoryLevel": {
        +              "type": [
        +                "null",
        +                "integer"
        +              ]
        +            },
        +            "options": {
        +              "items": {
        +                "additionalProperties": false,
        +                "properties": {
        +                  "optionId": {
        +                    "type": "integer"
        +                  },
        +                  "optionLabel": {
        +                    "type": "string"
        +                  },
        +                  "valueId": {
        +                    "type": "integer"
        +                  },
        +                  "valueLabel": {
        +                    "type": "string"
        +                  }
        +                },
        +                "required": [
        +                  "optionId",
        +                  "optionLabel",
        +                  "valueId",
        +                  "valueLabel"
        +                ],
        +                "type": "object"
        +              },
        +              "type": [
        +                "null",
        +                "array"
        +              ]
        +            },
        +            "price": {
        +              "type": [
        +                "null",
        +                "number"
        +              ]
        +            },
        +            "purchaseable": {
        +              "type": [
        +                "null",
        +                "boolean"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "entityId",
        +            "SKU"
        +          ],
        +          "type": "object"
        +        },
        +        "type": [
        +          "null",
        +          "array"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "type": [
        +    "null",
        +    "array"
        +  ]
        +}
      • addedOutput schema / properties / totalCount
        Added value: +{
        +  "type": "integer"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "success",
        -  "product"
        -]New value: +[
        +  "success",
        +  "products",
        +  "totalCount"
        +]
    • Changedsearch_products20 fields changed
      • addedOutput schema / properties / products / items / properties / availability
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / products / items / properties / currencyCode
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / products / items / properties / description
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / products / items / properties / entityId
        Removed value: -{
        -  "type": "integer"
        -}
      • addedOutput schema / properties / products / items / properties / hasBulkPricing
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / products / items / properties / id
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / products / items / properties / imageUrl
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / products / items / properties / inventoryLevel
        Added value: +{
        +  "type": [
        +    "null",
        +    "integer"
        +  ]
        +}
      • addedOutput schema / properties / products / items / properties / inventoryTracking
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / products / items / properties / isPriceHidden
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / products / items / properties / orderQuantityMaximum
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / products / items / properties / orderQuantityMinimum
        Added value: +{
        +  "type": "integer"
        +}
      • removedOutput schema / properties / products / items / properties / price
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / products / items / properties / priceRange
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "max": {
        +      "type": "number"
        +    },
        +    "min": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "min",
        +    "max"
        +  ],
        +  "type": [
        +    "null",
        +    "object"
        +  ]
        +}
      • removedOutput schema / properties / products / items / properties / productOptions
        Removed value: -{
        -  "items": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "details": {
        -        "oneOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "checkedOptionValueEntityId": {
        -                "type": "integer"
        -              },
        -              "label": {
        -                "type": "string"
        -              },
        -              "uncheckedOptionValueEntityId": {
        -                "type": "integer"
        -              }
        -            },
        -            "required": [
        -              "label",
        -              "checkedOptionValueEntityId",
        -              "uncheckedOptionValueEntityId"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "defaultValue": {
        -                "type": "string"
        -              },
        -              "earliest": {
        -                "type": "string"
        -              },
        -              "latest": {
        -                "type": "string"
        -              },
        -              "limitDateBy": {
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "defaultValue",
        -              "earliest",
        -              "latest",
        -              "limitDateBy"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "fileTypes": {
        -                "items": {
        -                  "type": "string"
        -                },
        -                "type": [
        -                  "null",
        -                  "array"
        -                ]
        -              },
        -              "maxFileSize": {
        -                "type": "integer"
        -              }
        -            },
        -            "required": [
        -              "maxFileSize",
        -              "fileTypes"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "maxLength": {
        -                "type": "integer"
        -              },
        -              "maxLines": {
        -                "type": "integer"
        -              },
        -              "minLength": {
        -                "type": "integer"
        -              },
        -              "multilineDefaultValue": {
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "multilineDefaultValue",
        -              "minLength",
        -              "maxLength",
        -              "maxLines"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "highest": {
        -                "type": "number"
        -              },
        -              "isIntegerOnly": {
        -                "type": "boolean"
        -              },
        -              "limitNumberBy": {
        -                "type": "string"
        -              },
        -              "lowest": {
        -                "type": "number"
        -              },
        -              "numberDefaultValue": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "numberDefaultValue",
        -              "lowest",
        -              "highest",
        -              "isIntegerOnly",
        -              "limitNumberBy"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "maxLength": {
        -                "type": "integer"
        -              },
        -              "minLength": {
        -                "type": "integer"
        -              },
        -              "textDefaultValue": {
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "textDefaultValue",
        -              "minLength",
        -              "maxLength"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "items": {
        -              "additionalProperties": false,
        -              "properties": {
        -                "entityId": {
        -                  "type": "integer"
        -                },
        -                "hexColors": {
        -                  "items": {
        -                    "type": "string"
        -                  },
        -                  "type": [
        -                    "null",
        -                    "array"
        -                  ]
        -                },
        -                "isDefault": {
        -                  "type": "boolean"
        -                },
        -                "isSelected": {
        -                  "type": "boolean"
        -                },
        -                "label": {
        -                  "type": "string"
        -                },
        -                "productId": {
        -                  "type": [
        -                    "null",
        -                    "integer"
        -                  ]
        -                }
        -              },
        -              "required": [
        -                "entityId",
        -                "label",
        -                "isDefault",
        -                "isSelected"
        -              ],
        -              "type": "object"
        -            },
        -            "type": [
        -              "null",
        -              "array"
        -            ]
        -          }
        -        ]
        -      },
        -      "displayName": {
        -        "type": "string"
        -      },
        -      "entityId": {
        -        "type": "integer"
        -      },
        -      "isVariantOption": {
        -        "type": "boolean"
        -      }
        -    },
        -    "required": [
        -      "entityId",
        -      "displayName",
        -      "isVariantOption"
        -    ],
        -    "type": "object"
        -  },
        -  "type": [
        -    "null",
        -    "array"
        -  ]
        -}
      • addedOutput schema / properties / products / items / properties / productUrl
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / products / items / properties / requiresFileUpload
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / products / items / properties / sku
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / products / items / properties / variantCount
        Added value: +{
        +  "type": "integer"
        +}
      • changedOutput schema / properties / products / items / required
        Previous value: -[
        -  "entityId",
        -  "name",
        -  "description",
        -  "price"
        -]New value: +[
        +  "id",
        +  "name",
        +  "sku",
        +  "hasBulkPricing",
        +  "isPriceHidden"
        +]
  10. 2 tool updates
    • Changedget_product_details8 fields changed
      • removedInput schema / properties / channelId
        Removed value: -{
        -  "type": [
        -    "null",
        -    "integer"
        -  ]
        -}
      • addedInput schema / properties / id
        Added value: +{
        +  "type": "integer"
        +}
      • removedInput schema / properties / productIds
        Removed value: -{
        -  "items": {
        -    "type": "integer"
        -  },
        -  "type": [
        -    "null",
        -    "array"
        -  ]
        -}
      • changedInput schema / required
        Previous value: -[
        -  "productIds"
        -]New value: +[
        +  "id",
        +  "option_values"
        +]
      • addedOutput schema / properties / product
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "images": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": [
        +        "null",
        +        "array"
        +      ]
        +    },
        +    "variants": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "SKU": {
        +            "type": "string"
        +          },
        +          "entityId": {
        +            "type": "integer"
        +          },
        +          "options": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": [
        +              "null",
        +              "array"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "entityId",
        +          "SKU"
        +        ],
        +        "type": "object"
        +      },
        +      "type": [
        +        "null",
        +        "array"
        +      ]
        +    }
        +  },
        +  "type": "object"
        +}
      • removedOutput schema / properties / products
        Removed value: -{
        -  "items": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "availability": {
        -        "type": "string"
        -      },
        -      "currencyCode": {
        -        "type": "string"
        -      },
        -      "id": {
        -        "type": "integer"
        -      },
        -      "images": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": [
        -          "null",
        -          "array"
        -        ]
        -      },
        -      "inventoryTracking": {
        -        "type": "string"
        -      },
        -      "isPriceHidden": {
        -        "type": "boolean"
        -      },
        -      "name": {
        -        "type": "string"
        -      },
        -      "orderQuantityMaximum": {
        -        "type": "integer"
        -      },
        -      "orderQuantityMinimum": {
        -        "type": "integer"
        -      },
        -      "productUrl": {
        -        "type": "string"
        -      },
        -      "sku": {
        -        "type": "string"
        -      },
        -      "variants": {
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "SKU": {
        -              "type": "string"
        -            },
        -            "bulkPricing": {
        -              "items": {
        -                "additionalProperties": false,
        -                "properties": {
        -                  "maxQty": {
        -                    "type": [
        -                      "null",
        -                      "integer"
        -                    ]
        -                  },
        -                  "minQty": {
        -                    "type": "integer"
        -                  },
        -                  "price": {
        -                    "type": "number"
        -                  }
        -                },
        -                "required": [
        -                  "minQty",
        -                  "price"
        -                ],
        -                "type": "object"
        -              },
        -              "type": [
        -                "null",
        -                "array"
        -              ]
        -            },
        -            "entityId": {
        -              "type": "integer"
        -            },
        -            "inventoryLevel": {
        -              "type": [
        -                "null",
        -                "integer"
        -              ]
        -            },
        -            "options": {
        -              "items": {
        -                "additionalProperties": false,
        -                "properties": {
        -                  "optionId": {
        -                    "type": "integer"
        -                  },
        -                  "optionLabel": {
        -                    "type": "string"
        -                  },
        -                  "valueId": {
        -                    "type": "integer"
        -                  },
        -                  "valueLabel": {
        -                    "type": "string"
        -                  }
        -                },
        -                "required": [
        -                  "optionId",
        -                  "optionLabel",
        -                  "valueId",
        -                  "valueLabel"
        -                ],
        -                "type": "object"
        -              },
        -              "type": [
        -                "null",
        -                "array"
        -              ]
        -            },
        -            "price": {
        -              "type": [
        -                "null",
        -                "number"
        -              ]
        -            },
        -            "purchaseable": {
        -              "type": [
        -                "null",
        -                "boolean"
        -              ]
        -            }
        -          },
        -          "required": [
        -            "entityId",
        -            "SKU"
        -          ],
        -          "type": "object"
        -        },
        -        "type": [
        -          "null",
        -          "array"
        -        ]
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "type": [
        -    "null",
        -    "array"
        -  ]
        -}
      • removedOutput schema / properties / totalCount
        Removed value: -{
        -  "type": "integer"
        -}
      • changedOutput schema / required
        Previous value: -[
        -  "success",
        -  "products",
        -  "totalCount"
        -]New value: +[
        +  "success",
        +  "product"
        +]
    • Changedsearch_products20 fields changed
      • removedOutput schema / properties / products / items / properties / availability
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / products / items / properties / currencyCode
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / products / items / properties / description
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / products / items / properties / entityId
        Added value: +{
        +  "type": "integer"
        +}
      • removedOutput schema / properties / products / items / properties / hasBulkPricing
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedOutput schema / properties / products / items / properties / id
        Removed value: -{
        -  "type": "integer"
        -}
      • removedOutput schema / properties / products / items / properties / imageUrl
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / products / items / properties / inventoryLevel
        Removed value: -{
        -  "type": [
        -    "null",
        -    "integer"
        -  ]
        -}
      • removedOutput schema / properties / products / items / properties / inventoryTracking
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / products / items / properties / isPriceHidden
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedOutput schema / properties / products / items / properties / orderQuantityMaximum
        Removed value: -{
        -  "type": "integer"
        -}
      • removedOutput schema / properties / products / items / properties / orderQuantityMinimum
        Removed value: -{
        -  "type": "integer"
        -}
      • addedOutput schema / properties / products / items / properties / price
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / products / items / properties / priceRange
        Removed value: -{
        -  "additionalProperties": false,
        -  "properties": {
        -    "max": {
        -      "type": "number"
        -    },
        -    "min": {
        -      "type": "number"
        -    }
        -  },
        -  "required": [
        -    "min",
        -    "max"
        -  ],
        -  "type": [
        -    "null",
        -    "object"
        -  ]
        -}
      • addedOutput schema / properties / products / items / properties / productOptions
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "details": {
        +        "oneOf": [
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "checkedOptionValueEntityId": {
        +                "type": "integer"
        +              },
        +              "label": {
        +                "type": "string"
        +              },
        +              "uncheckedOptionValueEntityId": {
        +                "type": "integer"
        +              }
        +            },
        +            "required": [
        +              "label",
        +              "checkedOptionValueEntityId",
        +              "uncheckedOptionValueEntityId"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "defaultValue": {
        +                "type": "string"
        +              },
        +              "earliest": {
        +                "type": "string"
        +              },
        +              "latest": {
        +                "type": "string"
        +              },
        +              "limitDateBy": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "defaultValue",
        +              "earliest",
        +              "latest",
        +              "limitDateBy"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "fileTypes": {
        +                "items": {
        +                  "type": "string"
        +                },
        +                "type": [
        +                  "null",
        +                  "array"
        +                ]
        +              },
        +              "maxFileSize": {
        +                "type": "integer"
        +              }
        +            },
        +            "required": [
        +              "maxFileSize",
        +              "fileTypes"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "maxLength": {
        +                "type": "integer"
        +              },
        +              "maxLines": {
        +                "type": "integer"
        +              },
        +              "minLength": {
        +                "type": "integer"
        +              },
        +              "multilineDefaultValue": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "multilineDefaultValue",
        +              "minLength",
        +              "maxLength",
        +              "maxLines"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "highest": {
        +                "type": "number"
        +              },
        +              "isIntegerOnly": {
        +                "type": "boolean"
        +              },
        +              "limitNumberBy": {
        +                "type": "string"
        +              },
        +              "lowest": {
        +                "type": "number"
        +              },
        +              "numberDefaultValue": {
        +                "type": "number"
        +              }
        +            },
        +            "required": [
        +              "numberDefaultValue",
        +              "lowest",
        +              "highest",
        +              "isIntegerOnly",
        +              "limitNumberBy"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "additionalProperties": false,
        +            "properties": {
        +              "maxLength": {
        +                "type": "integer"
        +              },
        +              "minLength": {
        +                "type": "integer"
        +              },
        +              "textDefaultValue": {
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "textDefaultValue",
        +              "minLength",
        +              "maxLength"
        +            ],
        +            "type": "object"
        +          },
        +          {
        +            "items": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "entityId": {
        +                  "type": "integer"
        +                },
        +                "hexColors": {
        +                  "items": {
        +                    "type": "string"
        +                  },
        +                  "type": [
        +                    "null",
        +                    "array"
        +                  ]
        +                },
        +                "isDefault": {
        +                  "type": "boolean"
        +                },
        +                "isSelected": {
        +                  "type": "boolean"
        +                },
        +                "label": {
        +                  "type": "string"
        +                },
        +                "productId": {
        +                  "type": [
        +                    "null",
        +                    "integer"
        +                  ]
        +                }
        +              },
        +              "required": [
        +                "entityId",
        +                "label",
        +                "isDefault",
        +                "isSelected"
        +              ],
        +              "type": "object"
        +            },
        +            "type": [
        +              "null",
        +              "array"
        +            ]
        +          }
        +        ]
        +      },
        +      "displayName": {
        +        "type": "string"
        +      },
        +      "entityId": {
        +        "type": "integer"
        +      },
        +      "isVariantOption": {
        +        "type": "boolean"
        +      }
        +    },
        +    "required": [
        +      "entityId",
        +      "displayName",
        +      "isVariantOption"
        +    ],
        +    "type": "object"
        +  },
        +  "type": [
        +    "null",
        +    "array"
        +  ]
        +}
      • removedOutput schema / properties / products / items / properties / productUrl
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / products / items / properties / requiresFileUpload
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedOutput schema / properties / products / items / properties / sku
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / products / items / properties / variantCount
        Removed value: -{
        -  "type": "integer"
        -}
      • changedOutput schema / properties / products / items / required
        Previous value: -[
        -  "id",
        -  "name",
        -  "sku",
        -  "hasBulkPricing",
        -  "isPriceHidden"
        -]New value: +[
        +  "entityId",
        +  "name",
        +  "description",
        +  "price"
        +]
  11. 2 tool updates
    • Changedget_product_details8 fields changed
      • addedInput schema / properties / channelId
        Added value: +{
        +  "type": [
        +    "null",
        +    "integer"
        +  ]
        +}
      • removedInput schema / properties / id
        Removed value: -{
        -  "type": "integer"
        -}
      • addedInput schema / properties / productIds
        Added value: +{
        +  "items": {
        +    "type": "integer"
        +  },
        +  "type": [
        +    "null",
        +    "array"
        +  ]
        +}
      • changedInput schema / required
        Previous value: -[
        -  "id",
        -  "option_values"
        -]New value: +[
        +  "productIds"
        +]
      • removedOutput schema / properties / product
        Removed value: -{
        -  "additionalProperties": false,
        -  "properties": {
        -    "images": {
        -      "items": {
        -        "type": "string"
        -      },
        -      "type": [
        -        "null",
        -        "array"
        -      ]
        -    },
        -    "variants": {
        -      "items": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "SKU": {
        -            "type": "string"
        -          },
        -          "entityId": {
        -            "type": "integer"
        -          },
        -          "options": {
        -            "items": {
        -              "type": "string"
        -            },
        -            "type": [
        -              "null",
        -              "array"
        -            ]
        -          }
        -        },
        -        "required": [
        -          "entityId",
        -          "SKU"
        -        ],
        -        "type": "object"
        -      },
        -      "type": [
        -        "null",
        -        "array"
        -      ]
        -    }
        -  },
        -  "type": "object"
        -}
      • addedOutput schema / properties / products
        Added value: +{
        +  "items": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "availability": {
        +        "type": "string"
        +      },
        +      "currencyCode": {
        +        "type": "string"
        +      },
        +      "id": {
        +        "type": "integer"
        +      },
        +      "images": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": [
        +          "null",
        +          "array"
        +        ]
        +      },
        +      "inventoryTracking": {
        +        "type": "string"
        +      },
        +      "isPriceHidden": {
        +        "type": "boolean"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "orderQuantityMaximum": {
        +        "type": "integer"
        +      },
        +      "orderQuantityMinimum": {
        +        "type": "integer"
        +      },
        +      "productUrl": {
        +        "type": "string"
        +      },
        +      "sku": {
        +        "type": "string"
        +      },
        +      "variants": {
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "SKU": {
        +              "type": "string"
        +            },
        +            "bulkPricing": {
        +              "items": {
        +                "additionalProperties": false,
        +                "properties": {
        +                  "maxQty": {
        +                    "type": [
        +                      "null",
        +                      "integer"
        +                    ]
        +                  },
        +                  "minQty": {
        +                    "type": "integer"
        +                  },
        +                  "price": {
        +                    "type": "number"
        +                  }
        +                },
        +                "required": [
        +                  "minQty",
        +                  "price"
        +                ],
        +                "type": "object"
        +              },
        +              "type": [
        +                "null",
        +                "array"
        +              ]
        +            },
        +            "entityId": {
        +              "type": "integer"
        +            },
        +            "inventoryLevel": {
        +              "type": [
        +                "null",
        +                "integer"
        +              ]
        +            },
        +            "options": {
        +              "items": {
        +                "additionalProperties": false,
        +                "properties": {
        +                  "optionId": {
        +                    "type": "integer"
        +                  },
        +                  "optionLabel": {
        +                    "type": "string"
        +                  },
        +                  "valueId": {
        +                    "type": "integer"
        +                  },
        +                  "valueLabel": {
        +                    "type": "string"
        +                  }
        +                },
        +                "required": [
        +                  "optionId",
        +                  "optionLabel",
        +                  "valueId",
        +                  "valueLabel"
        +                ],
        +                "type": "object"
        +              },
        +              "type": [
        +                "null",
        +                "array"
        +              ]
        +            },
        +            "price": {
        +              "type": [
        +                "null",
        +                "number"
        +              ]
        +            },
        +            "purchaseable": {
        +              "type": [
        +                "null",
        +                "boolean"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "entityId",
        +            "SKU"
        +          ],
        +          "type": "object"
        +        },
        +        "type": [
        +          "null",
        +          "array"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "type": [
        +    "null",
        +    "array"
        +  ]
        +}
      • addedOutput schema / properties / totalCount
        Added value: +{
        +  "type": "integer"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "success",
        -  "product"
        -]New value: +[
        +  "success",
        +  "products",
        +  "totalCount"
        +]
    • Changedsearch_products20 fields changed
      • addedOutput schema / properties / products / items / properties / availability
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / products / items / properties / currencyCode
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / products / items / properties / description
        Removed value: -{
        -  "type": "string"
        -}
      • removedOutput schema / properties / products / items / properties / entityId
        Removed value: -{
        -  "type": "integer"
        -}
      • addedOutput schema / properties / products / items / properties / hasBulkPricing
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / products / items / properties / id
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / products / items / properties / imageUrl
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / products / items / properties / inventoryLevel
        Added value: +{
        +  "type": [
        +    "null",
        +    "integer"
        +  ]
        +}
      • addedOutput schema / properties / products / items / properties / inventoryTracking
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / products / items / properties / isPriceHidden
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / products / items / properties / orderQuantityMaximum
        Added value: +{
        +  "type": "integer"
        +}
      • addedOutput schema / properties / products / items / properties / orderQuantityMinimum
        Added value: +{
        +  "type": "integer"
        +}
      • removedOutput schema / properties / products / items / properties / price
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / products / items / properties / priceRange
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "max": {
        +      "type": "number"
        +    },
        +    "min": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "min",
        +    "max"
        +  ],
        +  "type": [
        +    "null",
        +    "object"
        +  ]
        +}
      • removedOutput schema / properties / products / items / properties / productOptions
        Removed value: -{
        -  "items": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "details": {
        -        "oneOf": [
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "checkedOptionValueEntityId": {
        -                "type": "integer"
        -              },
        -              "label": {
        -                "type": "string"
        -              },
        -              "uncheckedOptionValueEntityId": {
        -                "type": "integer"
        -              }
        -            },
        -            "required": [
        -              "label",
        -              "checkedOptionValueEntityId",
        -              "uncheckedOptionValueEntityId"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "defaultValue": {
        -                "type": "string"
        -              },
        -              "earliest": {
        -                "type": "string"
        -              },
        -              "latest": {
        -                "type": "string"
        -              },
        -              "limitDateBy": {
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "defaultValue",
        -              "earliest",
        -              "latest",
        -              "limitDateBy"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "fileTypes": {
        -                "items": {
        -                  "type": "string"
        -                },
        -                "type": [
        -                  "null",
        -                  "array"
        -                ]
        -              },
        -              "maxFileSize": {
        -                "type": "integer"
        -              }
        -            },
        -            "required": [
        -              "maxFileSize",
        -              "fileTypes"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "maxLength": {
        -                "type": "integer"
        -              },
        -              "maxLines": {
        -                "type": "integer"
        -              },
        -              "minLength": {
        -                "type": "integer"
        -              },
        -              "multilineDefaultValue": {
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "multilineDefaultValue",
        -              "minLength",
        -              "maxLength",
        -              "maxLines"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "highest": {
        -                "type": "number"
        -              },
        -              "isIntegerOnly": {
        -                "type": "boolean"
        -              },
        -              "limitNumberBy": {
        -                "type": "string"
        -              },
        -              "lowest": {
        -                "type": "number"
        -              },
        -              "numberDefaultValue": {
        -                "type": "number"
        -              }
        -            },
        -            "required": [
        -              "numberDefaultValue",
        -              "lowest",
        -              "highest",
        -              "isIntegerOnly",
        -              "limitNumberBy"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "additionalProperties": false,
        -            "properties": {
        -              "maxLength": {
        -                "type": "integer"
        -              },
        -              "minLength": {
        -                "type": "integer"
        -              },
        -              "textDefaultValue": {
        -                "type": "string"
        -              }
        -            },
        -            "required": [
        -              "textDefaultValue",
        -              "minLength",
        -              "maxLength"
        -            ],
        -            "type": "object"
        -          },
        -          {
        -            "items": {
        -              "additionalProperties": false,
        -              "properties": {
        -                "entityId": {
        -                  "type": "integer"
        -                },
        -                "hexColors": {
        -                  "items": {
        -                    "type": "string"
        -                  },
        -                  "type": [
        -                    "null",
        -                    "array"
        -                  ]
        -                },
        -                "isDefault": {
        -                  "type": "boolean"
        -                },
        -                "isSelected": {
        -                  "type": "boolean"
        -                },
        -                "label": {
        -                  "type": "string"
        -                },
        -                "productId": {
        -                  "type": [
        -                    "null",
        -                    "integer"
        -                  ]
        -                }
        -              },
        -              "required": [
        -                "entityId",
        -                "label",
        -                "isDefault",
        -                "isSelected"
        -              ],
        -              "type": "object"
        -            },
        -            "type": [
        -              "null",
        -              "array"
        -            ]
        -          }
        -        ]
        -      },
        -      "displayName": {
        -        "type": "string"
        -      },
        -      "entityId": {
        -        "type": "integer"
        -      },
        -      "isVariantOption": {
        -        "type": "boolean"
        -      }
        -    },
        -    "required": [
        -      "entityId",
        -      "displayName",
        -      "isVariantOption"
        -    ],
        -    "type": "object"
        -  },
        -  "type": [
        -    "null",
        -    "array"
        -  ]
        -}
      • addedOutput schema / properties / products / items / properties / productUrl
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / products / items / properties / requiresFileUpload
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / products / items / properties / sku
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / products / items / properties / variantCount
        Added value: +{
        +  "type": "integer"
        +}
      • changedOutput schema / properties / products / items / required
        Previous value: -[
        -  "entityId",
        -  "name",
        -  "description",
        -  "price"
        -]New value: +[
        +  "id",
        +  "name",
        +  "sku",
        +  "hasBulkPricing",
        +  "isPriceHidden"
        +]
  12. 6 tool updates
    • First observedadd_item_to_cart
    • First observedcreate_checkout_url
    • First observedget_product_details
    • First observedremove_item_from_cart
    • First observedsearch_products
    • First observedupdate_cart_item

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for SendaMeal.com enabling AI assistants to search gift meal products, filter by dietary restrictions, and get occasion-based recommendations. Powered by Cloudflare Workers and AutoRAG.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables ordering DoorDash through Poke over text, exposing tools for restaurant discovery, cart management, promotions, and order submission with purchase safety features.
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables voice-driven food ordering by providing tools to search restaurants, browse menus, check item availability, manage carts, calculate optimal coupon discounts, confirm and place orders, and track deliveries. It also supports long-term preference memory and order history for natural, multi-turn conversational commerce.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources