← The evidence ledger
Evidence row 222108
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 81992af4-71b3-49d7-9626-1ed3495e4486
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 1664ad1de2baacde690eb8ee2c3427f24289ccd3b604271ebca151d5dad5a17b
- Leaf
- 0x94c72ab9bed3cf537bfb84532c030ffd6993ecd9cc1ed4d59664e879690c58c9
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.",
"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":"1664ad1de2baacde690eb8ee2c3427f24289ccd3b604271ebca151d5dad5a17b","id":222108,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793027812191184,"prev":null,"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 (296695 rows).
- 0x94c782d5aadb381a3d5061d1ce98f6f99722cca392d5d91dc8225c9b793e6357
- 0x9e563de350fb533059598c2548db31866eb68968b84907bbdaea55ec1c6a29af
- 0x6471680bd979f3b5d78ad35c68c2df45b552190e69b0e3c1cee09efde87fae3e
- 0x00d55915bd9e1cd41310506500bb16bc14b342467489de48027cc562aa8672c9
- 0x281d8eb00d41667c417a981c5041e890c63b69d9ecce234b4f23bdf5e4988aac
- 0xdcf8a20f3ada8bec749ea4880b6c26532e1e39b270be9f5eb0c64bb8ea2bfd54
- 0x308eb491de431156d7f59b7f393a378bb5c3108395bbf27fbd0af1f153f6c412
- 0xaac57dd951d3503b1767770dff3dcf6f7dcc012eae1ae708fd3bba3e4ab10cc7
- 0xa23016cc90d4fbbf4d59d58b67049ba516391bb9a30b7a08b4a59f881cb1c041
- 0x07fa9991702d9e756ee102ffd8326f6ed64c777e9ef41d71d141c1c37856f00e
- 0x4c1c9421c6648584bc5a6ac33a99ef69338fb841b9063ca93df8c027794ce0e5
- 0x12169ac86722058ecf46a1b83c56e8b21899ab108a12c5a4429da74c5d191294
- 0xb314422bc93e7f1c0b706c67f5fff96c5ddf74934bb2fe8ab6291ae016907e37
- 0x49062da782c4f73855ddd5fdd51840749f928b5f17d1ce75ac50f2d829104e72
- 0xf0bd63870f0bb378fa300bd33563050dcb7b3e02b44eb3ee550c1c534ec4b246
- 0x1ac20d30773e1f4f2f811540e9a99b5cca9177c9e2e029acc0d80cf3f1d11f0f
- 0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9
- 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae