Dutch-learning market map: schools, Verified Pro tutors, exams, paths and courses near any capital.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
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.
| Argument | Type | Description |
|---|---|---|
| capital | string | |
| country | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"capital": {
"type": "string",
"maxLength": 80,
"minLength": 2
},
"country": {
"type": "string",
"maxLength": 2,
"minLength": 2
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| city* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"city"
],
"properties": {
"city": {
"type": "string",
"maxLength": 80,
"minLength": 2
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| a* | string | |
| b* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"a",
"b"
],
"properties": {
"a": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"b": {
"type": "string",
"maxLength": 120,
"minLength": 1
}
},
"additionalProperties": false
}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.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"additionalProperties": false
}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.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| track | string | |
| cities | array | |
| months | integer | |
| headcount* | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"headcount"
],
"properties": {
"track": {
"enum": [
"survival",
"workplace",
"exam"
],
"type": "string"
},
"cities": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 20
},
"months": {
"type": "integer",
"maximum": 36,
"minimum": 1
},
"headcount": {
"type": "integer",
"maximum": 5000,
"minimum": 1
}
},
"additionalProperties": false
}A shareable, independent study plan (name, city, goal, weeks) that a learner can show an employer or attach to paperwork. Not legal advice.
| Argument | Type | Description |
|---|---|---|
| city | string | |
| goal | string | |
| name | string | |
| weeks | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"city": {
"type": "string",
"maxLength": 80
},
"goal": {
"type": "string",
"maxLength": 80
},
"name": {
"type": "string",
"maxLength": 120
},
"weeks": {
"type": "integer",
"maximum": 104,
"minimum": 1
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| slim | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"slim": {
"type": "boolean"
}
},
"additionalProperties": false
}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.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| city | string | |
| goal | string | |
| arrive_or_exam_date* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"arrive_or_exam_date"
],
"properties": {
"city": {
"type": "string",
"maxLength": 80
},
"goal": {
"type": "string",
"maxLength": 80
},
"arrive_or_exam_date": {
"type": "string",
"maxLength": 32,
"minLength": 8
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| city | string | |
| goal | string | |
| level | string | |
| hours_per_week | number | |
| move_or_exam_date | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"city": {
"type": "string",
"maxLength": 80
},
"goal": {
"type": "string",
"maxLength": 80
},
"level": {
"type": "string",
"maxLength": 8
},
"hours_per_week": {
"type": "number",
"maximum": 40,
"minimum": 1
},
"move_or_exam_date": {
"type": "string",
"maxLength": 32
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| q | string | |
| cefr | string | |
| city | string | |
| goal | string | |
| kind | string | |
| type | string | |
| limit | integer | |
| online | boolean | |
| platform | string | |
| verified_pro | boolean |
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.
| Argument | Type | Description |
|---|---|---|
| city | string | |
| goal | string | |
| kind | string | |
| type | string | |
| limit | integer | |
| verified_pro | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"city": {
"type": "string",
"maxLength": 80
},
"goal": {
"type": "string",
"maxLength": 80
},
"kind": {
"enum": [
"all",
"provider",
"tutor"
],
"type": "string"
},
"type": {
"type": "string",
"maxLength": 40
},
"limit": {
"type": "integer",
"maximum": 12,
"minimum": 3
},
"verified_pro": {
"type": "boolean"
}
},
"additionalProperties": false
}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.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| q | string | |
| limit | integer | |
| offset | integer | |
| platform | string | |
| verified_pro | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"q": {
"type": "string",
"maxLength": 200
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"offset": {
"type": "integer",
"maximum": 500,
"minimum": 0
},
"platform": {
"enum": [
"italki",
"preply",
"verbling",
"languatalk",
"verbalplanet",
"classgap",
"superprof"
],
"type": "string"
},
"verified_pro": {
"type": "boolean"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"q": {
"type": "string",
"maxLength": 200
},
"cefr": {
"type": "string",
"maxLength": 4
},
"city": {
"type": "string",
"maxLength": 80
},
"goal": {
"type": "string",
"maxLength": 80
},
"kind": {
"enum": [
"all",
"provider",
"tutor"
],
"type": "string"
},
"type": {
"type": "string",
"maxLength": 40
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"online": {
"type": "boolean"
},
"platform": {
"enum": [
"italki",
"preply",
"verbling",
"languatalk",
"verbalplanet",
"classgap",
"superprof"
],
"type": "string"
},
"verified_pro": {
"type": "boolean"
}
},
"additionalProperties": false
}