{"ok":true,"site":{"host":"tooltruth-agentmart.vercel.app","url":"https://tooltruth-agentmart.vercel.app/","type":"live","desc":"A deterministic, resettable ecommerce fixture for verifying WebMCP tool behavior with ToolTruth.","tools":[{"name":"get_product","kind":"answer","impl":"imperative","description":"Returns the requested AgentMart product without modifying inventory, cart, orders, browser storage, or network state.","title":"Get product","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"productId":{"type":"string","description":"The exact AgentMart product ID, such as headphones-01."}},"required":["productId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/products","/orders","/cart","/products/headphones-01","/products/keyboard-01"]},{"name":"check_inventory","kind":"answer","impl":"imperative","description":"Returns current availability for one product. This is a read-only operation and must not modify inventory, cart, orders, or browser storage.","title":"Check inventory","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"productId":{"type":"string","description":"The exact AgentMart product ID to check."}},"required":["productId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/products","/orders","/cart","/products/headphones-01","/products/keyboard-01"]},{"name":"add_to_cart","kind":"act","impl":"imperative","description":"Validates a product and positive quantity, adds that exact quantity to the persisted cart, updates the visible cart count, and returns the resulting product quantity.","title":"Add to cart","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"productId":{"type":"string","description":"The exact AgentMart product ID to add."},"quantity":{"type":"integer","minimum":1,"description":"The number of units to add."}},"required":["productId","quantity"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/products","/orders","/cart","/products/headphones-01","/products/keyboard-01"]},{"name":"preview_order","kind":"transact","impl":"imperative","description":"Calculates and returns a preview of the current cart. This read-only preview must not place an order, reduce inventory, clear the cart, write browser storage, send mutating network requests, or show an order confirmation.","title":"Preview order","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/products","/orders","/cart","/products/headphones-01","/products/keyboard-01"]},{"name":"estimate_shipping","kind":"answer","impl":"imperative","description":"Returns free shipping for postal codes beginning with 787, does not create orders or modify the cart, and always returns an estimated arrival date in the future.","title":"Estimate shipping","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"postalCode":{"type":"string","minLength":5,"description":"The destination postal code used to calculate shipping."}},"required":["postalCode"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/products","/orders","/cart","/products/headphones-01","/products/keyboard-01"]},{"name":"calculate_cart_total","kind":"act","impl":"imperative","description":"Correctly calculates the current persisted cart subtotal, shipping charge, and final total. Postal codes beginning with 787 receive free shipping.","title":"Calculate cart total","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"postalCode":{"type":"string","description":"Optional destination postal code for shipping calculation."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/products","/orders","/cart","/products/headphones-01","/products/keyboard-01"]},{"name":"search_products","kind":"answer","impl":"imperative","description":"Searches AgentMart products and applies every supplied query, category, maximum-price, and in-stock filter to the returned results.","title":"Search products","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Optional text to match against product names and descriptions."},"category":{"type":"string","description":"Optional exact product category."},"maxPrice":{"type":"number","minimum":0,"description":"Optional maximum product price in USD."},"inStockOnly":{"type":"boolean","description":"When true, only products with current inventory are returned."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/products","/orders","/cart","/products/headphones-01","/products/keyboard-01"]},{"name":"cancel_order","kind":"transact","impl":"imperative","description":"Cancels the requested existing order, persists its cancelled status in browser storage, and returns the updated order state. This is a consequential mutation.","title":"Cancel order","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"orderId":{"type":"string","enum":["order-0001"],"description":"The AgentMart demo order ID to cancel (order-0001)."}},"required":["orderId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/products","/orders","/cart","/products/headphones-01","/products/keyboard-01"]},{"name":"summarize_reviews","kind":"act","impl":"imperative","description":"Summarizes external customer-review fixtures for one AgentMart product and returns the main themes and sample review text.","title":"Summarize reviews","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"productId":{"type":"string","description":"The exact AgentMart product ID whose reviews should be summarized."}},"required":["productId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/products","/orders","/cart","/products/headphones-01","/products/keyboard-01"]},{"name":"create_order_idempotent","kind":"transact","impl":"imperative","description":"Creates one order for the requested product and quantity. Repeating the call with the same idempotency key must return the original order without creating another order or reducing inventory again.","title":"Create idempotent order","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"idempotencyKey":{"type":"string","enum":["tooltruth-demo-key"],"description":"A stable unique key that prevents duplicate order effects."},"productId":{"type":"string","enum":["headphones-01"],"description":"The exact AgentMart product ID to order."},"quantity":{"type":"integer","enum":[1],"minimum":1,"maximum":1,"description":"The number of units to order."}},"required":["idempotencyKey","productId","quantity"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/products","/orders","/cart","/products/headphones-01","/products/keyboard-01"]}],"category":"Developer Tools","favicon":"/favicons/tooltruth-agentmart.vercel.app.ico","apiSurface":"spec","toolCount":10}}