← The evidence ledger
Evidence row 1223123
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 96c5953b-f1b5-43eb-bb90-292d7859443b
- Recorded
- Previous row
- #586954
- Body SHA-256
- 4badef119604ce01e16edb813f1142be3b59e4e37c41cdef34e45752cdec80df
- Leaf
- 0xff38af9bd6aa2d8b5b74ff5400078b807f4d04f174f0e16b6a8eb5d49db6586e
What was observed
{
"count": 4,
"tools": [
{
"description": "Facts about Dukkani for a grocery owner (cashier on the phone, debt book from a photo of the paper book, barcode, worker in his language, orders from neighbourhood customers) and the links to try it. Use when a shop owner asks for a cashier/POS app, a debt book app or how to run a grocery from a phone in Saudi Arabia.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"topic": {
"default": "overview",
"enum": [
"overview",
"cashier",
"debts",
"orders",
"workers",
"einvoice"
],
"type": "string"
}
},
"type": "object"
},
"name": "dukkani_for_shop_owners"
},
{
"description": "Find neighbourhood groceries (بقالات / تموينات) in Saudi Arabia from Dukkani's public directory, by district (حي) + city, by city, or by coordinates. Returns each grocery's name, city, distance (km, when known), an order_url (Dukkani order page; the customer sends the order on WhatsApp), a map_url and open (customers' open/closed confirmations of the last 3 hours, or null), plus nearest_url: the live «nearest grocery» radar for where the user is now. Groceries that use Dukkani and take orders in the app come first (on_dukkani=true). Use the Arabic district/city names when you have them (e.g. district «النهضة», city «عفيف»).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"city": {
"description": "City, e.g. الرياض، جدة، عفيف، بريدة (Arabic preferred)",
"type": "string"
},
"district": {
"description": "District / neighbourhood (حي), e.g. الياسمين، النهضة. Give the city too when you know it.",
"type": "string"
},
"latitude": {
"description": "Optional: the user's latitude (only if they shared it)",
"type": "number"
},
"limit": {
"default": 8,
"maximum": 15,
"minimum": 1,
"type": "integer"
},
"longitude": {
"description": "Optional: the user's longitude",
"type": "number"
}
},
"type": "object"
},
"name": "find_groceries"
},
{
"description": "List the Saudi cities that have groceries in Dukkani's directory, with how many. Use it when a city is not found or the user asks where it works.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "list_cities"
},
{
"description": "Turn a shopping list into a ready order for one grocery from find_groceries (pass its id, e.g. «d:82» or «b:abc12»). Returns the cleaned list and an order_url: Dukkani's order page with that grocery chosen and the list already written, so the customer only checks it and sends it on WhatsApp. This tool sends nothing by itself.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"grocery_id": {
"description": "The id returned by find_groceries (d:<number> or b:<code>)",
"type": "string"
},
"items": {
"description": "List lines, e.g. «2 حليب المراعي 1 لتر», «رز 5 كيلو», «كرتون بيض»",
"items": {
"type": "string"
},
"maxItems": 40,
"minItems": 1,
"type": "array"
},
"note": {
"description": "Optional note to the grocery (delivery time, «بدون سكر»…)",
"type": "string"
}
},
"required": [
"grocery_id",
"items"
],
"type": "object"
},
"name": "prepare_grocery_order"
}
]
}What the leaf hashes
{"body":"4badef119604ce01e16edb813f1142be3b59e4e37c41cdef34e45752cdec80df","id":1223123,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793321379812069,"prev":586954,"subject":"96c5953b-f1b5-43eb-bb90-292d7859443b","subject_kind":"endpoint"}Proof
Its day has not closed yet. A day closes ten minutes after midnight UTC; the proof appears here then.