Tool tree
gradeNot graded
search_contentAnswer
Search the pages and articles on Bearded Colonel. Read-only. Returns { text, results[] } where each result has title, extract and url.
View tool JSON
{
"name": "search_content",
"kind": "answer",
"impl": "imperative",
"description": "Search the pages and articles on Bearded Colonel. Read-only. Returns { text, results[] } where each result has title, extract and url.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "What to look for, in plain words."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"default": 5,
"description": "How many results to return."
}
},
"required": [
"query"
]
},
"page": "/"
}get_site_overviewAnswer
What Bearded Colonel is, and the main sections of the site. Read-only. Use it first to see what the site covers. Returns { text, name, tagline, sections[] } where each section has title and url.
View tool JSON
{
"name": "get_site_overview",
"kind": "answer",
"impl": "imperative",
"description": "What Bearded Colonel is, and the main sections of the site. Read-only. Use it first to see what the site covers. Returns { text, name, tagline, sections[] } where each section has title and url.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}search_productsAnswer
Browse or search what Bearded Colonel sells when the product is not known by name: a keyword, a category, or a need like "dry skin". Returns a shortlist. For one named product, call get_product_details instead. Read-only. Returns { text, products[] } where each product has id, sku, name, price, in_stock and url - hold the id and use it for the next call.
View tool JSON
{
"name": "search_products",
"kind": "answer",
"impl": "imperative",
"description": "Browse or search what Bearded Colonel sells when the product is not known by name: a keyword, a category, or a need like \"dry skin\". Returns a shortlist. For one named product, call get_product_details instead. Read-only. Returns { text, products[] } where each product has id, sku, name, price, in_stock and url - hold the id and use it for the next call.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "What to look for, in plain words."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"default": 5,
"description": "How many products to return."
}
},
"required": [
"query"
]
},
"page": "/"
}get_product_detailsAnswer
Everything about ONE product at Bearded Colonel, looked up by name: price, subscription frequencies, stock, category. This is the tool to use whenever a product name is known, including a partial one. Read-only. Some products carry no written description, so follow the link for the full page. Returns { text, found, ambiguous, alternatives[], id, sku, name, price, in_stock, categories[], options[], url } - when several products match, one is chosen and the rest are named in alternatives.
View tool JSON
{
"name": "get_product_details",
"kind": "answer",
"impl": "imperative",
"description": "Everything about ONE product at Bearded Colonel, looked up by name: price, subscription frequencies, stock, category. This is the tool to use whenever a product name is known, including a partial one. Read-only. Some products carry no written description, so follow the link for the full page. Returns { text, found, ambiguous, alternatives[], id, sku, name, price, in_stock, categories[], options[], url } - when several products match, one is chosen and the rest are named in alternatives.",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The product name, or part of it. Ignored when `id` is given."
},
"id": {
"type": "integer",
"description": "The product ID from an earlier answer. Exact, and never ambiguous - prefer it over a name when you have one."
}
},
"required": [
"name"
]
},
"page": "/"
}list_delivery_optionsAnswer
Where Bearded Colonel delivers and what postage costs. Postage is charged by item type and is free above an order threshold, so this returns both. Read-only. The figure for a particular basket is confirmed at checkout. Returns { text, zones[] } where each zone has zone, free_over and postage[] of item type and cost including VAT.
View tool JSON
{
"name": "list_delivery_options",
"kind": "answer",
"impl": "imperative",
"description": "Where Bearded Colonel delivers and what postage costs. Postage is charged by item type and is free above an order threshold, so this returns both. Read-only. The figure for a particular basket is confirmed at checkout. Returns { text, zones[] } where each zone has zone, free_over and postage[] of item type and cost including VAT.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}list_categoriesAnswer
The product categories at Bearded Colonel. Read-only. Returns { text, categories[] } where each category has id, slug, name, products count and url.
View tool JSON
{
"name": "list_categories",
"kind": "answer",
"impl": "imperative",
"description": "The product categories at Bearded Colonel. Read-only. Returns { text, categories[] } where each category has id, slug, name, products count and url.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}get_subscription_termsAnswer
How subscriptions work at Bearded Colonel: commitment, changing delivery frequency, pausing and cancelling. Read-only. Returns { text, contract, can_change_date, can_pause, can_cancel, self_service, manage_url } as booleans plus the account URL.
View tool JSON
{
"name": "get_subscription_terms",
"kind": "answer",
"impl": "imperative",
"description": "How subscriptions work at Bearded Colonel: commitment, changing delivery frequency, pausing and cancelling. Read-only. Returns { text, contract, can_change_date, can_pause, can_cancel, self_service, manage_url } as booleans plus the account URL.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}add_to_cartAction
Put a product in the basket at Bearded Colonel. Changes the basket; it does not take payment or place an order, and anything added can be removed again. Subscription products need the delivery frequency in `option` - call get_product_details first to see what they are, and if it is missing this returns the choices instead of guessing. Returns { text, added, needs_option, options[], name, quantity, items, total, cart_url }.
View tool JSON
{
"name": "add_to_cart",
"kind": "act",
"impl": "imperative",
"description": "Put a product in the basket at Bearded Colonel. Changes the basket; it does not take payment or place an order, and anything added can be removed again. Subscription products need the delivery frequency in `option` - call get_product_details first to see what they are, and if it is missing this returns the choices instead of guessing. Returns { text, added, needs_option, options[], name, quantity, items, total, cart_url }.",
"inputSchema": {
"type": "object",
"properties": {
"product": {
"type": "string",
"description": "The product name, or part of it. Ignored when `id` is given."
},
"id": {
"type": "integer",
"description": "The product ID from an earlier answer. Exact, and never ambiguous - prefer it over a name when you have one."
},
"option": {
"type": "string",
"description": "For a subscription product, the delivery frequency, for example \"Every 2 months\"."
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"default": 1,
"description": "How many to add."
}
},
"required": [
"product"
]
},
"page": "/"
}view_cartAction
What is in the basket at Bearded Colonel right now, line by line, with the total and any discount applied. Read-only. Returns { text, empty, items[], count, total, cart_url } where each item has id, name, quantity and subtotal - the id is what update_cart_item wants.
View tool JSON
{
"name": "view_cart",
"kind": "act",
"impl": "imperative",
"description": "What is in the basket at Bearded Colonel right now, line by line, with the total and any discount applied. Read-only. Returns { text, empty, items[], count, total, cart_url } where each item has id, name, quantity and subtotal - the id is what update_cart_item wants.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}update_cart_itemAction
Change how many of a line already in the basket, or remove it by setting quantity to 0. Changes the basket; it does not take payment. Returns { text, updated, name, quantity, count, total }.
View tool JSON
{
"name": "update_cart_item",
"kind": "act",
"impl": "imperative",
"description": "Change how many of a line already in the basket, or remove it by setting quantity to 0. Changes the basket; it does not take payment. Returns { text, updated, name, quantity, count, total }.",
"inputSchema": {
"type": "object",
"properties": {
"product": {
"type": "string",
"description": "The name of a line already in the basket, or part of it. Ignored when `id` is given."
},
"id": {
"type": "integer",
"description": "The product ID of a line in the basket, as view_cart reports it."
},
"quantity": {
"type": "integer",
"minimum": 0,
"maximum": 20,
"description": "The new quantity. 0 removes the line."
}
},
"required": [
"quantity"
]
},
"page": "/"
}apply_couponAction
Apply a discount code to the basket at Bearded Colonel. A code that is invalid, expired or not valid for what is in the basket fails harmlessly and says why. Changes the basket; it does not take payment. Returns { text, applied, code, discount, total }.
View tool JSON
{
"name": "apply_coupon",
"kind": "act",
"impl": "imperative",
"description": "Apply a discount code to the basket at Bearded Colonel. A code that is invalid, expired or not valid for what is in the basket fails harmlessly and says why. Changes the basket; it does not take payment. Returns { text, applied, code, discount, total }.",
"inputSchema": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The discount code, exactly as the customer received it."
}
},
"required": [
"code"
]
},
"page": "/"
}go_to_checkoutSensitive Action
Take the visitor to the checkout page at Bearded Colonel with the basket as it stands. This moves the browser to the checkout; it fills nothing in, pays for nothing and orders nothing - the person completes it themselves. Returns { text, ready, count, total, navigate }.
View tool JSON
{
"name": "go_to_checkout",
"kind": "transact",
"impl": "imperative",
"description": "Take the visitor to the checkout page at Bearded Colonel with the basket as it stands. This moves the browser to the checkout; it fills nothing in, pays for nothing and orders nothing - the person completes it themselves. Returns { text, ready, count, total, navigate }.",
"inputSchema": {
"type": "object",
"properties": {},
"required": []
},
"page": "/"
}