Tool tree
A WebMCP-powered storefront where you and your AI agent share the same live cart.
Implementation
gradeNot graded
gradeNot graded
search_productsAnswer
Search the Co-Shop grocery catalog. Filter by free-text query, category, dietary/attribute tags, and max price per item.
View tool JSON
{
"name": "search_products",
"kind": "answer",
"impl": "imperative",
"description": "Search the Co-Shop grocery catalog. Filter by free-text query, category, dietary/attribute tags, and max price per item.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Free text search, e.g. 'curry' or 'chocolate'."
},
"category": {
"type": "string",
"description": "One of: dinner, dairy, breakfast, bakery, produce, beverage, snack, frozen."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Required tags, e.g. ['vegetarian','quick']."
},
"maxPrice": {
"type": "number",
"description": "Maximum price per item in USD."
}
}
}
}add_to_cartAction
Add a product to the shared cart. Visible instantly to the human shopper.
View tool JSON
{
"name": "add_to_cart",
"kind": "act",
"impl": "imperative",
"description": "Add a product to the shared cart. Visible instantly to the human shopper.",
"inputSchema": {
"type": "object",
"properties": {
"productId": {
"type": "string",
"description": "Product id from search_products, e.g. 'p3'."
},
"quantity": {
"type": "number",
"description": "Quantity to add. Defaults to 1."
}
},
"required": [
"productId"
]
}
}remove_from_cartAction
Remove a product entirely from the shared cart.
View tool JSON
{
"name": "remove_from_cart",
"kind": "act",
"impl": "imperative",
"description": "Remove a product entirely from the shared cart.",
"inputSchema": {
"type": "object",
"properties": {
"productId": {
"type": "string",
"description": "Product id to remove."
}
},
"required": [
"productId"
]
}
}update_quantityAction
Set the quantity of a product already in the cart (0 removes it).
View tool JSON
{
"name": "update_quantity",
"kind": "act",
"impl": "imperative",
"description": "Set the quantity of a product already in the cart (0 removes it).",
"inputSchema": {
"type": "object",
"properties": {
"productId": {
"type": "string"
},
"quantity": {
"type": "number"
}
},
"required": [
"productId",
"quantity"
]
}
}get_cartAnswer
Get the current shared cart contents and total, including items the human added themselves.
View tool JSON
{
"name": "get_cart",
"kind": "answer",
"impl": "imperative",
"description": "Get the current shared cart contents and total, including items the human added themselves.",
"inputSchema": {
"type": "object",
"properties": {}
}
}plan_dinnersAction
Plan and add a set of dinners to the cart in one step, e.g. 'a week of vegetarian dinners under $40'. Picks distinct matching dinners and adds them to the shared cart.
View tool JSON
{
"name": "plan_dinners",
"kind": "act",
"impl": "imperative",
"description": "Plan and add a set of dinners to the cart in one step, e.g. 'a week of vegetarian dinners under $40'. Picks distinct matching dinners and adds them to the shared cart.",
"inputSchema": {
"type": "object",
"properties": {
"days": {
"type": "number",
"description": "Number of dinners to plan, e.g. 7."
},
"dietary": {
"type": "array",
"items": {
"type": "string"
},
"description": "Required dietary tags, e.g. ['vegetarian'] or ['vegan']."
},
"avoidTags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tags to avoid, e.g. ['spicy']."
},
"maxBudget": {
"type": "number",
"description": "Total budget in USD for all planned dinners."
}
},
"required": [
"days"
]
}
}checkoutSensitive Action
Check out the shared cart, placing the order and clearing the cart.
View tool JSON
{
"name": "checkout",
"kind": "transact",
"impl": "imperative",
"description": "Check out the shared cart, placing the order and clearing the cart.",
"inputSchema": {
"type": "object",
"properties": {}
}
}