drivingschool
Server Details
Compare driving schools by city: prices, languages, cars.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose: single-record retrieval (get_listing), text/facet search (search_listings), facet browsing (list_categories, list_places), provenance (list_sources), and aggregate metrics (get_stats). The get vs. search vs. list distinction is unambiguous.
All tools follow a consistent verb_noun snake_case pattern (get_listing, get_stats, list_categories, list_places, list_sources, search_listings). The verbs map predictably to access patterns.
Six tools is well-scoped for a read-only directory/reference server, with each tool covering a distinct access dimension (record, search, facets, stats, sources). No filler or redundant tools.
The surface covers browsing, searching, facet enumeration, stats, and data provenance, which fits an apparently read-only published-data domain. Minor gaps like pagination or lookup by ID rather than slug are workable around.
Available Tools
6 toolsget_listingARead-onlyIdempotentInspect
Get one published driving school by its slug.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The listing slug. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so safety and repeatability are covered. The description adds one genuinely useful behavioral fact — only *published* listings are returned, so unpublished records will not resolve — but says nothing about not-found/error behavior or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the qualifier 'published' is placed where it matters and nothing is repeated from the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only lookup with full annotations and no output schema, the description is adequate but thin: it omits what happens on a miss (unknown or unpublished slug) and gives no hint of the returned shape. Annotations cover the safety profile, so the remaining gap is minor but real.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single slug parameter, including pattern and length constraints, so the schema already carries the semantics and the baseline is 3. The description only restates that the slug identifies the listing and adds no format or lookup nuance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (Get) and a specific resource (one published driving school), and 'by its slug' plus 'one' distinguishes it from the list-style siblings (list_places, list_sources) and from search_listings. It stops short of explicitly naming which sibling to use instead when a slug is unknown.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the phrase 'by its slug' tells the agent a slug is the required entry point, which is the practical precondition for calling it. There is no explicit when-to-use/when-not guidance and no reference to search_listings as the alternative when only a name or query is available.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statsARead-onlyIdempotentInspect
Get the number of published driving schools, places and categories, and when the data last changed.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds the useful fact that only published entities are counted and that a last-modified timestamp is returned, but says nothing about auth, caching, or result formatting.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the output content is stated up front and nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description carries the burden of describing the return value, and it does list the counted entity types plus the timestamp. It stops short of specifying the exact shape (key names, timestamp format) an agent would want, but for a trivial aggregate read this is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. There is nothing for the description to clarify on this dimension, and it correctly avoids inventing parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (get) and resource (counts of published driving schools, places, categories, plus last-changed timestamp), which is distinct from the list_*/search_* siblings. It is clear what the tool produces but never explicitly contrasts itself with siblings that return the underlying records.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of alternatives such as list_places or list_categories for retrieving the actual records. The aggregate nature of the tool implies usage, but the agent must infer it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesARead-onlyIdempotentInspect
List categories with their driving school counts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds only that counts are included in the result, with no pagination, ordering, or scale caveats beyond that; adequate but thin given the annotations carry most of the load.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence that front-loads the verb and resource with no filler. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema, and fully covered annotations, the description only needs to establish what is returned; "categories with their driving school counts" does exactly that. Ordering and pagination behavior remain unspecified, which keeps it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is empty, so there is nothing for the description to disambiguate. Baseline for a parameterless tool is 4, and the description introduces no misleading parameter-like language.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("List") and resource ("categories") plus the salient payload detail ("driving school counts"). It does not differentiate itself from siblings like list_places or list_sources, which also list domain groupings, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the sibling tools an agent might pick instead. The agent must infer the intent from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_placesARead-onlyIdempotentInspect
List countries, regions and cities that have driving schools.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a safe, idempotent, non-destructive read with no open-world behavior, so the safety burden is carried by structured data. The description adds only the scoping fact that results are limited to places that actually have driving schools, and says nothing about result size, ordering, or caching.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with zero filler that front-loads the verb and the resource. Nothing could be removed without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-argument, read-only enumeration tool with no output schema, the description covers what is returned at a conceptual level. It could note cardinality or hierarchy (e.g., whether cities are nested under regions), but the essentials for calling it are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics burden to discharge; the baseline for a no-param tool applies. The description makes no misleading claims about inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (list) and a precisely scoped resource set (countries, regions, cities that have driving schools), which is materially more informative than the name alone. It does not explicitly contrast itself with siblings like list_categories or list_sources, but the resource is distinct enough that an agent can route correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to call this versus the sibling list/search tools, nor any prerequisite or ordering hints. The description is purely declarative about content, leaving the agent to infer usage from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sourcesARead-onlyIdempotentInspect
List where the driving school data comes from, with the license and refresh of each source.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered without the description's help. The description adds that each source carries license and refresh metadata, which is useful return-shape context but not behavioral disclosure beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, front-loading the action and resource before the optional detail about license and refresh. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, no-param, read-only list tool with no output schema, the description conveys the resource and the fields each entry carries, which is sufficient to call it correctly. It stops just short of explaining the returned collection's shape or ordering.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a no-param tool applies. No parameter confusion is possible.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (List) and resource (where the driving school data comes from / sources), and adds what each entry includes (license, refresh). It is clearly distinct from siblings like list_places, list_categories, and search_listings, though it never explicitly contrasts with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to call this versus the sibling listing tools; usage is only implied by the name and resource. No prerequisites, triggers, or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_listingsBRead-onlyIdempotentInspect
Search published driving schools by text, place and category.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Search text, with at least one letter or digit. Matches name, categories, attributes, description and place. Typos fall back to close matches. | |
| city | No | City slug, from /places. | |
| sort | No | `relevance` needs `q` and is the default with it. `name` is the default without `q`. `recent` is newest first. | |
| limit | No | Items per page. | |
| cursor | No | `page.nextCursor` from the previous response. Opaque. Send the same filters and `limit`. | |
| region | No | Region slug, from /places. | |
| country | No | ISO 3166-1 alpha-2 country code, any case. A country the directory does not cover, as listed in /places, gives 400. | |
| category | No | Category slug, from /categories. A parent slug also matches its children. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world behavior, so the safety profile is covered. The description adds one useful behavioral fact beyond the annotations — that only 'published' listings are searchable — but says nothing about pagination behavior or result ordering rules, which the schema handles instead.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-formed sentence with the resource and filter axes front-loaded and zero filler. It is terse relative to the tool's 8-parameter complexity, but nothing in it is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter search tool with pagination, zero required parameters and no output schema, the description leaves pagination, defaults and filter interaction entirely to the schema. Since the schema is fully documented, an agent can still call it correctly, but the prose contributes little beyond the minimum.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter including q, sort, cursor and the slug formats is already documented. The description's 'by text, place and category' loosely maps to q/city-region-country/category but adds no format or constraint detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Search) and resource (published driving schools) with the three filter axes named. It is clearly distinguishable from get_listing (single record) even though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no mention of when a plain list_categories/list_places lookup is preferable, and no prerequisites. Usage must be inferred entirely from the schema's references to /places and /categories.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
- First observed
get_listing - First observed
get_stats - First observed
list_categories - First observed
list_places - First observed
list_sources - First observed
search_listings
Related MCP Connectors
Search language schools abroad, compare courses, dates and prices, and request bookings.
Find Swiss driving lessons, live availability, VKU, first aid and WAB courses; book on the website.
Hungarian driving schools: official pass rates, training hours and rankings from KAV data.
Related MCP Servers
- AlicenseAqualityBmaintenanceProvides access to all driving schools in the Netherlands with addresses, contact details, prices, ratings, service areas, and CBR pass rates. Free, no account or API key needed.68 npmMIT
- AlicenseAqualityBmaintenanceEnables querying CBR driving exam pass rates and exam statistics by driving school, exam centre, city, and province, including rankings and trends over time.810 npmMIT
- AlicenseBqualityDmaintenanceCompare parcel and letter delivery prices across 60+ carriers in 27 European countries.1MIT
- FlicenseNot gradedqualityBmaintenanceSearch, localized specs (180 spec types across 19 categories), compare, and structured filters over 102k+ vehicle variants in 19 languages, from cars-data.com.-
Glama MCP Gateway
Add one secure layer between your agents and this server.