addrbookFor publishers
← The evidence ledger

Evidence row 202349

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint ce554230-3d1f-48f6-ad06-faeb6de69b9a
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
53120d077917d11425172159d8fb765d86b135478e0605293d1c7e26bd76dc7f
Leaf
0xc4ce5a71a49e6595aeca15a4c9caa031f312e1559c9213826d838cd1d8645351

What was observed

{
  "count": 8,
  "tools": [
    {
      "description": "Skickar en FÖRFRÅGAN till en leverantör — Saightly förmedlar kontakten (gratis, avgift_kr är alltid 0). Direktbokning är pausad: bekraftad_tid/pass avvisas (409). Ange kundens behov i kontakt.meddelande och gärna onskad_tid. KRÄVER kundens RIKTIGA e-post i kontakt.epost: kunden får ett bekräftelsemejl och förfrågan förmedlas FÖRST när kunden klickat länken — hitta ALDRIG på en adress, och meddela kunden att kolla sin inkorg.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "bekraftad_tid": {
            "description": "Vald ledig tid (ISO 8601) från lediga_tider → direktbokning som blockerar slotten. Kräver kontakt med namn, epost och telefon.",
            "type": "string"
          },
          "kontakt": {
            "description": "Kundens kontaktuppgifter. Vid bokning krävs namn, epost och telefon; adress krävs dessutom när tjänstens platstyp är hos_kund (se lediga_tider).",
            "properties": {
              "adress": {
                "type": "string"
              },
              "epost": {
                "type": "string"
              },
              "meddelande": {
                "type": "string"
              },
              "namn": {
                "type": "string"
              },
              "telefon": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "langd_minuter": {
            "description": "Bokningens längd i minuter — sätt till summan av flera INTILLIGGANDE pass för en längre bokning (annars ärvs tjänstens standardlängd).",
            "type": "number"
          },
          "onskad_tid": {
            "description": "Önskad tid (ISO 8601) för en förfrågan.",
            "type": "string"
          },
          "ordervarde": {
            "description": "Ordervärde i kr (ger värdebaserad avgift för bokning/försäljning).",
            "type": "number"
          },
          "orgnr": {
            "description": "Leverantörens organisationsnummer.",
            "type": "string"
          },
          "pass": {
            "description": "DELAD bokning: flera tillfällen (även spridda över dagar, t.ex. mån 14–16 + ons 08–12) som EN bokning med samma status och kund. Varje pass: start (ledig tid enligt lediga_tider, ISO 8601) + langd_minuter. Ersätter bekraftad_tid/langd_minuter.",
            "items": {
              "properties": {
                "langd_minuter": {
                  "type": "number"
                },
                "start": {
                  "type": "string"
                }
              },
              "required": [
                "start"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "slug": {
            "description": "Tjänstens slug (från sok_tjanster/las_tjanst) — VÄLJ RÄTT tjänst när företaget har flera. Utelämnad: företagets första aktiva tjänst.",
            "type": "string"
          },
          "tillval": {
            "description": "Id:n på tjänstens tillval som kunden vill boka till (t.ex. färgning, webbmaster). Extra tid läggs på bokningen; namn och pris snapshotas på avropet.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "typ": {
            "description": "Typ av avrop. Standard: forfragan.",
            "enum": [
              "forfragan",
              "bokning",
              "forsaljning"
            ],
            "type": "string"
          }
        },
        "required": [
          "orgnr"
        ],
        "type": "object"
      },
      "name": "avropa_tjanst"
    },
    {
      "description": "Hämtar grunduppgifter för ett organisationsnummer (namn, status, adress, SNI) från Bolagsverket.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "orgnr": {
            "description": "Organisationsnummer (10 siffror, med eller utan bindestreck).",
            "type": "string"
          }
        },
        "required": [
          "orgnr"
        ],
        "type": "object"
      },
      "name": "las_foretag"
    },
    {
      "description": "Status och inkomna offerter för en tidigare skapad offertförfrågan (token från skapa_offertforfragan). Varje offert bär företag, verifiering, betyg, summa och pristyp (fastpris = bindande; budget = riktpris som stäms av innan start). Använd valj_offert för att välja vinnare.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "token": {
            "description": "Förfrågningstoken (returnerades av skapa_offertforfragan).",
            "type": "string"
          }
        },
        "required": [
          "token"
        ],
        "type": "object"
      },
      "name": "las_offertforfragan"
    },
    {
      "description": "Hämtar detaljer för en specifik tjänst via dess slug (från sok_tjanster).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "slug": {
            "description": "Tjänstens slug, t.ex. \"koksrenovering-vara\".",
            "type": "string"
          }
        },
        "required": [
          "slug"
        ],
        "type": "object"
      },
      "name": "las_tjanst"
    },
    {
      "description": "Direktbokning är PAUSAD — verktyget svarar med tom slots-lista och en förklaring. Förmedla i stället kontakt: las_foretag ger företagets uppgifter, och avropa_tjanst (utan bekraftad_tid) skickar en förfrågan som Saightly förmedlar. Bokningen sker sedan direkt hos företaget.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "antal": {
            "description": "Antal tider att returnera (standard 5, max 120).",
            "type": "number"
          },
          "orgnr": {
            "description": "Leverantörens organisationsnummer.",
            "type": "string"
          },
          "resurs": {
            "description": "Filtrera på en specifik utförare (resurs-id från ett tidigare svar).",
            "type": "string"
          },
          "slug": {
            "description": "Tjänstens slug (styr passlängd och utförare). Utelämnad: företagets första aktiva tjänst.",
            "type": "string"
          }
        },
        "required": [
          "orgnr"
        ],
        "type": "object"
      },
      "name": "lediga_tider"
    },
    {
      "description": "Skickar en GENERELL förfrågan (t.ex. \"bygga ut altan i Skara\"). AI strukturerar briefen; förfrågan tas emot av emils.design — företaget bakom Saightly — som återkommer till kunden med förslag eller kontakt till rätt verifierat bolag. För att nå ETT specifikt företag direkt, använd avropa_tjanst. KRÄVER kundens RIKTIGA e-post: kunden får ett bekräftelsemejl och förfrågan förmedlas FÖRST när adressen bekräftats — hitta ALDRIG på en adress, och meddela kunden att kolla sin inkorg. Giltiga branscher (profil): bygg, stad, it, konsult, transport, gront, kreativt, vard, generisk.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "beskrivning": {
            "description": "Kundens beskrivning av jobbet i naturligt språk (minst 15 tecken).",
            "type": "string"
          },
          "kontakt": {
            "description": "Kundens kontaktuppgifter.",
            "properties": {
              "epost": {
                "description": "Kundens e-post — dit offertsvaren skickas (krävs).",
                "type": "string"
              },
              "namn": {
                "type": "string"
              },
              "telefon": {
                "type": "string"
              }
            },
            "required": [
              "epost"
            ],
            "type": "object"
          },
          "ort": {
            "description": "Ort där jobbet ska utföras (styr geografisk matchning).",
            "type": "string"
          },
          "plats": {
            "description": "Var uppdraget ska utföras. Utelämnad: företagen får fråga kunden.",
            "properties": {
              "adress": {
                "description": "Adress vid pa_plats (valfritt — visas bara för företagen).",
                "type": "string"
              },
              "typ": {
                "description": "Var uppdraget utförs: hos kunden (pa_plats), hos företaget (t.ex. frisör/studio) eller på distans.",
                "enum": [
                  "pa_plats",
                  "hos_foretaget",
                  "distans"
                ],
                "type": "string"
              }
            },
            "required": [
              "typ"
            ],
            "type": "object"
          },
          "profil": {
            "description": "Bransch/profil för jobbet.",
            "enum": [
              "bygg",
              "stad",
              "it",
              "konsult",
              "transport",
              "gront",
              "kreativt",
              "vard",
              "generisk"
            ],
            "type": "string"
          }
        },
        "required": [
          "profil",
          "beskrivning",
          "kontakt"
        ],
        "type": "object"
      },
      "name": "skapa_offertforfragan"
    },
    {
      "description": "Sök lokala tjänster i fritext (t.ex. \"snickare i Vara asap\"). Tolkar kategori, ort och brådska och returnerar rankade leverantörer. tips listar smarta alternativ utanför den exakta träffbilden (annan ort, högre omdöme eller lägre pris) med skälet i klartext — bra att vidarebefordra till användaren.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "query": {
            "description": "Sökfråga i naturligt språk.",
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "sok_tjanster"
    },
    {
      "description": "Väljer vinnande offert på en offertförfrågan (id från las_offertforfragan). Vald → accepterad och företaget får kundens kontaktuppgifter; övriga avböjs vänligt och förfrågan stängs. Idempotent.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "offert_id": {
            "description": "Offertens id (från las_offertforfragan).",
            "type": "string"
          },
          "token": {
            "description": "Förfrågningstoken.",
            "type": "string"
          }
        },
        "required": [
          "token",
          "offert_id"
        ],
        "type": "object"
      },
      "name": "valj_offert"
    }
  ]
}

