addrbookFor publishers
← The evidence ledger

Evidence row 2939994

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 8a117092-71f9-43f2-b779-daaf5a0660f8
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
eae86497573f4cc6ca976a6d1934d16fde80e7c71a5b1bf392eb27345c132714
Leaf
0x259a01c72d77134e0768ed3f270be8f6ae7acefcf14de7f1f8df76541b4a79bc

What was observed

{
  "count": 10,
  "tools": [
    {
      "description": "Close a group order early, as its organiser. Unpaid shares are left out; the shop gets the rest as one order.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "code": {
            "maxLength": 12,
            "minLength": 4,
            "type": "string"
          },
          "organiser_key": {
            "minLength": 8,
            "type": "string"
          },
          "shop_url": {
            "description": "An agentPickup shop's URL, as find_shops returns it. Defaults to https://agentpickup.app.",
            "type": "string"
          }
        },
        "required": [
          "code",
          "organiser_key"
        ],
        "type": "object"
      },
      "name": "close_group_order"
    },
    {
      "description": "Create an order to collect in person. Returns the order id and total; pay it with pay_order. The shop emails the pickup QR to `email` once it's paid.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "email": {
            "description": "The user's email. The pickup QR goes here.",
            "format": "email",
            "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
            "type": "string"
          },
          "items": {
            "items": {
              "properties": {
                "id": {
                  "description": "Item id from get_shop",
                  "type": "string"
                },
                "qty": {
                  "maximum": 20,
                  "minimum": 1,
                  "type": "integer"
                }
              },
              "required": [
                "id",
                "qty"
              ],
              "type": "object"
            },
            "minItems": 1,
            "type": "array"
          },
          "name": {
            "description": "Name for the order, shown to staff",
            "maxLength": 100,
            "type": "string"
          },
          "shop_url": {
            "description": "An agentPickup shop's URL, as find_shops returns it. Defaults to https://agentpickup.app.",
            "type": "string"
          }
        },
        "required": [
          "items",
          "email"
        ],
        "type": "object"
      },
      "name": "create_pickup_order"
    },
    {
      "description": "Find agentPickup shops to order from: near a point (lat/lng), in a suburb or city (place), or selling something (query). Returns each shop's shop_url, pickup address, hours, whether it's open now, distance, and matching menu items.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "lat": {
            "description": "Where the user is: latitude. Send with lng.",
            "maximum": 90,
            "minimum": -90,
            "type": "number"
          },
          "limit": {
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "lng": {
            "description": "Where the user is: longitude. Send with lat.",
            "maximum": 180,
            "minimum": -180,
            "type": "number"
          },
          "open_now": {
            "description": "Only shops open now (shops without listed hours stay in).",
            "type": "boolean"
          },
          "place": {
            "description": "A suburb, street or city to match against shop addresses, e.g. \"Surry Hills\".",
            "maxLength": 100,
            "type": "string"
          },
          "query": {
            "description": "What the user wants, e.g. \"flat white\" or \"croissant\". Leave out to list everything.",
            "maxLength": 100,
            "type": "string"
          },
          "radius_km": {
            "description": "With lat/lng: how far to look. Default 10.",
            "exclusiveMinimum": 0,
            "maximum": 100,
            "type": "number"
          }
        },
        "type": "object"
      },
      "name": "find_shops"
    },
    {
      "description": "The pass link, pickup code and QR content for an order this wallet paid, by signing in with the wallet (Sign-In-With-X).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "order_id": {
            "type": "string"
          },
          "shop_url": {
            "description": "An agentPickup shop's URL, as find_shops returns it. Defaults to https://agentpickup.app.",
            "type": "string"
          }
        },
        "required": [
          "order_id"
        ],
        "type": "object"
      },
      "name": "get_pickup_pass"
    },
    {
      "description": "What the shop sells (item ids and prices), where to collect, and which payments it takes.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "shop_url": {
            "description": "An agentPickup shop's URL, as find_shops returns it. Defaults to https://agentpickup.app.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "get_shop"
    },
    {
      "description": "Who's in a group order, what they ordered, who has paid, and whether it has closed and been collected.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "code": {
            "maxLength": 12,
            "minLength": 4,
            "type": "string"
          },
          "shop_url": {
            "description": "An agentPickup shop's URL, as find_shops returns it. Defaults to https://agentpickup.app.",
            "type": "string"
          }
        },
        "required": [
          "code"
        ],
        "type": "object"
      },
      "name": "group_order_status"
    },
    {
      "description": "Add the user's items to a group order with its code. Returns the order id; pay it with pay_order before the group closes. The organiser collects everything, so the user gets a receipt, not a QR.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "code": {
            "description": "The group's code",
            "maxLength": 12,
            "minLength": 4,
            "type": "string"
          },
          "email": {
            "description": "The user's email, for their receipt",
            "format": "email",
            "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
            "type": "string"
          },
          "items": {
            "items": {
              "properties": {
                "id": {
                  "description": "Item id from get_shop",
                  "type": "string"
                },
                "qty": {
                  "maximum": 20,
                  "minimum": 1,
                  "type": "integer"
                }
              },
              "required": [
                "id",
                "qty"
              ],
              "type": "object"
            },
            "minItems": 1,
            "type": "array"
          },
          "name": {
            "description": "The user's name, shown to staff on their items",
            "maxLength": 60,
            "minLength": 1,
            "type": "string"
          },
          "shop_url": {
            "description": "An agentPickup shop's URL, as find_shops returns it. Defaults to https://agentpickup.app.",
            "type": "string"
          }
        },
        "required": [
          "code",
          "items",
          "email",
          "name"
        ],
        "type": "object"
      },
      "name": "join_group_order"
    },
    {
      "description": "Whether an order is waiting for payment, paid, ready to collect, collected or expired.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "order_id": {
            "type": "string"
          },
          "shop_url": {
            "description": "An agentPickup shop's URL, as find_shops returns it. Defaults to https://agentpickup.app.",
            "type": "string"
          }
        },
        "required": [
          "order_id"
        ],
        "type": "object"
      },
      "name": "order_status"
    },
    {
      "description": "Pay an order in USDC over x402 from wallet 0xd253e213cE143Aa0E1e1cAfc92f7AE82c98aB3bB. This spends money: confirm the items and total with the user first. Returns the pickup pass link.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "order_id": {
            "type": "string"
          },
          "shop_url": {
            "description": "An agentPickup shop's URL, as find_shops returns it. Defaults to https://agentpickup.app.",
            "type": "string"
          }
        },
        "required": [
          "order_id"
        ],
        "type": "object"
      },
      "name": "pay_order"
    },
    {
      "description": "Start a group order (a coffee run) at a shop. Returns a code to share: each person's agent joins with it and pays for their own items. When it closes, the shop gets one combined order and the organiser is emailed its pickup QR.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "closes_in_minutes": {
            "description": "Default 15",
            "maximum": 240,
            "minimum": 5,
            "type": "integer"
          },
          "organiser_email": {
            "description": "Where the group's pickup QR goes",
            "format": "email",
            "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
            "type": "string"
          },
          "organiser_name": {
            "description": "Who collects, shown to staff",
            "maxLength": 60,
            "minLength": 1,
            "type": "string"
          },
          "shop_url": {
            "description": "An agentPickup shop's URL, as find_shops returns it. Defaults to https://agentpickup.app.",
            "type": "string"
          },
          "title": {
            "description": "e.g. \"Friday coffee run\"",
            "maxLength": 60,
            "type": "string"
          }
        },
        "required": [
          "organiser_name",
          "organiser_email"
        ],
        "type": "object"
      },
      "name": "start_group_order"
    }
  ]
}

What the leaf hashes

{"body":"eae86497573f4cc6ca976a6d1934d16fde80e7c71a5b1bf392eb27345c132714","id":2939994,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793763274966092,"prev":null,"subject":"8a117092-71f9-43f2-b779-daaf5a0660f8","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