The Dutch Directory

Dutch-learning market map: schools, Verified Pro tutors, exams, paths and courses near any capital.

Should I use this

Quality & Safety

B
Description quality
93%
Schema completeness
62%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'tdd_city_gaps' description lacks action verbin tdd_city_gaps
  • LOWTool 'tdd_conflict_ledger' description lacks action verbin tdd_conflict_ledger

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,535Tokens (tool definitions)
~789 BTypical response size
Moderate attention impact (1.98% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "the-dutch-directory": {
      "url": "https://thedutchdirectory.com/mcp-server/mcp"
    }
  }
}

Remote endpoints

https://thedutchdirectory.com/mcp-server/mcpstreamable-http
https://mcp.thedutchdirectory.com/mcpstreamable-http

What it can do

Tool inventory

Tools (15)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢tdd_meta

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.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢tdd_search(q, type, city, goal, cefr, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "maxLength": 200
    },
    "type": {
      "type": "string",
      "maxLength": 40
    },
    "city": {
      "type": "string",
      "maxLength": 80
    },
    "goal": {
      "type": "string",
      "maxLength": 80
    },
    "cefr": {
      "type": "string",
      "maxLength": 4
    },
    "online": {
      "type": "boolean"
    },
    "verified_pro": {
      "type": "boolean"
    },
    "platform": {
      "type": "string",
      "enum": [
        "italki",
        "preply",
        "verbling",
        "languatalk",
        "verbalplanet",
        "classgap",
        "superprof"
      ]
    },
    "kind": {
      "type": "string",
      "enum": [
        "all",
        "provider",
        "tutor"
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢tdd_shortlist(city, goal, type, kind, verified_pro, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string",
      "maxLength": 80
    },
    "goal": {
      "type": "string",
      "maxLength": 80
    },
    "type": {
      "type": "string",
      "maxLength": 40
    },
    "kind": {
      "type": "string",
      "enum": [
        "all",
        "provider",
        "tutor"
      ]
    },
    "verified_pro": {
      "type": "boolean"
    },
    "limit": {
      "type": "integer",
      "minimum": 3,
      "maximum": 12
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢tdd_tutors(q, platform, verified_pro, limit, offset)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "maxLength": 200
    },
    "platform": {
      "type": "string",
      "enum": [
        "italki",
        "preply",
        "verbling",
        "languatalk",
        "verbalplanet",
        "classgap",
        "superprof"
      ]
    },
    "verified_pro": {
      "type": "boolean"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 500
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢tdd_compare(a, b)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "a": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "b": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    }
  },
  "required": [
    "a",
    "b"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢tdd_path(city, goal, level, move_or_exam_date, hours_per_week)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string",
      "maxLength": 80
    },
    "goal": {
      "type": "string",
      "maxLength": 80
    },
    "level": {
      "type": "string",
      "maxLength": 8
    },
    "move_or_exam_date": {
      "type": "string",
      "maxLength": 32
    },
    "hours_per_week": {
      "type": "number",
      "minimum": 1,
      "maximum": 40
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢tdd_stats

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.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢tdd_graph(slim)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "slim": {
      "type": "boolean"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢tdd_move_plan(arrive_or_exam_date, city, goal)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "arrive_or_exam_date": {
      "type": "string",
      "minLength": 8,
      "maxLength": 32
    },
    "city": {
      "type": "string",
      "maxLength": 80
    },
    "goal": {
      "type": "string",
      "maxLength": 80
    }
  },
  "required": [
    "arrive_or_exam_date"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢tdd_employer_budget(headcount, months, track, cities)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "headcount": {
      "type": "integer",
      "minimum": 1,
      "maximum": 5000
    },
    "months": {
      "type": "integer",
      "minimum": 1,
      "maximum": 36
    },
    "track": {
      "type": "string",
      "enum": [
        "survival",
        "workplace",
        "exam"
      ]
    },
    "cities": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 20
    }
  },
  "required": [
    "headcount"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢tdd_city_gaps(city)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string",
      "minLength": 2,
      "maxLength": 80
    }
  },
  "required": [
    "city"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢tdd_death_watch

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.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢tdd_conflict_ledger

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.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢tdd_evidence_pack(name, city, goal, weeks)

A shareable, independent study plan (name, city, goal, weeks) that a learner can show an employer or attach to paperwork. Not legal advice.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 120
    },
    "city": {
      "type": "string",
      "maxLength": 80
    },
    "goal": {
      "type": "string",
      "maxLength": 80
    },
    "weeks": {
      "type": "integer",
      "minimum": 1,
      "maximum": 104
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢tdd_abroad(capital, 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.

Input Schema

{
  "type": "object",
  "properties": {
    "capital": {
      "type": "string",
      "minLength": 2,
      "maxLength": 80
    },
    "country": {
      "type": "string",
      "minLength": 2,
      "maxLength": 2
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded15 tools
verifiedversion not recorded15 tools
verifiedversion not recorded14 tools
failed observationversion not recorded—
verifiedversion not recorded14 tools