addrbookFor publishers
← The evidence ledger

Evidence row 581860

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 81992af4-71b3-49d7-9626-1ed3495e4486
Recorded
Previous row
#222108
Body SHA-256
8187e9c0f1f840e2ac2b07bb8390a17e5ebcdc0b6d0f12dce2d1c365f61081e7
Leaf
0x3266b24d9070bd5a7861bfb1750733b1be9495ea903e96bdafce76a9e9480d04

What was observed

{
  "count": 10,
  "tools": [
    {
      "description": "Einen Anbieter aus dem Verzeichnis für den Nutzer anfragen (provider_id aus search_providers). Nur nach Zustimmung des Nutzers. Die Anfrage geht mit Name, Kontakt, Ort und Nachricht an den Anbieter; er meldet sich direkt beim Nutzer. Keine Internet-Links.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "consent": {
            "description": "true nur nach ausdrücklicher Zustimmung des Nutzers zur Datenschutzerklärung",
            "type": "boolean"
          },
          "contact": {
            "description": "E-Mail-Adresse des Nutzers (Pflicht) – geht an den Anbieter",
            "maxLength": 60,
            "type": "string"
          },
          "location": {
            "description": "Optional: PLZ und Ort",
            "maxLength": 40,
            "type": "string"
          },
          "message": {
            "description": "Was gebraucht wird, 10–500 Zeichen",
            "maxLength": 500,
            "type": "string"
          },
          "name": {
            "description": "Name des Nutzers",
            "maxLength": 60,
            "type": "string"
          },
          "phone": {
            "description": "Optional: Telefonnummer – wird zusammen mit der E-Mail-Adresse geschützt weitergegeben, nie veröffentlicht",
            "maxLength": 22,
            "type": "string"
          },
          "provider_id": {
            "type": "integer"
          },
          "text_only": {
            "description": "true, wenn der Nutzer nur schriftlich kontaktiert werden möchte (SMS, Messenger oder E-Mail), keine Anrufe",
            "type": "boolean"
          }
        },
        "required": [
          "provider_id",
          "name",
          "contact",
          "message",
          "consent"
        ],
        "type": "object"
      },
      "name": "contact_provider"
    },
    {
      "description": "Gesuch für den Nutzer aufgeben. Nur nach Bestätigung durch den Nutzer. Erscheint je nach Einstellung sofort oder nach Prüfung. contact muss eine E-Mail-Adresse sein (hat der Nutzer keine, die eines Angehörigen). Der Nutzer bekommt dorthin einen Bestätigungslink: Erst nach dem Klick (innerhalb von 48 Stunden, sonst Löschung) erscheint das Gesuch. Angebote kommen danach automatisch per E-Mail.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "budget_eur": {
            "maximum": 10000,
            "minimum": 5,
            "type": "number"
          },
          "consent": {
            "description": "true nur nach ausdrücklicher Zustimmung des Nutzers zur Datenschutzerklärung",
            "type": "boolean"
          },
          "contact": {
            "description": "E-Mail-Adresse (Pflicht, wird nie veröffentlicht)",
            "maxLength": 60,
            "type": "string"
          },
          "display_name": {
            "description": "Kurzname, z. B. 'Maria B.'",
            "maxLength": 40,
            "type": "string"
          },
          "house_call": {
            "type": "boolean"
          },
          "location": {
            "description": "PLZ + Ort, z. B. '69412 Eberbach'",
            "maxLength": 35,
            "type": "string"
          },
          "phone": {
            "description": "Optional: Telefonnummer – wird zusammen mit der E-Mail-Adresse geschützt weitergegeben, nie veröffentlicht",
            "maxLength": 22,
            "type": "string"
          },
          "text_only": {
            "description": "true, wenn der Nutzer nur schriftlich kontaktiert werden möchte (SMS, Messenger oder E-Mail), keine Anrufe",
            "type": "boolean"
          },
          "title": {
            "description": "Was gebraucht wird, 5–240 Zeichen, ohne Adresse/Telefon/Links",
            "maxLength": 240,
            "type": "string"
          }
        },
        "required": [
          "title",
          "contact",
          "location",
          "consent"
        ],
        "type": "object"
      },
      "name": "create_job"
    },
    {
      "description": "Ein einzelnes sichtbares Gesuch (ohne Kontaktdaten), z. B. aus einem geteilten Link …/#gesuch=12. Leere Liste, wenn es nicht mehr sichtbar ist.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "job_id": {
            "type": "integer"
          }
        },
        "required": [
          "job_id"
        ],
        "type": "object"
      },
      "name": "get_job"
    },
    {
      "description": "Veröffentlichte Bewertungen eines Anbieters (nur von vermittelten Kunden).",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "max_results": {
            "maximum": 200,
            "minimum": 1,
            "type": "integer"
          },
          "provider_id": {
            "type": "integer"
          }
        },
        "required": [
          "provider_id"
        ],
        "type": "object"
      },
      "name": "provider_reviews"
    },
    {
      "description": "Anmeldung als Anbieter (nur Volljährige). Erscheint nach Prüfung durch den Betreiber. name, location und services werden öffentlich: dort keine Telefonnummer, E-Mail, Straße oder Links – Kontaktdaten nur in contact. Vorher fragen, ob der Nutzer gewerblich oder als Privatperson anbietet (is_trader, Selbstauskunft). Gewerbliche Anbieter brauchen trader_info (Impressum: Name bzw. Firma, Anschrift mit PLZ, E-Mail-Adresse); trader_info wird öffentlich angezeigt.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "adult": {
            "description": "Nutzer ist volljährig",
            "type": "boolean"
          },
          "consent": {
            "description": "true nur nach ausdrücklicher Zustimmung des Nutzers zur Datenschutzerklärung",
            "type": "boolean"
          },
          "contact": {
            "description": "E-Mail-Adresse (Pflicht, wird nicht veröffentlicht; dorthin kommen Anfragen)",
            "maxLength": 60,
            "type": "string"
          },
          "is_trader": {
            "description": "true = gewerblicher Anbieter (Unternehmer), false = Privatperson – Selbstauskunft des Nutzers",
            "type": "boolean"
          },
          "location": {
            "description": "PLZ + Ort des Standorts",
            "maxLength": 50,
            "type": "string"
          },
          "name": {
            "description": "Name, Studio oder Betrieb",
            "maxLength": 80,
            "type": "string"
          },
          "phone": {
            "description": "Optional: Telefonnummer – wird zusammen mit der E-Mail-Adresse geschützt weitergegeben, nie veröffentlicht",
            "maxLength": 22,
            "type": "string"
          },
          "services": {
            "description": "Leistungen",
            "maxLength": 180,
            "type": "string"
          },
          "trader_info": {
            "description": "Nur bei is_trader=true: Anbieterkennzeichnung (Impressum) mit Name bzw. Firma, Anschrift mit PLZ und E-Mail-Adresse, 20–400 Zeichen, ohne Links. Wird öffentlich angezeigt.",
            "maxLength": 400,
            "type": "string"
          }
        },
        "required": [
          "name",
          "contact",
          "services",
          "location",
          "adult",
          "is_trader",
          "consent"
        ],
        "type": "object"
      },
      "name": "register_provider"
    },
    {
      "description": "Rechtswidrigen Inhalt melden (Art. 16 DSA): target_type job, review oder provider. Mit E-Mail-Adresse in contact kommt automatisch eine Eingangsbestätigung.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "contact": {
            "description": "Optional: E-Mail für Eingangsbestätigung und Rückmeldung zur Entscheidung",
            "maxLength": 90,
            "type": "string"
          },
          "reason": {
            "description": "Begründung, 5–500 Zeichen",
            "maxLength": 500,
            "type": "string"
          },
          "target_id": {
            "type": "integer"
          },
          "target_type": {
            "enum": [
              "job",
              "review",
              "provider"
            ],
            "type": "string"
          }
        },
        "required": [
          "target_type",
          "target_id",
          "reason"
        ],
        "type": "object"
      },
      "name": "report_content"
    },
    {
      "description": "Offene Gesuche suchen (ohne Kontaktdaten). location: nur Ziffern = Anfang der PLZ ('69'), sonst Ortsname. Umkreissuche: location = 5-stellige PLZ und radius_km (1–200); dann mit distance_km (Luftlinie) und nach Entfernung sortiert. youth_ok=true: Taschengeld-Job – Eltern können ihr Kind (14–17) nur direkt auf helferundprofi.de melden.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "location": {
            "description": "PLZ-Anfang oder Ort; für Umkreissuche 5-stellige PLZ",
            "maxLength": 35,
            "type": "string"
          },
          "max_results": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "q": {
            "description": "Stichwort, z. B. 'Rasen'",
            "maxLength": 100,
            "type": "string"
          },
          "radius_km": {
            "description": "Umkreis in km um die PLZ in location",
            "maximum": 200,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "search_jobs"
    },
    {
      "description": "Freigeschaltete Anbieter mit Durchschnittsbewertung. q: Stichwort oder Anfang der PLZ. Umkreissuche: near = 5-stellige PLZ und radius_km (1–200); dann mit distance_km (Luftlinie) und nach Entfernung sortiert.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "max_results": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "near": {
            "description": "5-stellige PLZ als Mittelpunkt der Umkreissuche",
            "maxLength": 5,
            "type": "string"
          },
          "q": {
            "description": "Stichwort oder PLZ-Anfang",
            "maxLength": 100,
            "type": "string"
          },
          "radius_km": {
            "description": "Umkreis in km um near",
            "maximum": 200,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "search_providers"
    },
    {
      "description": "Als Anbieter ein Angebot zu einem Gesuch abgeben. Es geht mit Name, Kontakt, Preis und Nachricht an den Auftraggeber automatisch per E-Mail. Nur nach Zustimmung des Nutzers. Keine Internet-Links.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "consent": {
            "description": "true nur nach ausdrücklicher Zustimmung des Nutzers zur Datenschutzerklärung",
            "type": "boolean"
          },
          "contact": {
            "description": "E-Mail-Adresse (Pflicht) – geht an den Auftraggeber",
            "maxLength": 60,
            "type": "string"
          },
          "job_id": {
            "type": "integer"
          },
          "message": {
            "description": "Kurze Nachricht",
            "maxLength": 350,
            "type": "string"
          },
          "name": {
            "description": "Name oder Betrieb",
            "maxLength": 80,
            "type": "string"
          },
          "phone": {
            "description": "Optional: Telefonnummer – wird zusammen mit der E-Mail-Adresse geschützt weitergegeben, nie veröffentlicht",
            "maxLength": 22,
            "type": "string"
          },
          "price_eur": {
            "maximum": 50000,
            "minimum": 5,
            "type": "number"
          },
          "text_only": {
            "description": "true, wenn der Nutzer nur schriftlich kontaktiert werden möchte (SMS, Messenger oder E-Mail), keine Anrufe",
            "type": "boolean"
          }
        },
        "required": [
          "job_id",
          "name",
          "contact",
          "consent"
        ],
        "type": "object"
      },
      "name": "submit_offer"
    },
    {
      "description": "Bewertung mit dem einmaligen Bewertungscode (Format XXXX-XXXX), den der Kunde nach einer Vermittlung erhalten hat.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "description": "Bewertungscode",
            "maxLength": 20,
            "type": "string"
          },
          "comment": {
            "description": "Text",
            "maxLength": 500,
            "type": "string"
          },
          "consent": {
            "description": "Zustimmung zur Veröffentlichung",
            "type": "boolean"
          },
          "reviewer_name": {
            "description": "Name oder Kürzel",
            "maxLength": 40,
            "type": "string"
          },
          "stars": {
            "maximum": 5,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "code",
          "stars",
          "consent"
        ],
        "type": "object"
      },
      "name": "submit_review"
    }
  ]
}

What the leaf hashes

{"body":"8187e9c0f1f840e2ac2b07bb8390a17e5ebcdc0b6d0f12dce2d1c365f61081e7","id":581860,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793144529443979,"prev":222108,"subject":"81992af4-71b3-49d7-9626-1ed3495e4486","subject_kind":"endpoint"}

Proof

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

  1. 0x3266a032bc3d22dfe77261ccba8ad1c28fd4af3af20a832f41be7aaf91277943
  2. 0x586c0afb5d94ef5b19c38a26db3667011ae5e642d08c2f09fa73e3d6553f64e7
  3. 0x43df3f4db1bad51e0c3850f193541e7cf5c77737ca0930354ad5c4908b76a235
  4. 0x8c659f7b92b7e79a9544fde6a8c6578d8c064a1411c65fce2d26b92907327ee0
  5. 0x78a054f28d5820e7d5fed915561283291e1ed83e1e66d1d75c81740d06aca2e5
  6. 0xbe8cad49a3576627106f82105b00828cbabfe176379ce62341c947e490b36a5d
  7. 0x7f6e1b962c3f6eb603a2415c487244d1aa65be4a2d1d3873e308bc6d316b954c
  8. 0xbed0125565ee529386edb50601337124a87367f2f99ba969f601d2eb3eba3799
  9. 0xee3234cae1886100d3e94ac4f447e1b263937c80e94c1432e162ca6c34076835
  10. 0x4296e608a717b8569363e1be07fb4902d67e63a1f6d8ea880d9d3bb12d73443a
  11. 0xd6abb3506644ba991806affe480eff2c10a097a3451e0656bd8c5eb07a497205
  12. 0x7c26e7a3f70416cc7cabc8e770eba81b50b410fc94aaae40ac450b47b34edecc
  13. 0x5a83a2d5b2abb340c16172caf3ef83b831e168d2e94e4154a4ad72adcac5cad2
  14. 0x595de2dea3b8fa56dbd6142dd78ae79f3e7169c631e41a844b100613abb3e430
  15. 0x8360ee1105e4d9f9312067cbbfd47c69c5948665ae582b9684a580c8f4e199e1
  16. 0x52efa60e0c3d8525486d2310eb3b6b566c9677c64fd1f819edb072cf101bcbdb
  17. 0x22c1fb9487ee0b9732fa017a0cc321eb27a60c08450d112f755089796e12cb1c
  18. 0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON