← The evidence ledger
Evidence row 1727786
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 689e0ddc-cb90-4f05-8f4c-14bbe542e94a
- Recorded
- Previous row
- #1477134
- Body SHA-256
- 92c39d81964305b2dec2634a928404fbab03a1743023534a0dba409ab3c90a46
- Leaf
- 0xa6f1b1ffccdcb90d303cb39b0b2810123871e9605809f5c8adf32f14ccfa470f
What was observed
{
"count": 10,
"tools": [
{
"description": "Compare a selected car shortlist; use search_vehicles to discover candidates or get_vehicle for one car.\n\n- vehicle_ids chooses the adverts to include, in buyer-selected order; it does not rerun search filters. Resolve ID/slug aliases to distinct listing_id values. Repeating an advert must not create extra price evidence or imply another vehicle.\n- Keep unknown-price candidates visible when the buyer still wants to consider them. A cheapest result ranks only distinct, known positive prices; inspect price_comparison_complete before describing it as cheapest across the whole shortlist. Asking prices are not valuations.\n- Anonymous fresh lookups can partially fail. Inspect not_found/unavailable and retry temporary failures before excluding a candidate. Use prepare_vehicle_handoff after choosing; comparison reserves nothing.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"vehicle_ids": {
"description": "Two to four listing_id values from search_vehicles or public listing slugs, not VINs or URLs. Choose distinct listings; repeated IDs or an ID and its slug do not provide separate price evidence.",
"items": {
"maxLength": 120,
"minLength": 1,
"type": "string"
},
"maxItems": 4,
"minItems": 2,
"type": "array"
}
},
"required": [
"vehicle_ids"
],
"type": "object"
},
"name": "compare_vehicles"
},
{
"description": "Read one car auction's current public bid state; search_auctions discovers events and get_vehicle provides the linked car's facts.\n\n- auction_id binds every bid and deadline to one sale event. Keep that event's listing link beside the result; a bid from another event or the car's retail asking price cannot fill a missing auction value.\n- A saved event may have ended. Check status/end_at and refresh before answering a live-bid question; use minimum_next_bid only when returned.\n- Anonymous snapshots can fail for feature gating, rate limits or unknown events. Report the error; reserve prices and bidder identities stay private. Bidding requires a verified dealer and a human decision outside this tool.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"auction_id": {
"description": "Copy auction_id from search_auctions or an auction-linked get_vehicle result, or use a known public auction ID supplied by the buyer. Supply the event identifier alone, not a listing_id or URL; never invent one.",
"maxLength": 64,
"minLength": 1,
"type": "string"
}
},
"required": [
"auction_id"
],
"type": "object"
},
"name": "get_auction"
},
{
"description": "Read shared Bangladesh retail-parts payment and delivery terms before explaining a purchase; get_part supplies item eligibility and prepare_part_handoff prepares the enquiry.\n\n- No inputs: the same retail policy applies across items. Reuse it across a shortlist, then refresh before relaying fees; a buyer's address, basket or identity cannot personalize this call.\n- Select the returned delivery zone using the buyer's area. Retail terms do not establish vehicle, auction or trade-credit terms; route car enquiries through prepare_vehicle_handoff.\n- Money objects distinguish BDT from paisa; vat_bps is in basis points. If live_terms_unavailable is true, obtain human confirmation instead of inventing fees. This anonymous read accepts no quote or payment.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "get_buying_guide"
},
{
"description": "Inspect one spare part's price, supply and fitment evidence after search_parts; use prepare_part_handoff for a human enquiry.\n\n- part_id selects one catalogue record, not the OEM-number group. If several records share an OEM reference, select the buyer's intended record before lookup; never combine one record's price with another's stock or fitment.\n- A found record can remain unsellable. Read its minimum quantity and required fitment fields before proposing a purchase; missing price or stock means unknown, not zero. An OEM match does not certify fitment.\n- This anonymous lookup refreshes the selected record without reserving supply. If it is missing, search again and reconfirm any replacement with the buyer; a failed lookup does not prove the OEM part unavailable everywhere.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"part_id": {
"description": "Exact catalogue part_id copied from search_parts, e.g. BRK-AXIO-01. This is JOY's catalogue identifier, not an OEM part number or a product URL.",
"maxLength": 120,
"minLength": 1,
"type": "string"
}
},
"required": [
"part_id"
],
"type": "object"
},
"name": "get_part"
},
{
"description": "Inspect one car listing's specifications, asking price and inspection evidence after search_vehicles; use compare_vehicles for a shortlist.\n\n- vehicle_id chooses an advertisement. Use the returned canonical listing_id to join its detail, comparison and enquiry; matching make/model or an ID/slug pair is not evidence of another independent offer.\n- A non-empty auction_id selects a separate event for get_auction; no link means auction status is unknown. Use prepare_vehicle_handoff after selecting the car, rather than treating inspection evidence as a warranty.\n- This anonymous lookup refreshes the advert. Missing facts remain unknown; a missing listing requires a new search. Seller contacts and auction reserve prices stay private, and no car is reserved.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"vehicle_id": {
"description": "listing_id returned by search_vehicles, or slug from a public JOY listing URL. Use only the ID/slug (letters/digits, dots, underscores, hyphens; starts with a letter/digit), not the URL, VIN or registration number.",
"maxLength": 120,
"minLength": 1,
"type": "string"
}
},
"required": [
"vehicle_id"
],
"type": "object"
},
"name": "get_vehicle"
},
{
"description": "Prepare a human parts enquiry after search_parts and get_part; use prepare_vehicle_handoff for whole cars and get_buying_guide for retail terms.\n\n- part_id fixes the selected item; quantity expresses the buyer's request, even below its minimum. Explain any gap rather than changing the request. Quantity times asking price excludes unconfirmed fees and is not an accepted quote.\n- vehicle supplies buyer-provided fitment context; collect missing fields identified by get_part. note qualifies that request but cannot clear fitment restrictions or change eligibility. Never invent vehicle identity.\n- A fresh anonymous lookup prepares links only. Text is embedded in the link, so omit unnecessary personal details. The human reviews and decides whether to send; JOY confirms fitment, stock and price. Nothing opens, reserves, orders or charges.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"note": {
"description": "Buyer-supplied question or preference copied into the prepared enquiry, such as a request to confirm delivery or bulk terms.",
"maxLength": 300,
"type": "string"
},
"part_id": {
"description": "Exact part_id from search_parts/get_part for the selected item; not an OEM reference or product URL. The tool fetches fresh public part detail before composing the links.",
"maxLength": 120,
"minLength": 1,
"type": "string"
},
"quantity": {
"default": 1,
"description": "Number of units the buyer wants to enquire about, included in the prepared message. This is a request count, not a stock allocation.",
"maximum": 10000,
"minimum": 1,
"type": "integer"
},
"vehicle": {
"description": "Buyer-provided make/model/year, chassis or VIN text for JOY's human fitment review. Omit if the buyer has not supplied vehicle information.",
"maxLength": 120,
"type": "string"
}
},
"required": [
"part_id"
],
"type": "object"
},
"name": "prepare_part_handoff"
},
{
"description": "Prepare a human enquiry for a selected car; use compare_vehicles before choosing and prepare_part_handoff for spare parts.\n\n- vehicle_id fixes the advert to enquire about. A slug resolves to canonical listing_id so the link and refreshed asking-price summary refer to the same advert; neither identifies an auction event.\n- note adds the buyer's question to that enquiry, not an instruction to change price or certify condition. It is embedded in the link; omit unnecessary personal details.\n- This anonymous lookup prepares links only. The human reviews and decides whether to send; JOY confirms availability, inspection and terms. No enquiry, booking, reservation, bid, order or payment is made.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"note": {
"description": "Optional human enquiry, e.g. request an inspection or confirm availability. Included in the pre-filled link; not submitted by this tool.",
"maxLength": 300,
"type": "string"
},
"vehicle_id": {
"description": "A selected listing_id from search_vehicles/compare_vehicles, or a public listing slug. Supply only the ID/slug, not a full URL or VIN.",
"maxLength": 120,
"minLength": 1,
"type": "string"
}
},
"required": [
"vehicle_id"
],
"type": "object"
},
"name": "prepare_vehicle_handoff"
},
{
"description": "Find auction-event links attached to public cars; use search_vehicles for car specifications and asking prices, or get_auction for one event's bid state.\n\n- Filter the linked car, not the auction title: make='Toyota' with query='Premio' targets that model's vehicle adverts. Unpriced cars remain eligible because an auction need not have a retail asking price.\n- page_size is a source-scan batch: inspecting 20 adverts can yield zero auction links. Keep batch size and filters fixed; follow next_page even after an empty items page. At the source limit, narrow the car filters instead of claiming an exhaustive search.\n- Results are links, not retail offers or bid snapshots. Source counts describe cars scanned; get_auction checks ended or gated events. Anonymous discovery exposes no private lots and places no bid.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"make": {
"description": "Case-insensitive manufacturer prefix, e.g. Toyota; intersects the vehicle query. Omit for all makes.",
"maxLength": 60,
"type": "string"
},
"page": {
"default": 1,
"description": "One-based source vehicle page; use returned next_page with unchanged filters. This is not a page of guaranteed auction matches.",
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"page_size": {
"default": 10,
"description": "Public vehicle listings inspected per source page. Auction links can be fewer than this value, including zero.",
"maximum": 20,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "Make/model/trim phrase for candidate vehicles, e.g. Premio; omit to scan all public listings. Known Bangla/Banglish vocabulary is normalized.",
"maxLength": 120,
"type": "string"
}
},
"type": "object"
},
"name": "search_auctions"
},
{
"description": "Find spare-part candidates; use search_vehicles for whole cars and get_part to inspect a selected result.\n\n- Combine query/category for the item with make/chassis for its vehicle. Narrow ambiguous item text before relaxing known vehicle identity; a catalogue match never certifies fitment.\n- Choose stocked supply or RFQ sourcing deliberately. max_price_bdt limits the item's asking price, not the full purchase budget; check minimum quantity and delivery terms separately. Catalogue-only results need human confirmation.\n- page_size controls review batch size, not total supply. Keep it and the filters fixed while advancing page. Empty results are valid; an uninterpretable Bangla query returns an error. Anonymous searches reserve no stock.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"category": {
"description": "Public category label from a catalogue result, e.g. Brakes. Omit if the category is unknown.",
"maxLength": 100,
"type": "string"
},
"chassis": {
"description": "Vehicle chassis/model code, e.g. NZE141 or G05; not a full VIN. Narrows candidates and does not certify fitment.",
"maxLength": 40,
"type": "string"
},
"in_stock_only": {
"default": false,
"description": "True requests currently in-stock candidates; false (default) permits other public availability states. This does not reserve stock.",
"type": "boolean"
},
"include_rfq_catalogue": {
"default": false,
"description": "True also includes catalogue-only templates requiring a human parts request; false (default) omits them. Inclusion does not make an item directly purchasable.",
"type": "boolean"
},
"make": {
"description": "Vehicle manufacturer, e.g. Toyota; narrows part candidates alongside the query. Omit if unknown.",
"maxLength": 80,
"type": "string"
},
"max_price_bdt": {
"description": "Inclusive maximum retail asking price in Bangladesh taka (BDT), e.g. 5000 means ৳5,000; omit for no budget ceiling. Not lakh units and not a currency conversion.",
"minimum": 0,
"type": "number"
},
"page": {
"default": 1,
"description": "One-based results page, 1 through 500; defaults to 1. Increment to retrieve the next page with the same filters.",
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"page_size": {
"default": 10,
"description": "Maximum results requested per page, 1 through 20; defaults to 10. total describes all matches, not this page's item count.",
"maximum": 20,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "Part name, OEM reference or vehicle words in English, Bangla or Banglish; e.g. 'Axio brake pads' or 'টয়োটা এক্সিও ব্রেক প্যাড'. Omit for filtered browsing; not a part_id lookup.",
"maxLength": 120,
"type": "string"
}
},
"type": "object"
},
"name": "search_parts"
},
{
"description": "Research retail cars for sale; use get_vehicle for one listing, compare_vehicles for a shortlist or search_auctions to discover auction-event links.\n\n- Combine the buyer's make/model, fuel, model-year range and budget into one shortlist. verified_only narrows evidence quality, not mechanical warranty; year_desc ranks model year while latest prioritizes verified/newly listed adverts.\n- Decide whether POA cars belong in the shortlist. include_unpriced cannot override min_price_bdt/max_price_bdt; omit both price bounds to retain unknown-price candidates. Asking prices are neither bids nor valuations.\n- page_size sets the review batch; hold it, sort and filters fixed while advancing page. Anonymous live reads may return no matches. Use the selected listing's detail before enquiry; no seller is contacted or car reserved.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"fuel_type": {
"description": "Case-insensitive prefix of a public listing's fuel label, e.g. hybrid. Copy a known label where possible; omit to include all fuel types.",
"maxLength": 40,
"type": "string"
},
"include_unpriced": {
"default": false,
"description": "True includes price-on-application or otherwise unpriced listings; false (default) excludes them. A missing asking price is unknown, never zero.",
"type": "boolean"
},
"make": {
"description": "Case-insensitive manufacturer prefix, e.g. Toyota. Combine with query='Premio' for that model; omit to include all makes.",
"maxLength": 60,
"type": "string"
},
"max_price_bdt": {
"description": "Inclusive maximum stated asking price in Bangladesh taka, e.g. 3000000 means ৳30 lakh. Omit for no maximum; no less than min_price_bdt.",
"minimum": 0,
"type": "number"
},
"max_year": {
"description": "Inclusive latest model year, 1950 through 2100. Omit for no upper-year filter; supply a value no less than min_year.",
"maximum": 2100,
"minimum": 1950,
"type": "integer"
},
"min_price_bdt": {
"description": "Inclusive minimum stated asking price in Bangladesh taka, e.g. 2000000 means ৳20 lakh. Omit for no minimum; no greater than max_price_bdt.",
"minimum": 0,
"type": "number"
},
"min_year": {
"description": "Inclusive earliest model year, 1950 through 2100. Omit for no lower-year filter; supply a value no greater than max_year.",
"maximum": 2100,
"minimum": 1950,
"type": "integer"
},
"page": {
"default": 1,
"description": "One-based results page, 1 through 500; defaults to 1. Keep filters and sort unchanged when paging.",
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"page_size": {
"default": 10,
"description": "Maximum results requested per page, 1 through 20; defaults to 10. total is the matching population, which may exceed this page's item count.",
"maximum": 20,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "Case-insensitive phrase within make, model or trim; use query='Premio' with make='Toyota', not one combined 'Toyota Premio' phrase. Known Bangla/Banglish vocabulary is normalized; unsupported words may be dropped. Use known English model words for precision; omit to browse.",
"maxLength": 120,
"type": "string"
},
"sort": {
"default": "latest",
"description": "Result order: latest (default: verified first, then newest), price_asc (lowest stated price first), price_desc (highest first), or year_desc (newest model year first). Stable tie-breaks support paging; no valuation is performed.",
"enum": [
"latest",
"price_asc",
"price_desc",
"year_desc"
],
"type": "string"
},
"verified_only": {
"default": false,
"description": "True requires the storefront's verified flag, approved inspection status and a non-empty inspection ID; false (default) also permits other public listings. Verification is not a vehicle warranty.",
"type": "boolean"
}
},
"type": "object"
},
"name": "search_vehicles"
}
]
}What the leaf hashes
{"body":"92c39d81964305b2dec2634a928404fbab03a1743023534a0dba409ab3c90a46","id":1727786,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793497926621129,"prev":1477134,"subject":"689e0ddc-cb90-4f05-8f4c-14bbe542e94a","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (302406 rows).
- 0xa6f1a6540b035ce494fa6c40ffcaaca31296ca98766bd4bd944de6a7dbeb496a
- 0x6c9ec3162c4d1c5b60f88c2cc951707e9883f567df5d851bc51d9559dff349a9
- 0xcb655ff8a1d7430a66bdec9d6aadc059c321639a60839956b88ceb15256449c1
- 0xb06bcc53ee690168e949f1a1cd93e64c1833afe65370bebb6b860b382be6a1fc
- 0x7885736015ccae2fb208a95ac85c5494a036d1f6b9cb606a22bf64a3f0836afa
- 0x4a3535112dc9fc911ff833f4c18b58f6bfaa80775d8d453f543455aaffd9ef26
- 0x277e2e163bcf0913e9640102f76278edd6ad4fb8532c8cf1255ecb84388c1cb1
- 0x7480cbd321c78bf0c8c671a8d7041368302bd49a978b9d3bf60b17e8ca61e759
- 0x3f66522b8fa2df5d8d55b9470cb6312df4a7cee7dd4baf7e392663b36bf2f6cb
- 0xd59117590977370ed867b2698f290886346cd795edb6d348fc59c790b955cf29
- 0xe460e2458b6f8dd593b34df4051783263ae38f7e4168ff916d22f0746ba600e4
- 0xd209e5d1518fb161264f3e389a6c577acbd29192c17c80c9ec8ed9b83503cb0a
- 0xefff7a00a0f698242a4fbb4741471facf8a07aac283a6d0c44a87bf4a988152e
- 0x110c6c21e77668de1becd70345e909cedabda185c5eca2a47425fab10ef478be
- 0xc88d127644e311620e3bcad9c976ab2c79963799278768230b1762de9b7cd724
- 0x8339aa87501c4d4f8b38a13e480a7c563957e09fb5711bed7cf189d6787f960d
- 0xb5916fb7a3e87dc0702e46eeadcd22652e2e1e755f8d429cc7a14a67a350b51b
- 0x6142ac48fda269c17791c79da99c2456ac6acfe98268f4d168a404fd6040c703
- 0x3315fd2757fdd435852cc277377234a3f3909a6d2a089d0e36f6d59aacfda910
- Day root
- 0x7fa2cba1cf3d6b35630896f5fe1a650adb307ea2c376e80a5f2d9276b7cb5ab3
- Chained
- 0x577ff89ba012beeff3197bcff7fa86752074bdf54205a24359cc437be2a952a4
- Published
- On Arc Testnet, block 70262758: 0x435bc1b9331471d72e1998f2e420983b5189d4da65ffbd6f27ef40daf5e1ea90