check_stock
Check real-time inventory, price, and shipping for a product SKU.
This tool queries the connected e-commerce platform (Shopify, WooCommerce, etc.)
for live inventory data. Returns current stock level, price, and
availability status.
Args:
sku: Product SKU (Stock Keeping Unit) - e.g., "RED-WIDGET-001"
Returns:
Dictionary with:
- sku: The requested SKU
- stock: Current inventory count
- price: Current price in USD
- can_ship_today: Boolean indicating same-day shipping availability
- message: Human-readable status message
Example:
>>> await check_stock("WIDGET-001")
{
"sku": "WIDGET-001",
"stock": 42,
"price": 29.99,
"can_ship_today": True,
"message": "✅ WIDGET-001 (Awesome Widget) - 42 in stock at $29.99"
}
get_product_details
Get full product details optimized for AI agents (structured JSON).
Args:
sku: Product SKU - e.g., "WIDGET-001"
Returns:
Dictionary with catalog fields; ``found`` is False when the SKU is missing.
get_price
Get current price for a product SKU.
Args:
sku: Product SKU - e.g., "WIDGET-001"
Returns:
Dictionary with sku and current price
Example:
>>> await get_price("WIDGET-001")
{"sku": "WIDGET-001", "price": 29.99, "currency": "USD"}
list_products
List products from the connected store, paginated.
Use this tool when an agent needs to DISCOVER products by browsing the
catalog rather than VERIFYING a known SKU. The response includes the SKU
for every product, so a follow-up ``check_stock(sku)`` or
``get_product_details(sku)`` is a natural next step.
Args:
limit: Number of products to return (1-50, default 10).
cursor: Opaque cursor from a previous response's ``next_cursor``.
Omit for the first page.
Returns:
Dictionary with:
- products: list of {sku, title, description (≤400 chars),
product_type, tags, price, currency, available, image_url,
storefront_url}
- next_cursor: str or null — pass to the next call to paginate
- has_more: bool — whether more products exist
- live / source: provenance flags
search_products
Search products in the connected store by keyword.
Use this when a shopper's query suggests specific terms the agent can
match against product titles or tags — e.g. "HEPA air purifier" or
"leather wristwatch". Matches Shopify's native storefront search
behavior, so results align with what customers would find on the site.
Args:
query: Keyword or phrase to match.
limit: Max products to return (1-50, default 10).
Returns:
Same shape as ``list_products``. Empty products list when no matches.