Skip to main content
Glama

drivingschool

Server Details

Compare driving schools by city: prices, languages, cars.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A3.8/5.0

Scored across 6 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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 tools
get_listingA
Read-onlyIdempotent
Inspect

Get one published driving school by its slug.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe listing slug.

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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_statsA
Read-onlyIdempotent
Inspect

Get the number of published driving schools, places and categories, and when the data last changed.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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_categoriesA
Read-onlyIdempotent
Inspect

List categories with their driving school counts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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_placesA
Read-onlyIdempotent
Inspect

List countries, regions and cities that have driving schools.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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_sourcesA
Read-onlyIdempotent
Inspect

List where the driving school data comes from, with the license and refresh of each source.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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_listingsB
Read-onlyIdempotent
Inspect

Search published driving schools by text, place and category.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoSearch text, with at least one letter or digit. Matches name, categories, attributes, description and place. Typos fall back to close matches.
cityNoCity slug, from /places.
sortNo`relevance` needs `q` and is the default with it. `name` is the default without `q`. `recent` is newest first.
limitNoItems per page.
cursorNo`page.nextCursor` from the previous response. Opaque. Send the same filters and `limit`.
regionNoRegion slug, from /places.
countryNoISO 3166-1 alpha-2 country code, any case. A country the directory does not cover, as listed in /places, gives 400.
categoryNoCategory slug, from /categories. A parent slug also matches its children.

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

  1. 6 tool updates
    • First observedget_listing
    • First observedget_stats
    • First observedlist_categories
    • First observedlist_places
    • First observedlist_sources
    • First observedsearch_listings

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Provides 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.
    6
    8 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables querying CBR driving exam pass rates and exam statistics by driving school, exam centre, city, and province, including rankings and trends over time.
    8
    10 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources