{"serverId":"mcp-registry/com.sendameal/storefront","tools":[{"name":"add_item_to_cart","fixed":{"name":"add_item_to_cart","description":"\nAdd one or more items to the shopping cart.\n\nIf no cart exists, this tool makes a new cart. This tool adds products and gift\ncertificates.\n\nSteps\n\n1. Call the 'search_products' tool to find a product.\n2. Call the 'get_product_details' tool to get the variants and the modifier options.\n3. Call this tool to add the item.\n4. Call the 'create_checkout_url' tool to get a checkout URL.\n\nRules\n\nSend 'quantity' and 'productEntityId' for each item.\nIf the product has variants, send 'variantEntityId'.\n\nM","inputSchema":{"type":"object","required":["item"],"properties":{"item":{"type":"object","required":["quantity","productEntityId","variantEntityId"],"properties":{"quantity":{"type":"integer"},"productEntityId":{"type":"integer"},"selectedOptions":{"type":["null","object"],"properties":{"checkboxes":{"type":["null","array"],"items":{"type":"object","required":["optionEntityId","optionValueEntityId"],"properties":{"optionEntityId":{"type":"integer"},"optionValueEntityId":{"type":"integer"}},"additionalProperties":false}},"dateFields":{"type":["null","array"],"items":{"type":"object","required":["optionEntityId","date"],"properties":{"date":{"type":"string"},"optionEntityId":{"type":"integer"}},"additionalProperties":false}},"textFields":{"type":["null","array"],"items":{"type":"object","required":["optionEntityId","text"],"properties":{"text":{"type":"string"},"optionEntityId":{"type":"integer"}},"additionalProperties":false}},"numberFields":{"type":["null","array"],"items":{"type":"object","required":["optionEntityId","number"],"properties":{"number":{"type":"number"},"optionEntityId":{"type":"integer"}},"additionalProperties":false}},"multipleChoices":{"type":["null","array"],"items":{"type":"object","required":["optionEntityId","optionValueEntityId"],"properties":{"optionEntityId":{"type":"integer"},"optionValueEntityId":{"type":"integer"}},"additionalProperties":false}},"multiLineTextFields":{"type":["null","array"],"items":{"type":"object","required":["optionEntityId","text"],"properties":{"text":{"type":"string"},"optionEntityId":{"type":"integer"}},"additionalProperties":false}}},"additionalProperties":false},"variantEntityId":{"type":["null","integer"]}},"additionalProperties":false}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":643,"tokensAfter":643},{"name":"create_checkout_url","fixed":{"name":"create_checkout_url","description":"\nCreateResult a checkout URL for a cart assigned to a current session\n\nArguments:\nNone, but requires a cart to be present in the current session.\n\nReturns:\n- checkoutURL - the URL to redirect the user to for checkout\n- errors - any errors encountered during the process (like, cart not found, etc.)\n\nFlow:\n- Call 'manage_cart' with 'create_cart' operation to create a new cart.\n- Call this tool to create a checkout URL for the cart assigned to the current session.\n","inputSchema":{"type":"object","additionalProperties":false,"properties":{}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":164,"tokensAfter":168},{"name":"get_product_details","fixed":{"name":"get_product_details","description":"\nGet the details of one or more products. The details are the variants, the options, and\nthe images.\n\nArguments\n\nproductIds - The list of product IDs. Get these IDs from the 'search_products' tool.\n  Request only the products that the user needs.\n  The server has a maximum count of IDs. The default maximum is 20.\n  If you send too many IDs, the server returns an error. Then send fewer IDs.\noption_values - The option IDs and the value IDs of one variant.\n  Use this argument with one product ID on","inputSchema":{"type":"object","required":["productIds"],"properties":{"channelId":{"type":["null","integer"]},"productIds":{"type":["null","array"],"items":{"type":"integer"}},"option_values":{"type":["null","array"],"items":{"type":"object","required":["optionEntityId","valueEntityId"],"properties":{"valueEntityId":{"type":"integer"},"optionEntityId":{"type":"integer"}},"additionalProperties":false}},"variantCursor":{"type":["null","string"]}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":289,"tokensAfter":289},{"name":"remove_item_from_cart","fixed":{"name":"remove_item_from_cart","description":"\nRemove specific items from your shopping cart.\nIt is removing the item completly from the cart.\nIf you want to reduce quantity of the items use 'update_cart_item'\n\nRemove unwanted items from your shopping cart by targeting specific item IDs. This tool provides precise control over cart cleanup and item removal.\n\nUse this tool when customers want to:\n-Remove specific products they no longer want\n-Delete gift certificates from their cart\n-Clean up their cart before checkout\n-Remove items added by","inputSchema":{"type":"object","required":["item_id"],"properties":{"item_id":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":191,"tokensAfter":191},{"name":"search_products","fixed":{"name":"search_products","description":"\nSearch products by a term\n\nArguments:\nterm - the search term to look for products. It should be at least 3 characters long.\ncursor - optional, used for pagination. If provided, it will return the next page of results after.\n\nPagination:\nSupports pagination with 'cursor' arguments. If 'cursor' is not provided, it will return the first page of results.\nValue for 'cursor' can be obtained from the 'nextCursor' field in the response. If 'nextCursor' is null, it means there are no more results to fet","inputSchema":{"type":"object","required":["term"],"properties":{"term":{"type":"string"},"cursor":{"type":["null","string"]},"context":{"type":["null","string"],"description":"Additional 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."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":265,"tokensAfter":265},{"name":"update_cart_item","fixed":{"name":"update_cart_item","description":"\nChange an item that is already in the shopping cart.\n\nUse this tool to change the quantity, the variant, or the modifier options of one cart\nitem. A cart must exist and must have items.\n\nSteps\n\n1. Call the 'add_item_to_cart' tool to put an item in the cart.\n2. Call this tool to change the item.\n3. Call the 'create_checkout_url' tool to get a checkout URL.\n\nRules\n\nSend 'line_item_id' to select the cart item to change.\nSend 'quantity' and 'productEntityId' in 'item'.\nIf the product has variants, ","inputSchema":{"type":"object","required":["line_item_id","item"],"properties":{"item":{"type":"object","required":["quantity","productEntityId","variantEntityId"],"properties":{"quantity":{"type":"integer"},"productEntityId":{"type":"integer"},"selectedOptions":{"type":["null","object"],"properties":{"checkboxes":{"type":["null","array"],"items":{"type":"object","required":["optionEntityId","optionValueEntityId"],"properties":{"optionEntityId":{"type":"integer"},"optionValueEntityId":{"type":"integer"}},"additionalProperties":false}},"dateFields":{"type":["null","array"],"items":{"type":"object","required":["optionEntityId","date"],"properties":{"date":{"type":"string"},"optionEntityId":{"type":"integer"}},"additionalProperties":false}},"textFields":{"type":["null","array"],"items":{"type":"object","required":["optionEntityId","text"],"properties":{"text":{"type":"string"},"optionEntityId":{"type":"integer"}},"additionalProperties":false}},"numberFields":{"type":["null","array"],"items":{"type":"object","required":["optionEntityId","number"],"properties":{"number":{"type":"number"},"optionEntityId":{"type":"integer"}},"additionalProperties":false}},"multipleChoices":{"type":["null","array"],"items":{"type":"object","required":["optionEntityId","optionValueEntityId"],"properties":{"optionEntityId":{"type":"integer"},"optionValueEntityId":{"type":"integer"}},"additionalProperties":false}},"multiLineTextFields":{"type":["null","array"],"items":{"type":"object","required":["optionEntityId","text"],"properties":{"text":{"type":"string"},"optionEntityId":{"type":"integer"}},"additionalProperties":false}}},"additionalProperties":false},"variantEntityId":{"type":["null","integer"]}},"additionalProperties":false},"line_item_id":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":656,"tokensAfter":656}],"toolsChanged":6,"tokensSaved":0,"todo":[{"tool":"add_item_to_cart","params":["item"]},{"tool":"get_product_details","params":["channelId","productIds","option_values","variantCursor"]},{"tool":"remove_item_from_cart","params":["item_id"]},{"tool":"search_products","params":["term","cursor"]},{"tool":"update_cart_item","params":["item","line_item_id"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}