addrbookFor publishers
← 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.

How to check it · This row as JSON