What the leaf hashes

{"body":"53120d077917d11425172159d8fb765d86b135478e0605293d1c7e26bd76dc7f","id":202349,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793026278777750,"prev":null,"subject":"ce554230-3d1f-48f6-ad06-faeb6de69b9a","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. 0xc4ce40a433ba8ee06f056b18806a9cd4850860d65c3f473aea2ed8142ecf1ebb
  2. 0x8c297057881d4ab04e6a02ddbf0fd5382ce831365ce98e568e4767dc36d3a9e2
  3. 0x0d43fa090582e31bedf531f08834e29ac4b726f56c8a4f2c242daddf442b53d5
  4. 0x7a8dd26b608e67e9644b5b22bba6adf84db16d5152e0f7e05104468c3bb22f2e
  5. 0x07e575e83d2f4a3e57c8336ceff8d8cb7a065b9d750fef7b4b47a0207dbf6991
  6. 0x20820f1f5a41c39565d7194f6315102ec99aa834a180c927582685bebd5c0ea7
  7. 0x11680e41a575d92871ab2d0ff521828d3d4536e8f935ee1a768401188aa93747
  8. 0x22d3b29ba2ccd8f50c09acbec4c3c1d9527bd3c9cd90bed7e6e25c7a34cdda9e
  9. 0x0aaa0fc7f6b1e014f71cabe15ae65df3a64e05db353716b554b870df619811dd
  10. 0xae71c3940eac3236f4c68fb44d25cc1262b73d017fd7c18fbff1248c2e850602
  11. 0x463fef738ef71a01d4aa9ac1c6836fcf6802cdaa7de01bbe42397d79d35d8671
  12. 0x4d1a020de7fc0aa076daeb62ebb904d51ac6c607b605eb63a7855f34d7b69f1b
  13. 0x641fba1f23ec69d96721e34ace1926954d835b9614cb5eae215a069c056399b8
  14. 0xdbe2e8dd65ea1248b2936612538f18268abd5cf27ebdab3737694571ad496004
  15. 0x9f68b5e15459cb62b8c0cd4c124fa61c74147b4a5755a200fbecd21a581635d1
  16. 0x123ec8bee20ddc55223eeef5a4f4d6c4b6416515adbb911c56759f5cde56e452
  17. 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON