addrbookFor publishers
← The evidence ledger

Evidence row 291624

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint a4cb39d5-acf0-4ed5-8f85-3d8e00d12eb6
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
70ed85f8c074db5f36b53fb3b4b4f53d8d551dbb7739301f35d35d3481da8e84
Leaf
0x5d19bf3c9ddbb03e60f2ff73a378a62e56471b23d354e9a0e756174f57872e13

What was observed

{
  "count": 15,
  "tools": [
    {
      "description": "Dutch courses, university Dutch departments, CNaVT exam centres and Dutch schools for children near a capital city (within 40 km), with the nearest option when nothing is local. Also says where the basic civic integration exam abroad (inburgering, level A1) is taken for a country: the Dutch embassy or consulate, or the country to go to when it is not held there (capital.civic_exam). Pass a capital (e.g. Tokyo) or an ISO country code (e.g. JP). With no arguments, lists the capitals that have a local option. Use it when someone lives outside the Netherlands and Belgium or asks about Dutch classes, the CNaVT exam, the civic integration exam abroad or a Dutch school in another country.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "capital": {
            "maxLength": 80,
            "minLength": 2,
            "type": "string"
          },
          "country": {
            "maxLength": 2,
            "minLength": 2,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "tdd_abroad"
    },
    {
      "description": "Which provider types a Dutch or Flemish city lacks in the index, for example no university course. Use it to explain when to look online or in a nearby city.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "city": {
            "maxLength": 80,
            "minLength": 2,
            "type": "string"
          }
        },
        "required": [
          "city"
        ],
        "type": "object"
      },
      "name": "tdd_city_gaps"
    },
    {
      "description": "Side-by-side comparison of two schools, apps or tutors by slug, with a plain-language verdict. Use it after a search or shortlist when someone is choosing between two.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "a": {
            "maxLength": 120,
            "minLength": 1,
            "type": "string"
          },
          "b": {
            "maxLength": 120,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "a",
          "b"
        ],
        "type": "object"
      },
      "name": "tdd_compare"
    },
    {
      "description": "The public policy for when Dutch Fluency products appear in results and how independent alternatives are guaranteed. Use it when someone asks whether the directory is independent.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "tdd_conflict_ledger"
    },
    {
      "description": "Data-quality signals in the index: stub names and missing prices or lesson counts. Scrape health, not claims about providers. Use it only for maintenance or data questions.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "tdd_death_watch"
    },
    {
      "description": "Planning ranges (not a quote) for Dutch training for a team, from headcount, months, track and cities. Use it for HR or employer questions about cost.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "cities": {
            "items": {
              "type": "string"
            },
            "maxItems": 20,
            "type": "array"
          },
          "headcount": {
            "maximum": 5000,
            "minimum": 1,
            "type": "integer"
          },
          "months": {
            "maximum": 36,
            "minimum": 1,
            "type": "integer"
          },
          "track": {
            "enum": [
              "survival",
              "workplace",
              "exam"
            ],
            "type": "string"
          }
        },
        "required": [
          "headcount"
        ],
        "type": "object"
      },
      "name": "tdd_employer_budget"
    },
    {
      "description": "A shareable, independent study plan (name, city, goal, weeks) that a learner can show an employer or attach to paperwork. Not legal advice.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "city": {
            "maxLength": 80,
            "type": "string"
          },
          "goal": {
            "maxLength": 80,
            "type": "string"
          },
          "name": {
            "maxLength": 120,
            "type": "string"
          },
          "weeks": {
            "maximum": 104,
            "minimum": 1,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "tdd_evidence_pack"
    },
    {
      "description": "Snapshot of the Dutch Learning Graph: providers, exams and goals and how they connect. slim=true returns counts and types only. Use it for data or research tasks, not for recommendations.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "slim": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "name": "tdd_graph"
    },
    {
      "description": "What The Dutch Directory covers: listing counts by type, the Verified Pro count, doctrine and endpoint URLs. Call it when you need to know the scope of the directory before searching.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "tdd_meta"
    },
    {
      "description": "Works backward from an arrival, inburgering or exam date to what to start when: courses, exam booking and tutor hours. Use it when someone has a fixed date.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "arrive_or_exam_date": {
            "maxLength": 32,
            "minLength": 8,
            "type": "string"
          },
          "city": {
            "maxLength": 80,
            "type": "string"
          },
          "goal": {
            "maxLength": 80,
            "type": "string"
          }
        },
        "required": [
          "arrive_or_exam_date"
        ],
        "type": "object"
      },
      "name": "tdd_move_plan"
    },
    {
      "description": "A week-by-week study path that points to real courses, tutors, apps and trials for a city, goal, current level, weekly hours and deadline. Use it when someone asks how to get from one level to another or how to prepare for an exam. Not a progress tracker; practice links to Dutch Fluency always come with alternatives.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "city": {
            "maxLength": 80,
            "type": "string"
          },
          "goal": {
            "maxLength": 80,
            "type": "string"
          },
          "hours_per_week": {
            "maximum": 40,
            "minimum": 1,
            "type": "number"
          },
          "level": {
            "maxLength": 8,
            "type": "string"
          },
          "move_or_exam_date": {
            "maxLength": 32,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "tdd_path"
    },
    {
      "description": "Search every way to learn Dutch: schools, universities, apps, podcasts, exams and online tutors. Use it when someone asks where or how to learn Dutch. Filters: city (Dutch or Flemish, e.g. Utrecht, Den Haag, Antwerpen), type, goal (e.g. inburgering, NT2, business, conversation), cefr, online, verified_pro, platform, kind. Each result has directory_url and primary_url to cite.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "cefr": {
            "maxLength": 4,
            "type": "string"
          },
          "city": {
            "maxLength": 80,
            "type": "string"
          },
          "goal": {
            "maxLength": 80,
            "type": "string"
          },
          "kind": {
            "enum": [
              "all",
              "provider",
              "tutor"
            ],
            "type": "string"
          },
          "limit": {
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "online": {
            "type": "boolean"
          },
          "platform": {
            "enum": [
              "italki",
              "preply",
              "verbling",
              "languatalk",
              "verbalplanet",
              "classgap",
              "superprof"
            ],
            "type": "string"
          },
          "q": {
            "maxLength": 200,
            "type": "string"
          },
          "type": {
            "maxLength": 40,
            "type": "string"
          },
          "verified_pro": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "name": "tdd_search"
    },
    {
      "description": "A short list of the best-fit options for a city and goal, ranked by editorial fit score (not paid). Use it when someone wants a few recommendations rather than every option. A Dutch Fluency item always comes with independent alternatives.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "city": {
            "maxLength": 80,
            "type": "string"
          },
          "goal": {
            "maxLength": 80,
            "type": "string"
          },
          "kind": {
            "enum": [
              "all",
              "provider",
              "tutor"
            ],
            "type": "string"
          },
          "limit": {
            "maximum": 12,
            "minimum": 3,
            "type": "integer"
          },
          "type": {
            "maxLength": 40,
            "type": "string"
          },
          "verified_pro": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "name": "tdd_shortlist"
    },
    {
      "description": "Live market numbers: listing counts by type, Verified Pro rates and median tutor prices. Use it for questions about the Dutch-learning market as a whole.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "tdd_stats"
    },
    {
      "description": "Online Dutch tutors from italki, Preply, Verbling, LanguaTalk, Verbalplanet, Classgap and Superprof, Verified Pros (3,000+ lessons and a 4.9+ rating) first. Use it for private lessons, conversation practice or a tutor on a schedule; filter by platform or free text.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "limit": {
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "offset": {
            "maximum": 500,
            "minimum": 0,
            "type": "integer"
          },
          "platform": {
            "enum": [
              "italki",
              "preply",
              "verbling",
              "languatalk",
              "verbalplanet",
              "classgap",
              "superprof"
            ],
            "type": "string"
          },
          "q": {
            "maxLength": 200,
            "type": "string"
          },
          "verified_pro": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "name": "tdd_tutors"
    }
  ]
}

What the leaf hashes

{"body":"70ed85f8c074db5f36b53fb3b4b4f53d8d551dbb7739301f35d35d3481da8e84","id":291624,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793048216307713,"prev":null,"subject":"a4cb39d5-acf0-4ed5-8f85-3d8e00d12eb6","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. 0x5d19d211983db563c2b5ff89110cd8301fb70d5dab4c9e84ed2042a37e036aa9
  2. 0x003386538b223dc388dd447a5214562e2737fd63dd21d762ca7bc60a00147ef2
  3. 0x0d464e73f8560ca7581743fc3ad30eb04609c8d43083f0ac4ca315d4bcbc654c
  4. 0x25a7528a35573dcc39382104a8460b136e814b79a405d7a7abf8f11b7ba1e320
  5. 0xc9b19f5e852f586b041667cd1f8978122bae5165949cdf9c5ec4612bfb78dcd8
  6. 0x587ffe3722e611df4a10728676bc1511d4606dadca72439352c126396d59e8e1
  7. 0x6025a84bbf412813ffd9bb66d5d3e203b2a35c3cebd75294c093c0f6426acd3d
  8. 0xf5c626e30e4ade9fc33b819ed022da91a7247d7a9ceef2ac7016e313ebdcf239
  9. 0xe83b2a73139a45ac5e787f5f8d00e2fdb51ec0acd6751a60cbf0f65dfcfc455f
  10. 0x71c75f9312be1c838a554f724b6fc57894e7c4486ab7e013b6a6a8d65cfaebea
  11. 0xb91bf0ba3ebff769d1b88f93fcb076477149787a7e31c3c28ce4fe8823b7c144
  12. 0x2121cc2dbcb8663af57743dc445c8a59e5bbfffe89703f0606c9843f0d35aff8
  13. 0x66883b42f4167ade51c4909f050c5478524e23786fb0b5c48bd1a53580960a68
  14. 0x216cebb9ae5414599109a02297c4817d7d1c6b1394afeb97efe38e32f0053974
  15. 0x7726154b91b2ad65b13849ef6cb6443b1f0ff113a3089c9bd5f2bcfc16be099d
  16. 0x47b89901b0f07938a6b9a66ddf35683903f79d756a7c7763665fd632758b08d0
  17. 0x9a83be955a206deb65b995adfd92c58fa31c95fbbf926bd199d300e70b08b26d
  18. 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON