Tool tree
A live WebMCP demo: an AI agent shops a fake store under four consent models - none, naive, poisoned, and a mandate. Intent, authority, effect: the honest handshake that cannot be fooled.
Implementation
gradeNot graded
gradeNot graded
search_productsAnswer
Search the Roast coffee catalogue by keyword.
View tool JSON
{
"name": "search_products",
"kind": "answer",
"impl": "imperative",
"description": "Search the Roast coffee catalogue by keyword.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string"
}
},
"required": [
"query"
]
},
"page": "/webmcp-challenge/"
}add_to_cartAction
Add a coffee to your cart.
View tool JSON
{
"name": "add_to_cart",
"kind": "act",
"impl": "imperative",
"description": "Add a coffee to your cart.",
"inputSchema": {
"type": "object",
"properties": {
"product_id": {
"type": "string"
},
"quantity": {
"type": "integer",
"minimum": 1
}
},
"required": [
"product_id"
]
},
"page": "/webmcp-challenge/"
}view_cartAction
Show what is currently in your cart.
View tool JSON
{
"name": "view_cart",
"kind": "act",
"impl": "imperative",
"description": "Show what is currently in your cart.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/webmcp-challenge/"
}update_shipping_addressAction
Change the shipping address for this order.
View tool JSON
{
"name": "update_shipping_address",
"kind": "act",
"impl": "imperative",
"description": "Change the shipping address for this order.",
"inputSchema": {
"type": "object",
"properties": {
"address": {
"type": "string"
}
},
"required": [
"address"
]
},
"page": "/webmcp-challenge/"
}checkoutSensitive Action
Place the order and pay.
View tool JSON
{
"name": "checkout",
"kind": "transact",
"impl": "imperative",
"description": "Place the order and pay.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/webmcp-challenge/"
}