addrbookFor publishers
← The evidence ledger

Evidence row 221866

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 785fa297-57cb-4525-9674-8bbc44d60e6f
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
6019466ea15253ae82075ebe8332a1e8caba4dd6208f826e76a99e1650491a10
Leaf
0x0b3a9c245c9467cab2514f7117f4d0c411b4cbb97c15d67efd26c8fe8af72333

What was observed

{
  "count": 2,
  "tools": [
    {
      "description": "How to use the night-out planner: some places with validated venues (not a ranking and not a coverage claim), supported vibes, route styles, and the rules to follow when relaying a plan (validated venues only, no invented details, legal drinking age where they are). Read-only and free.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "drinkedin_get_guide"
    },
    {
      "description": "Plan a walkable 2-4 stop night out around a place using only venues DrinkedIn has validated against the venue's own site or an official register. Read-only and free. The most reliable input is a point: give latitude and longitude. Choose it from the user's context, never from a default: 'near me' is the user's current location; an area the user names (a neighbourhood or district) is the centre of that area; for a trip the user is planning, look up the destination they name (use its country to pick the right place) and give its coordinates. If the context holds no location, ask the user. With no coordinates, a free-text address or landmark in address also works: it is geocoded to one point and planned like coordinates (coordinates win if both are given). The text is sent to a public geocoding service (OpenStreetMap Nominatim), which ranks matches and does not confirm them: the reply's geocoded_as says what it matched, so confirm that with the person when the text was ambiguous. A place name also works when it identifies one place, so give it with its country or region; a name several places share returns needs_input with labelled choices: pick the one that fits the user's context and call again with its place_key or coordinates. Never guess between choices. Walking times are estimates (straight line x 1.3). Hours and prices are never asserted: tell the user to check with the venue (its own site when the stop has own_site). Say the plan is for adults of legal drinking age where they are; never state an age as a number. If the user says they are under the legal drinking age, do not call this tool. Show only the stops returned and add no venues, details or place names of your own.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "address": {
            "description": "Optional free text: a street address, a landmark or the name of an area, used only when no latitude and longitude are given. It is geocoded to one point and planned like coordinates. The address is sent to a public geocoding service (OpenStreetMap Nominatim) to find the point. The reply echoes geocoded_as and geocoded_point with the notice address_geocoded: a match is a ranking, not a confirmation, so confirm it with the person when the text was ambiguous. No match is needs_input.",
            "maxLength": 200,
            "type": "string"
          },
          "budget": {
            "description": "Accepted but ignored: never used to filter or sort the route; prices are not known. The reply adds the notice budget_not_verifiable.",
            "type": "object"
          },
          "city": {
            "description": "City name. Add the country or state when several places share the name.",
            "maxLength": 80,
            "type": "string"
          },
          "country": {
            "description": "Country name or code; narrows a name several places share.",
            "maxLength": 40,
            "type": "string"
          },
          "exclude_ids": {
            "description": "venue_id values to leave out, to swap a stop.",
            "items": {
              "type": "integer"
            },
            "maxItems": 50,
            "type": "array"
          },
          "language": {
            "default": "en",
            "maxLength": 10,
            "type": "string"
          },
          "latitude": {
            "maximum": 90,
            "minimum": -90,
            "type": "number"
          },
          "longitude": {
            "maximum": 180,
            "minimum": -180,
            "type": "number"
          },
          "max_walk_m": {
            "default": 900,
            "maximum": 2000,
            "minimum": 200,
            "type": "integer"
          },
          "near": {
            "description": "What the point stands for, e.g. 'near me' or the area the user named. Echoed back as the route's 'near_as_given'; it is your label, not ours, and never changes the plan.",
            "maxLength": 80,
            "type": "string"
          },
          "party_size": {
            "description": "Informational only: does not change the route.",
            "minimum": 1,
            "type": "integer"
          },
          "place_key": {
            "description": "From a needs_input answer: names exactly one of its choices.",
            "maxLength": 120,
            "type": "string"
          },
          "region": {
            "description": "State or province, a name or a code such as a two-letter US state code; narrows a name several places share.",
            "maxLength": 40,
            "type": "string"
          },
          "start_time": {
            "description": "Local HH:MM. Informational only: does not change the route.",
            "maxLength": 10,
            "type": "string"
          },
          "stops": {
            "default": 3,
            "maximum": 4,
            "minimum": 2,
            "type": "integer"
          },
          "style": {
            "description": "Optional route shape, from the styles in drinkedin_get_guide. It limits which kinds of place the route uses and sets the default stops and walking limit; your own stops and max_walk_m win. It says nothing about hours, prices or atmosphere. Too few matching venues gives partial or no_coverage, never other kinds of place. The reply echoes style_applied.",
            "enum": [
              "bar_crawl",
              "craft_beer_crawl",
              "dinner_and_drinks",
              "club_night"
            ],
            "type": "string"
          },
          "vibes": {
            "description": "From drinkedin_get_guide. Vibes we cannot verify yet are noted, not applied.",
            "items": {
              "maxLength": 40,
              "type": "string"
            },
            "maxItems": 10,
            "type": "array"
          }
        },
        "type": "object"
      },
      "name": "drinkedin_plan_night_out"
    }
  ]
}

What the leaf hashes

{"body":"6019466ea15253ae82075ebe8332a1e8caba4dd6208f826e76a99e1650491a10","id":221866,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793027656399718,"prev":null,"subject":"785fa297-57cb-4525-9674-8bbc44d60e6f","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).

  1. 0x0b3b18d35e8ccfcad0c13ad6bd74d15218b11f89b96d39d1c25b8a5f2f6816c9
  2. 0x671ea4ba278168c61f47b7e50c9540b9160eed22be475ea7171ef59516c2377b
  3. 0x850eb74b869ba3798018bed753796f7bb5e4161d090c122c5f94ba700d100b31
  4. 0x7200e311ab5f035e551945caf57bb2d8864875fb259c410e0bf32926677d9fe6
  5. 0x1818d75f4d4953c93fc835f445458ad640c57ca8fa428ef708da95a3f1077a4d
  6. 0x5b2a7462f414d5f4d8549651a8a4ffc11eafd79888a150773c000d81db7e7f02
  7. 0xcb0160b76992ca9b0ff132597d07f35508f9a87febbc3eb77a3c60954301d46a
  8. 0x8c958e9fc0433c1f3ef58cded1bafd27f5248645d8c820b9da52eb9679a3db34
  9. 0xd83877ac63a961b0129a97a80da7a77dea06dab1654464985a8bb3d4fd340afc
  10. 0x0317d9c853b2cffa1fdc2c62014a377dfdfb03f28f46b665e5f3801b32d539fd
  11. 0xb590404cb9438c769f672be0f0089b46b380374a2b3728911a35efd8d94b6a83
  12. 0x0295c7c2280f85143f6ea027ec5cab1cda783eeef5bca0accb9aea607c5aa3c2
  13. 0x5aefcf9e3d86e125861c0d490079969110eea8fc901ec61531bba10bb58258a1
  14. 0xa96bb9408ce00a0d40ddaba8736257dfce76d5478b131d69db1afdf8a824312b
  15. 0x7ddc2fead128357f881b63e6c7c26d7fbbb84fca6c7c8e0bbfe386de86ca8d39
  16. 0xc6a4d7899a0f442958e26505011190b7cff2483611c1b94eba9043e0ba9ac36e
  17. 0x8c756542e482157df0c36464d75c937b845e4423dbbcfad08f0cf8d5a16b9a13
  18. 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON