NuActueel
Server Details
Verse gegevens over Nederland: activiteiten, vacatures, verkeer, files, storingen en prijzen.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 29 tools
Several clusters are hard to separate: `vraag` is a natural-language catch-all that can answer almost anything the specialized tools answer, and `plaats_info` bundles 25+ subtopics (tanken, markten, stroomstoring, scholen, uitjes) that directly overlap with `activiteiten`, `vacatures`, `storingen`, `veiligheid` and `gemeente_in_cijfers`. The price group is the worst: `product_info`, `product_prijs`, `producten_vergelijken`, `prijsdalers`, `prijsbeweging_producten` and `toestelprijs` all touch product pricing, and `product_info`'s description even has to tell the agent to use `product_prijs` for comparisons. `reeks` also re-exposes time series (files, vacatures, misdrijven) that already have dedicated tools.
All names are lowercase Dutch snake_case, which is predictable and readable throughout. The convention is noun/topic-based rather than verb_noun (`activiteiten`, `files`, `storingen`), with a few odd ones like `betaal_ik_te_veel` and `gemeente_in_cijfers`, but style is consistent. The price cluster's near-identical prefixes (`product_*`, `prijs*`, `toestelprijs`) are the only naming weakness.
29 tools is heavy, but the server genuinely spans many domains (traffic, events, energy, care, politics, retail prices), so most tools earn a place. Still, the six overlapping price tools, `vraag`, and `reeks` push it past what an agent can reliably choose from. Consolidation to roughly 15-18 tools would be far more workable.
For a read-only local-data aggregator the surface is broad: traffic (live and roadworks), events, municipal data, politics, safety, healthcare wait times, vacancies, energy and consumer prices all have coverage, plus `vraag` as a fallback. Minor gaps exist (no weather, no national/general news lookup, no way to fetch an individual article or document beyond links), but agents can work around them.
Available Tools
29 toolsactiviteitenWat is er te doen in een plaatsARead-onlyInspect
Activiteiten en evenementen in en rond een Nederlandse plaats (binnen 25 km): dit weekend, vandaag, morgen of op een datum, eventueel alleen voor kinderen, alleen binnen, of één thema (sinterklaas-intocht, sint-maarten, kerstmarkten, lichtjes-en-ijsbanen, kerstvakantie, oud-en-nieuw, rommelmarkten, kermis, carnaval). Uit duizenden agenda's van zalen, organisatoren, gemeenten en dorpsplatforms, elk uur bijgewerkt; afgelast en verplaatst staan erbij.
| Name | Required | Description | Default |
|---|---|---|---|
| thema | No | Optioneel: een thema, bijvoorbeeld kerstmarkten of sinterklaas-intocht. | |
| binnen | No | Alleen wat binnen is (bij regen of kou). | |
| plaats | Yes | Plaats of gemeente, bijvoorbeeld Nijmegen of Venhorst. | |
| wanneer | No | Optioneel: "dit weekend" (standaard), "vandaag", "morgen", "deze week" of een datum als 2026-11-14. | |
| kinderen | No | Alleen wat voor kinderen en gezinnen is. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses useful behavior: data comes from thousands of calendars, is updated hourly, and includes cancelled and moved events. It does not cover rate limits or return format, but it adds meaningful operational context.
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?
The description is front-loaded with the core purpose and then lists filters and data-source context in one dense but useful sentence. The long theme list is somewhat heavy, but every element helps an agent understand supported queries.
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 read-only search tool with no output schema, the description is largely complete: it explains what is returned, geographic and temporal scope, filters, freshness, and handling of cancelled/moved events. It could still say more about result format or pagination, but an agent has enough to call it correctly.
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%, so the baseline is 3, but the description adds a meaningful constraint not present in the schema: results are within 25 km of the place. It also reinforces the default weekend behavior and theme examples, though most parameter detail is already in 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 resource (activities and events), a clear geographic scope (in and around a Dutch place, within 25 km), and temporal/filter options. It is immediately distinguishable from unrelated siblings such as files, vacatures, or zorgpremies.
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?
It gives clear context for when the tool applies: finding events this weekend, today, tomorrow, on a date, for children, indoors, or by theme. It does not explicitly state when not to use it or name alternatives, but no direct sibling alternative exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
betaal_ik_te_veelBetaal ik te veel voor sim onlyARead-onlyInspect
Geef aanbieder, bundel en wat iemand nu per maand betaalt; het antwoord is hoeveel dat per jaar meer is dan het voordeligste vergelijkbare abonnement, wat hetzelfde nu bij de eigen aanbieder kost, en de link om over te stappen. Er wordt niets van de gebruiker bewaard.
| Name | Required | Description | Default |
|---|---|---|---|
| prijs | Yes | Wat je nu per maand betaalt in euro, bijvoorbeeld 15,50. | |
| bundel | Yes | De databundel in GB (bijvoorbeeld 10) of "onbeperkt". | |
| aanbieder | No | De huidige aanbieder, bijvoorbeeld KPN of Youfone. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety and data scope are partially covered. The description adds a useful privacy assurance ('Er wordt niets van de gebruiker bewaard') and explains what the answer contains, which goes beyond the annotations. It does not discuss rate limits or failure modes, but for a read-only calculation tool that is a minor gap.
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?
The description is a single, information-dense sentence that front-loads the required inputs before describing the outputs. Every clause contributes useful information, though the semicolon-heavy structure makes it slightly harder to parse quickly.
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?
Given three parameters, full schema coverage, and no output schema, the description does a good job of explaining what the tool returns (annual overspend, own-provider cost, switch link) and includes a privacy note. It could be more complete by clarifying what 'voordeligste vergelijkbare abonnement' means or any assumptions used in the comparison.
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 all three parameters are already well documented. The description mentions provider, bundle, and monthly price but adds no new parameter-level detail such as format or validation beyond what the schema provides. A baseline of 3 is appropriate when the schema does the heavy lifting.
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 clearly states the tool calculates how much a user overpays per year for a SIM-only plan, using provider, bundle, and current monthly price. It names the outputs (annual difference, own-provider cost, switch link) and thus is more than a restatement of the title. However, it does not explicitly differentiate itself from sibling tools like sim_only or mobiele_markt.
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 implies when to use it by listing the inputs needed and the comparison it performs, but it does not state explicit usage conditions, exclusions, or alternatives. An agent must infer that this is the right tool when a user wants to check if their SIM-only subscription is overpriced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cao_schalenSalarisschalen uit de caoARead-onlyInspect
Het brutoloon per maand per schaal (begin en eind) uit de cao van de Rijksoverheid, gemeenten, het primair onderwijs of de ziekenhuizen, en de eerstvolgende verhoging.
| Name | Required | Description | Default |
|---|---|---|---|
| cao | Yes | rijksoverheid, gemeenten, primair-onderwijs of ziekenhuizen. | |
| schaal | No | Optioneel: een schaal, bijvoorbeeld 8 of LB. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds useful return context (start and end gross monthly amounts plus the next scheduled increase), but says nothing about behavior when the CAO is unknown or when schaal is omitted, nor about rate limits or result 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 dense sentence with the resource and scope front-loaded and no filler. It is efficient, though the four CAO enumerations make it slightly list-heavy versus a shorter structural summary.
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 two-parameter read-only lookup with full schema coverage and no output schema, the description conveys the key return semantics (begin/eind amounts and the next increase). Only edge-case behavior (invalid or unsupported CAO, schaal filtering effect) is left unspecified.
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%, so both parameters are already documented, including the four valid CAO values and the optional schaal example. The description's mention of 'per schaal (begin en eind)' reinforces that a scale yields a start/end range, but adds no syntax or format detail beyond the schema. 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?
The description names a specific resource (brutoloon per maand per schaal, begin en eind) and enumerates the four CAO domains it covers, so an agent knows exactly what data it returns. It does not differentiate against siblings, but the sibling list is topically disjoint (vacatures, files, zorgpremies), so confusion risk is low.
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 description makes clear this is a salary-scale lookup for four named CAOs, so an agent can infer when it applies. There is no explicit when-to-use, when-not-to-use, or alternative named, and nothing says what happens for other CAOs or sectors.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
energie_standEnergieprijzen vandaagARead-onlyInspect
De laagste stroom- en gasprijs per contractsoort (vast 1, 3 en 5 jaar, variabel, dynamisch) van de laatste meetdag, met de leverancier en de laagste jaarprijs voor stroom en gas samen.
| 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 and openWorldHint=false, so the safety profile and closed-data nature are covered structurally. The description adds the useful freshness signal ('laatste meetdag'), but says nothing about update cadence, currency, units, or whether the snapshot can be stale, which matters for a daily price feed.
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 densely packed sentence that front-loads the core resource (lowest price per contract type) before listing the supplementary outputs. No filler, no repetition of the title.
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 output schema and no parameters, the description carries the burden of describing return values and does so adequately: lowest price per contract type, the supplier, and the lowest combined annual price. Minor gaps remain around units/currency and result shape, but an agent knows what it will get.
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. The description correctly implies no input is needed and instead spends its words on what the fixed output contains.
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 the specific resource (lowest electricity and gas price) and enumerates the contract types covered (fixed 1/3/5 years, variable, dynamic), plus the extra fields returned (supplier, lowest combined annual price). It is clearly distinguishable from price siblings like prijsdalers or zorgpremies by domain, though it never explicitly contrasts itself 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 guidance on when to use this tool versus alternatives, no stated prerequisites, and no exclusions. The only implicit usage signal is 'van de laatste meetdag', which suggests a current-snapshot use case but does not route the agent between siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
faillissementenFaillissementen in een plaatsARead-onlyInspect
Bedrijven in een Nederlandse plaats of gemeente die failliet zijn verklaard of surseance kregen, nieuwste eerst, uit het Centraal Insolventieregister.
| Name | Required | Description | Default |
|---|---|---|---|
| plaats | Yes | Plaats of gemeente. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a read-only, closed-world lookup. The description adds useful behavioral context beyond that: results are ordered newest first and come from the Central Insolvency Register, covering both bankruptcies and suspension of payments.
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?
The definition is a single front-loaded sentence with no wasted words. It states the resource, scope, ordering, and source efficiently.
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 one-parameter read-only lookup with no output schema, the description provides enough context to call it correctly: what data is returned, the geographic scope, ordering, and source register.
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%, and the single parameter is already documented as 'Plaats of gemeente.' The description adds only that the place is Dutch, which is minor context beyond the schema, so the baseline of 3 is appropriate.
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 resource and scope: companies in a Dutch place or municipality that are bankrupt or in suspension of payments, sourced from the Central Insolvency Register. It is immediately clear what the tool returns and how it differs from unrelated sibling tools.
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 makes the intended query context clear: look up bankruptcies by Dutch place or municipality. It does not explicitly state when not to use it or name alternatives, but no sibling tool covers the same domain, so the usage context is sufficiently clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
filesFilesBRead-onlyInspect
De files die nu op de Nederlandse wegen staan, uit het actuele verkeersbeeld van het NDW (elke vijf minuten): weg, stuk, lengte en vertraging. Optioneel voor één weg (A28, N34) of rond een plaats.
| Name | Required | Description | Default |
|---|---|---|---|
| weg | No | Optioneel: een weg, bijvoorbeeld A28. | |
| plaats | No | Optioneel: een plaats; dan de files binnen 15 km. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, so the agent knows this tool is safe to call, and the description adds genuinely useful behavioral context: the source is the NDW and the data refreshes every five minutes. It does not say whether results are capped, how large the response can get, or what happens when a road or place is unknown, and because there is no output schema, those gaps matter more.
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?
The description is two compact sentences that front-load the core resource and the refresh cadence, then add the filtering options. Nothing is wasted, although the field list and the filter clause in the second sentence make the description slightly dense.
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 two-optional-parameter, no-output-schema tool, the description covers the source, freshness, returned fields, and filter behavior, which is nearly everything an agent needs. It leaves open whether 'weg' and 'plaats' can be combined and whether an unfiltered call returns all jams nationwide, but these are minor gaps.
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%, and the schema already documents both optional parameters, including the 15 km radius around a place. The description only adds concrete example values (A28, N34) and confirms that a filter is optional when neither is supplied, so the baseline score of 3 is appropriate.
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 gives a specific verb-plus-resource: the traffic jams currently on Dutch roads, from the NDW feed, with the fields returned (road, section, length, delay). It is clear what the tool does, but it never differentiates itself from the sibling tool 'verkeer', which an agent could easily mistake for the same data.
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 only usage guidance is about the optional filters ('optioneel voor één weg of rond een plaats'), which is parameter guidance rather than when-to-use-this-tool guidance. There is no indication of when to prefer this over the sibling 'verkeer' tool, and no exclusion or alternative is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gemeente_in_cijfersEen gemeente in cijfersARead-onlyInspect
Antwoorden met bron over een Nederlandse gemeente of plaats, uit de open cijfers van het CBS en de politie: inwoners en groei, waar mensen naartoe verhuizen en vandaan komen, woningbouw, afstand tot voorzieningen, inkomen, vermogen, armoede, veiligheid, afval en zonnepanelen.
| Name | Required | Description | Default |
|---|---|---|---|
| gemeente | Yes | Gemeente of plaats, bijvoorbeeld Hoorn. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful behavior beyond that: answers are sourced ('met bron') from CBS and police open data, and the fixed domain list hints at what will and will not be returned. It does not say how a multi-topic or out-of-scope question is handled, which keeps it at a 3.
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?
One front-loaded sentence that opens with the purpose and sources before the topic enumeration. The long topic list earns its place because it defines the answerable question space, though it could be trimmed slightly.
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 single-parameter, read-only lookup tool with full schema coverage and annotations, the description supplies enough to select and call it correctly: scope, sources, and covered domains. The absence of detail on return shape is acceptable since no output schema exists but the tool is a simple factual lookup.
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% and the single parameter already documents that a 'Gemeente of plaats' with an example (Hoorn) is expected. The description repeats 'gemeente of plaats' without adding format guidance, matching rules, or fallback behavior for ambiguous place names, so it adds no meaning beyond the schema. Baseline 3.
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 the resource ('een Nederlandse gemeente of plaats') and enumerates the concrete data domains covered (inwoners, verhuizingen, woningbouw, inkomen, veiligheid, afval, zonnepanelen), plus the sources (CBS, politie). The only soft spot is the verb 'antwoorden', which is generic, but the topic list makes the scope unmistakable relative to siblings like gemeenteraad or wachttijden_ziekenhuis.
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: an agent can infer it should call this for questions about a specific municipality's statistics, but the description never says when to use it versus alternatives, nor what to do when the question is not about a municipality or the place is unknown. No exclusions or preconditions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gemeenteraadWat besloot de gemeenteraadARead-onlyInspect
De laatste en de volgende raadsvergadering van een Nederlandse gemeente met de agendapunten, de moties en amendementen van de laatste twee maanden met hun uitslag en stemmen, en de nieuwste besluitenlijst, elk met een link naar het stuk. Uit OpenBesluitvorming, een paar keer per dag bijgewerkt.
| Name | Required | Description | Default |
|---|---|---|---|
| gemeente | Yes | Gemeente of plaats, bijvoorbeeld Stadskanaal. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a read-only, closed-world lookup. The description adds useful behavioral context beyond that: the data source is OpenBesluitvorming, it is refreshed a few times per day, and coverage is limited to recent meetings and the last two months of motions and amendments. It does not discuss error behavior or rate limits, but for this read-only tool the added context is substantial.
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?
The description is two sentences with no filler. The first sentence front-loads the core returned data and temporal scope, while the second efficiently adds source and refresh cadence.
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?
There is no output schema, so the description must carry the return-shape burden, and it does so by enumerating meetings, agenda items, motions, amendments, outcomes, votes, decisions list, and links. The exact response structure and ordering are still unspecified, but an agent knows what kind of data to expect.
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%, and the schema already documents the single required 'gemeente' parameter with an example. The description reinforces that this is a Dutch municipality, but it adds no format, normalization, or matching guidance beyond what the schema provides, so the baseline of 3 is appropriate.
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 states exactly what the tool returns: the latest and next council meeting, agenda items, motions and amendments from the last two months with outcomes and votes, and the newest decisions list. This is specific enough to distinguish it from every sibling tool, which covers unrelated domains.
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 temporal scope ('laatste en de volgende', 'laatste twee maanden') implies use for recent or upcoming Dutch municipal council information, but the description does not explicitly say when to use this tool or when not to. There is no similar sibling alternative to route between, so the lack of explicit guidance is a minor but real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
internetInternet thuis vergelijkenARead-onlyInspect
De voordeligste internetpakketten (eventueel met tv) op het gemiddelde per maand over de looptijd, met snelheid, aansluiting en de link naar het aanbod. Of een pakket op een adres kan, controleert de aanbieder.
| Name | Required | Description | Default |
|---|---|---|---|
| tv | No | Alleen pakketten met tv. | |
| snelheid | No | Optioneel: minimale download in Mbit/s, bijvoorbeeld 500. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it read-only and closed-world. The description adds useful behavior beyond annotations: results are ranked by average monthly cost over the contract term, include speed/connection/offer link, and address availability is not guaranteed by this tool.
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?
Two sentences, front-loaded with the core result and followed by a relevant caveat. It does not waste space restating 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 simple two-parameter read-only comparison tool with no output schema, the description covers ranking basis, returned fields, and the address-availability caveat. It could mention result count or pagination, but nothing critical is missing.
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%, so both optional parameters are already documented. The description reinforces that TV is optional and speed is part of the result, but adds no format or default details 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?
States that it returns the cheapest internet packages, optionally with TV, ranked by average monthly cost over the contract term, and lists included fields such as speed, connection, and offer link. It is specific about the resource and ranking basis, though it does not explicitly contrast with sibling telecom tools like mobiele_markt or sim_only.
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?
Provides no explicit when-to-use or when-not-to-use guidance. The only conditional note is that the provider checks whether a package is available at an address, leaving the agent to infer the comparison use case from the name and title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
middelbare_scholenMiddelbare scholen en examensBRead-onlyInspect
De middelbare scholen in een Nederlandse gemeente met hun schooltypes en welk deel van de examenkandidaten slaagde, tegen het jaar ervoor en landelijk. Uit de open gegevens van DUO.
| Name | Required | Description | Default |
|---|---|---|---|
| gemeente | Yes | Gemeente, bijvoorbeeld Emmen. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint and openWorldHint annotations already establish that this is a safe, closed-domain read operation. The description adds useful provenance by citing DUO open data and clarifies the statistical comparisons included. It does not discuss rate limits, response format, or other behavioral details, but the annotations carry most of that burden.
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?
Two compact sentences that front-load the resource and its comparisons. Every phrase contributes useful scope information, with no redundancy or filler.
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 one-parameter read-only tool with no output schema, the description is nearly complete: it names the entity, the municipality scope, the data fields, and the comparison baselines. It could be slightly stronger by explicitly stating the return shape or unit of aggregation, but it is sufficient to call the tool correctly.
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?
There is one required parameter, gemeente, and the schema description already explains it with an example ('Emmen'). The tool description reinforces that it should be a Dutch municipality, but adds no format, casing, or lookup guidance beyond the schema. With 100% schema coverage, the baseline score of 3 is appropriate.
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 clearly states the resource (middelbare scholen in a Dutch municipality), the included fields (schooltypes and exam pass rates), and the comparisons (previous year and national). It lacks an explicit verb like 'list' or 'retrieve', but the intended output is still unambiguous. The sibling tools are all unrelated, so no sibling differentiation is needed.
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 explains what data is returned but never says when to use this tool, when not to use it, or what alternatives exist. Usage is only implied by the resource description. No prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mobiele_marktDe mobiele marktBRead-onlyInspect
Wat sim only met 10 GB, 20 GB en onbeperkt nu minimaal kost tegen eerder, en hoeveel storingen elk netwerk (KPN, Odido, Vodafone) had.
| 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 and openWorldHint=false, so the safety profile is covered. The description adds that results are comparative ('nu minimaal ... tegen eerder') and aggregated across three named networks, which is useful context, but it says nothing about data vintage, source, or return 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 compact sentence with no filler, and the primary subject (sim-only pricing) is front-loaded ahead of the secondary one (outages). It is slightly awkward as a question fragment rather than a declarative statement of purpose.
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 minimal annotations, the description carries the burden of telling the agent what it will get back. It lists the topics but not the metric units, comparison period, or output shape, which leaves meaningful ambiguity for a data-answer tool that overlaps two siblings.
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 of 4 applies. The mentioned data points (10 GB, 20 GB, unlimited, three networks) are informative about coverage rather than 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?
The description names two concrete subject areas (minimum sim-only pricing for 10 GB / 20 GB / unlimited, and outage counts per network) but has no verb and no scope statement, so the agent is left to infer that this is a market-overview query. It also overlaps directly with the sim_only and storingen siblings without saying how it differs from 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 indication of when to use this tool rather than sim_only, storingen, of prijsdalers, all of which appear to cover adjacent ground. No prerequisites, no time-frame guidance, and no exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plaats_infoAlles over een plaats, per onderwerpBRead-onlyInspect
Wat NuActueel weet over een Nederlandse plaats of gemeente, per onderwerp: overzicht, dit_weekend, nieuws, 112_en_meldingen, tanken, laadpalen, parkeren, markten, zorg, stroomstoring, afval, scholen, kinderopvang, leerlingen, woningen, vergunningen, rechtspraak, verkiezingen, wat_kost_het, wandelen, honden, uitjes, bezienswaardigheden. Geeft de tekst en cijfers van de pagina, met bron en link.
| Name | Required | Description | Default |
|---|---|---|---|
| plaats | Yes | Plaats of gemeente, bijvoorbeeld Emmen. | |
| onderwerp | No | Het onderwerp. Zonder onderwerp: overzicht, wat er nu speelt in de plaats. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety and scope are partly covered. The description adds two genuinely useful facts beyond that: it is restricted to Dutch places/municipalities, and the return is the page's text and figures with source and link. It says nothing about freshness, result size, or what happens when a topic has no data for a place.
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?
The purpose and the output statement are front-loaded and valuable, but roughly two-thirds of the text is a 23-item enumeration that restates the schema enum verbatim. It is not padded with fluff, yet a meaningful share of the wording does not earn 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 output schema, the description responsibly states what comes back (text, figures, source, link), and the required `plaats` plus optional `onderwerp` are fully covered by the schema. For a two-parameter read-only lookup it is close to complete; only output volume and no-data behaviour are unaddressed.
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% and both parameters are documented, including the enum and the default-to-overzicht behaviour, so the baseline is 3. The description's topic list simply duplicates the enum rather than adding semantics such as verbosity, combinations, or fallback behaviour for unsupported places.
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 resource ("een Nederlandse plaats of gemeente") and a specific data scope (per topic, with 23 named topics), so an agent knows exactly what it retrieves. It falls short of 5 because it never distinguishes itself from closely overlapping siblings such as gemeente_in_cijfers, gemeenteraad, activiteiten, or mobiele_markt, all of which cover some of the same topics.
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 when-to-use or when-not-to-use statement and no alternative tool is named. The topic enumeration weakly implies "use this to look up a place", but with several siblings covering adjacent municipal and topic data, the definition leaves routing entirely to the agent's inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prijsbeweging_productenPrijsbeweging per productsoortARead-onlyInspect
Welke productsoorten (televisies, laptops, airfryers, smartphones ...) werden de laatste 30 dagen goedkoper of duurder bij Coolblue, bol en Teufel: per soort de middelste prijs en de middelste prijsverandering per product, uit eigen dagelijkse metingen van NuActueel. Zonder soort: de grootste dalers en stijgers.
| Name | Required | Description | Default |
|---|---|---|---|
| soort | No | Optioneel: een productsoort, bijvoorbeeld "televisies" of "airfryers". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe read-only, closed-world tool, so the description's job is to add context beyond that. It does: it discloses the data provenance (own daily measurements), the aggregation method (medians rather than averages), the 30-day reset window, the covered retailers, and the default behavior when no type is given. It does not mention coverage limits or latency, but for a read-only lookup this is solid added context.
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?
The description is front-loaded with the central question and then packs scope, method, sources, and default behavior into compact clauses with no filler. It is dense but well-ordered, and the trailing fallback clause is placed where the agent will notice it. Slightly long as a single run-on construction, but every clause carries 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?
There is no output schema, so the description must convey what comes back, and it does: median price and median price change per product type, or biggest movers when no type is supplied. Combined with the disclosed time window and data sources, an agent has enough to decide whether to call it and how. Only the sibling differentiation and any coverage caveats are missing.
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% and the parameter already carries an example, so the baseline is 3. The description goes beyond it by explaining the semantic consequence of omitting soort (fallback to biggest risers/fallers), which the schema does not state. It also clarifies that filtering is by product type such as televisies or airfryers, reinforcing the expected value shape.
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 opens with a concrete question (which product types became cheaper or more expensive) and names the specifics: 30-day window, retailers Coolblue/bol/Teufel, median price and median price change per product, based on own NuActueel measurements. That is a clear verb+resource+scope. It stops short of naming which sibling to use instead (prijsdalers, product_prijs, toestelprijs overlap thematically), so an agent must infer the distinction.
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 final clause 'Zonder soort: de grootste dalers en stijgers' effectively tells the agent what happens when the filter is omitted, which is useful usage guidance. However, there is no explicit when-to-use versus siblings such as prijsdalers (which sounds very close to 'grootste dalers') or product_prijs, and no statement of exclusions. Usage is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prijsdalersPrijsdalers bij bol en CoolblueARead-onlyInspect
Producten (telefoons, tablets, elektronica, huishouden) die nu minstens 10 procent onder hun laagste prijs van de 30 dagen ervoor zitten, uit de eigen prijsmetingen van NuActueel bij bol en Coolblue. Geen "van"-prijzen van de winkel.
| Name | Required | Description | Default |
|---|---|---|---|
| soort | No | Optioneel: een soort product, bijvoorbeeld smartphones of wasmachines. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description adds meaningful context beyond that — the exact discount threshold, the 30-day comparison window, and the fact that only own measurements are used rather than retailer marketing prices. It stops short of disclosing result ordering, volume or refresh frequency.
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?
Two front-loaded sentences that define the metric before the caveat; almost no waste. The parenthetical category list is slightly padded but reinforces scope.
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 read-only, zero-required-parameter query with no output schema, the definition supplies the essential domain semantics (threshold, window, sources, exclusions). Only minor gaps remain around result set size and 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?
Schema coverage is 100% and the single optional 'soort' parameter is already documented in the schema. The description's category list (telefoons, tablets, elektronica, huishouden) loosely mirrors the schema examples but adds no matching semantics, such as whether filtering is free-text or category-exact.
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 resource (products priced ≥10% below their 30-day low), the sources (bol and Coolblue) and the data provenance (NuActueel's own measurements). An agent can distinguish this from sibling price tools like toestelprijs or mobiele_markt, 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?
Usage is only implied: it is clearly a 'current price-deal' lookup, but the description never says when to prefer it over the other price tools or what it excludes. The closing note about shop 'van'-prijzen is a data-quality caveat, not a usage rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
producten_vergelijkenTwee producten vergelijkenARead-onlyInspect
Zet twee producten van dezelfde soort naast elkaar (bijvoorbeeld "Galaxy A57" en "Galaxy A56", of twee televisies): de prijs van nu bij Coolblue, bol en Teufel, een advies uit de koopredenen ("kies de ... voor een grotere accu"), wat verschilt in de specificaties (bol en Open Icecat) en wat gelijk is. Uit eigen metingen van NuActueel, met links.
| Name | Required | Description | Default |
|---|---|---|---|
| product_a | Yes | Het eerste product: naam of EAN. | |
| product_b | Yes | Het tweede product: naam of EAN. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish readOnlyHint=true and openWorldHint=false, so safety and locality are covered. The description adds valuable provenance ("eigen metingen van NuActueel, met links") and discloses the data sources per field (bol, Open Icecat, Coolblue, Teufel), but it does not address what happens with mismatched product types, missing data, or whether the two products must share a category.
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?
The tool's purpose is front-loaded in the opening clause, with the returned data listed afterwards. The parenthetical examples and quoted advice fragment add concrete value, though the single long sentence packs several clause levels and could be broken up for easier scanning.
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 two-parameter read-only comparison tool with no output schema, the description covers purpose, input expectation (same kind of product, name or EAN), data sources and return contents, plus provenance. Nothing an agent needs to invoke it correctly is missing.
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%, and both parameters are documented as name or EAN, so the schema already does the heavy lifting. The description reinforces the constraint that both products must be of the same kind, which adds a little meaning beyond the schema, but offers no detail on name formatting, disambiguation, or which product is treated as the reference.
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 states a specific verb and resource: putting two products of the same kind side by side, and it enumerates what the comparison returns (current prices at Coolblue/bol/Teufel, buying-advice, differing and identical specs). This clearly distinguishes it from siblings like product_info or product_prijs, though it never names those siblings 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 clear usage context: two products of the same type (with concrete examples like "Galaxy A57" vs "Galaxy A56", or two TVs), and it implies the output is comparison-oriented. It does not state exclusions or explicitly route to alternatives such as product_prijs for a single price, so it falls short of a full when/when-not treatment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
product_infoAlles over één productARead-onlyInspect
Eén product uit de vergelijker: prijs per winkel, prijsverloop en prijsoordeel, en wat we er verder van weten, zoals specificaties, beoordelingen, tweedekans, updates en vragen en antwoorden. Gebruik product_prijs om meerdere producten naast elkaar te zien.
| Name | Required | Description | Default |
|---|---|---|---|
| product | Yes | Productnaam, bijvoorbeeld "Galaxy A16 128GB", of een EAN. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuine context by enumerating the data the caller gets back (per-store prices, price history, verdict, specs, reviews, second-hand listings, updates, Q&A), which matters because there is no output schema. It does not mention what happens for an unknown product name or EAN, a minor gap.
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?
Two sentences, front-loaded with the resource and its contents, followed by the sibling routing hint. The enumeration is long but each item is informative; no filler sentences. Slightly dense, but nothing that could be cut without losing coverage of what is returned.
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 no output schema, the description carries the necessary burden by describing the returned data categories and by routing to the multi-product sibling. Nothing an agent needs in order to select and call this tool is missing.
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% and the single parameter already documents that it accepts a product name such as "Galaxy A16 128GB" or an EAN. The description adds no further meaning about the identifier format or matching behavior, so the 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 resource (one product from the comparator) and enumerates exactly what it returns: price per store, price history, price verdict, specs, reviews, second-hand, updates and Q&A. It also names the sibling it is not, product_prijs, so an agent can distinguish the two tools without inspecting either schema.
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 final sentence gives an explicit routing rule: use product_prijs when comparing multiple products side by side, which by contrast means this tool is for a single product. When-to-use and the alternative are both stated rather than inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
product_prijsProductprijs bij Coolblue, bol en TeufelARead-onlyInspect
Zoek een product op naam of EAN (televisie, laptop, wasmachine, telefoon, airfryer ...): de prijs van nu bij Coolblue, bol en Teufel, de laagste en hoogste prijs die NuActueel zelf zag sinds de eerste meting (geen "van"-prijs), de prijs van 30 dagen terug en de link naar de productpagina. Hooguit vijf producten. Met een soort als vraag ("televisies", "airfryers") ook het soortoverzicht: vanaf-prijs, middelste prijs en de goedkoopste drie.
| Name | Required | Description | Default |
|---|---|---|---|
| product | Yes | Productnaam (bijvoorbeeld "Galaxy A16 128GB" of "Philips airfryer XXL") of een EAN. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint=false; the description adds real behavioral detail beyond that: a hard cap of five products, that the historical range is NuActueel's own observations since the first measurement (no fake list price), and a 30-day lookback. It does not cover empty-result behaviour or data freshness/cadence.
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?
The verb and scope are front-loaded, but everything is packed into one long run-on sentence with a dense parenthetical list of returned fields. It reads as a data dump rather than a structured brief; a short second sentence separating the return payload from the query modes would improve it.
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 output schema, the description carries the return-value burden and does so thoroughly, including the five-result limit and the alternate category-overview response. Minor gaps remain on currency, empty results, and price freshness, but the agent has enough to call it correctly.
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% and the single parameter is already documented, so the baseline is a 3. The description does add value by clarifying that a category term changes the response shape (overview with from-price, median, three cheapest), which the schema does not convey.
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 concrete verb ('Zoek') and resource (product price), and enumerates exactly what is returned: current price at Coolblue/bol/Teufel, historical min/max, 30-day price, and a product link. It is unambiguous about the resource, though it does not explicitly distinguish itself from siblings such as toestelprijs or prijsbeweging_producten.
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?
It explains two query modes (product name/EAN versus a category term like 'airfryers' which yields an overview), which is useful usage guidance. However, it never says when not to use it or which sibling tool to pick instead, so routing to overlapping price tools is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reeksCijferreeks door de tijdARead-onlyInspect
Het verloop van een cijfer dat NuActueel zelf meet: de laatste waarde, de periode ervoor en een jaar eerder (waar gemeten), de laatste metingen en een link naar de hele reeks als CSV. Reeksen: euro95, diesel, lpg, vacatures, brandweer, simonly-10gb, simonly-20gb, simonly-onbeperkt, energielabels-a, files, misdrijven, woninginbraken, inwoners, nieuwbouw, bijstand. Vacatures, brandweer, energielabels, misdrijven en woninginbraken ook per gemeente.
| Name | Required | Description | Default |
|---|---|---|---|
| reeks | Yes | Welke reeks. | |
| gemeente | No | Optioneel: een gemeente, bijvoorbeeld Emmen (alleen bij vacatures, brandweer, energielabels-a, misdrijven, woninginbraken, inwoners, nieuwbouw en bijstand). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered; the description adds genuine behavioral context by describing exactly what a response contains (last value, prior period, year-ago value, recent measurements, CSV link) and flagging the 'waar gemeten' caveat that some points may be missing. Since no output schema exists, this payload description is doing real work. It omits granularity/frequency details (how many 'laatste metingen', what period each step covers).
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?
Front-loaded with what the tool returns, then the series list, then the municipality caveat — a sensible order for an agent scanning it. Dense but every clause carries information; the series enumeration duplicates the enum in the schema and is the only clearly redundant element.
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 two-parameter read tool with no output schema, the return-value description is solid, but the municipality behaviour is left ambiguous (does it return that municipality's series, or filter rows?) and the list of municipality-capable series is materially incomplete versus the schema. Those two gaps matter because gemeente is the only non-trivial decision an agent makes here.
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%, so the schema already documents both parameters. The description adds the municipality dimension and its scope, but this is where it conflicts with the schema: it claims gemeente applies to five series (vacatures, brandweer, energielabels, misdrijven, woninginbraken) while the enum description allows eight, adding inwoners, nieuwbouw and bijstand. That omission risks steering an agent away from valid requests.
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 the resource precisely (a NuActueel-measured figure over time) and enumerates the return payload: latest value, the period before it, a year earlier where measured, recent measurements and a CSV link. It even enumerates the 15 supported series, which tells an agent concretely what is retrievable. It stops short of naming a sibling tool, so the boundary with e.g. 'files', 'vacatures' or 'energie_stand' must be inferred from the enumeration.
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 enumerated series and the note that some of them are available per municipality tell an agent what can be requested, but there is no explicit 'use this when…' versus an alternative sibling such as vacature_index or files. 'Waar gemeten' hints that data can be absent, but no fallback behaviour is specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sim_onlySim only vergelijkenARead-onlyInspect
De voordeligste sim only-abonnementen per aanbieder met minstens zoveel data: wat je nu per maand betaalt, het gemiddelde over de hele looptijd (met de prijs na de actie en de eenmalige kosten), het gemiddelde met de jaarlijkse inflatieverhoging van de aanbieder (geschat), het netwerk en de link naar het aanbod. Elke ochtend opnieuw opgehaald.
| Name | Required | Description | Default |
|---|---|---|---|
| bundel | No | Minimale databundel in GB (bijvoorbeeld 10) of "onbeperkt". Standaard 10. | |
| netwerk | No | Optioneel: KPN, Odido of Vodafone. | |
| looptijd | No | Optioneel: 1 (maandelijks opzegbaar), 12 of 24 maanden. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare this as a read-only, closed-world lookup, and the description adds meaningful behavioral context: results are refreshed every morning and include computed averages with promotional pricing and estimated inflation effects. It does not contradict the annotations and discloses enough about the data's nature for an agent to use it confidently.
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?
The description is front-loaded with the core purpose and then enumerates the returned pricing dimensions efficiently. It is a single dense sentence followed by a short freshness note, with little waste, though the long enumeration makes it slightly heavier than ideal.
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 output schema, the description must explain return values, and it does so well: current monthly price, term average including promotional and one-time costs, inflation-adjusted average, network, and offer link. It lacks minor details such as result count or exact sorting beyond 'cheapest', but is otherwise complete for this lookup tool.
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 the input schema already fully documents bundel, netwerk, and looptijd. The description only indirectly echoes the data-bundle parameter with 'met minstens zoveel data' and does not add meaning beyond the schema, making the baseline 3 appropriate.
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 clearly states the specific resource and comparison: cheapest SIM-only plans per provider with a minimum data bundle. It is not a tautology and explains exactly what is being compared, though it does not explicitly differentiate this tool from nearby siblings like mobiele_markt or toestelprijs.
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 intended use is strongly implied by the purpose statement: compare SIM-only subscriptions by data bundle, network, and contract length. However, the description gives no explicit when-to-use guidance, no exclusions, and does not name alternatives such as mobiele_markt for broader market information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
storingenStoringenBRead-onlyInspect
Lopende storingen bij diensten (internet, mobiel, banken, OV) en stroom- of gasstoringen van de netbeheerders in Nederland.
| 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 and openWorldHint=false, so the safety profile is covered. The description adds the meaningful context that the dataset is scoped to the Netherlands and aggregates both service outages and grid-operator utility outages. It does not say how fresh the data is, whether results are aggregated per provider, or what the response shape looks like.
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-loaded on the core concept (lopende storingen) followed by the covered domains. Nothing is wasted, though the parenthetical list carries most of the informational weight.
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 most of the burden and does cover the data's subject and geographic scope. It leaves gaps on freshness/cadence and result structure that matter for a live-status tool. Adequate but not complete.
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 per the rubric. The description correctly implies a no-argument, snapshot-style call and does not mislead about filtering options.
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?
Names the resource precisely (ongoing outages) and enumerates the covered domains: internet, mobile, banks, public transport, plus power/gas outages from Dutch grid operators. An agent immediately knows what data comes back. It stops short of naming overlap with siblings such as 'internet', 'mobiele_markt' or 'energie_stand', so it is clear but not differentiated.
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 statement of when to call this versus the many adjacent siblings (internet, energie_stand, mobiele_markt) that plausibly surface overlapping information. The only hint is the word 'lopende' (current), which merely implies a real-time snapshot. No exclusions, no prerequisites, no alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
terugroepactiesTerugroepacties van auto'sARead-onlyInspect
De nieuwste terugroepacties van de RDW voor een automerk (en eventueel een model), met het defect en de datum.
| Name | Required | Description | Default |
|---|---|---|---|
| merk | Yes | Het merk, bijvoorbeeld Volkswagen. | |
| model | No | Optioneel: het model, bijvoorbeeld Golf. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely new context: the data source is the RDW, results are the most recent recalls ('nieuwste'), and each result contains the defect and the date — useful since there is no output schema.
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 zero padding; the scope (brand, optional model) and the returned fields are front-loaded, and every clause carries 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 two-parameter read-only lookup with a fully described schema and annotations, the description covers purpose, source, and return content. It lacks only minor edges such as ordering/limit behavior or what an empty result means, which are low-stakes here.
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% and both parameters are described with examples in the schema itself, so the schema does the heavy lifting. The description only restates that 'merk' is required and 'model' optional, adding no format or matching semantics beyond what the schema already says.
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 resource (RDW recall actions) scoped to a car brand and optional model, plus what it surfaces (defect and date). It is unambiguous on its own, though it does not explicitly differentiate itself from the surrounding sibling tools (which are all unrelated domains, so the practical risk is low).
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 implied by 'voor een automerk (en eventueel een model)' — an agent can infer you call it with a brand and optionally a model. There is no explicit statement of when to use this versus alternatives, no prerequisite or edge-case guidance (e.g. unknown brand, no recalls found).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toestelprijsPrijsverloop van een telefoonBRead-onlyInspect
Wat een smartphone nu minimaal kost (met abonnement en los), de laagste en hoogste prijs sinds NuActueel meet, en het verschil met een week en een maand terug.
| Name | Required | Description | Default |
|---|---|---|---|
| toestel | Yes | Merk en model, bijvoorbeeld "iPhone 16" of "Galaxy S25". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered and the description only needs to add context. It does add useful scope information (prices are split into subscription and loose device, history extends back to when NuActueel began measuring), but it says nothing about coverage gaps, update frequency, or behavior when the model is unknown. Adequate but thin beyond the annotations.
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 densely packed sentence with no filler, and the primary answer (current minimum price) is front-loaded before the historical range and deltas. Slightly hard to parse due to the parenthetical, but nothing is redundant.
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 output schema, the description carries the burden of explaining return values and does so well — current minimum, historical min/max, and week/month deltas. The single required parameter is fully documented in the schema. Only the lack of routing guidance against sibling price tools leaves a gap.
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?
There is a single parameter at 100% schema description coverage, with the schema already supplying format and examples ("iPhone 16", "Galaxy S25"). The description adds no extra semantics such as matching tolerance or brand spelling rules, so the 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?
The description concretely enumerates what the tool returns for a phone: current minimum price (with subscription and loose device), the all-time low/high since NuActueel started measuring, and the week/month deltas. That makes the resource and the data scope unmistakable. It does not explicitly differentiate itself from nearby siblings such as mobiele_markt or prijsdalers, which is the only thing keeping it from 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?
There is no statement of when to use this tool versus alternatives, no prerequisites, and no exclusions. An agent must infer from the sibling list alone whether to pick this or prijsdalers/sim_only. Only the implicit 'price history of one device' framing gives any guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vacature_indexVacature-indexBRead-onlyInspect
Staan er deze week meer of minder vacatures open dan vorige week, in Nederland of in een provincie, per sector, in procenten.
| Name | Required | Description | Default |
|---|---|---|---|
| provincie | No | Optioneel: een provincie, bijvoorbeeld Groningen. Zonder: heel Nederland. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuine behavioral content by defining the metric (percentage change vs. previous week) and the default scope (all of the Netherlands), but it says nothing about update cadence, data source, or result 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 compact sentence with no padding; scope and metric are front-loaded. It loses a point only for the interrogative form, which reads like an end-user query rather than an operational instruction to an agent.
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?
The tool is simple (one optional parameter, no output schema), and the description covers the metric and geographic scope adequately. However, with no output schema and no return-value explanation, the agent is left guessing how 'per sector' results are shaped, and the mention of sectors with no corresponding parameter is unexplained.
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% and the single `provincie` parameter is well documented, including the no-value default of heel Nederland. The description only echoes that scope in prose and adds nothing on province naming conventions or accepted values (there are no enums), so the baseline of 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?
The description clearly conveys the resource and metric: the week-over-week change in open vacancies, expressed in percentages, scoped to the Netherlands or a province, broken down by sector. It is phrased as a user question rather than a verb+resource statement, and it never distinguishes itself from the sibling `vacatures`, so an agent could easily confuse the index with a raw vacancy listing.
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 question framing implies the use case (trend comparison this week vs. last week) but gives no explicit when-to-use, when-not, or alternative routing. With a sibling named `vacatures` in the same namespace, the absence of any guidance on which one to pick is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vacaturesVacatures in een plaatsBRead-onlyInspect
De nieuwste open vacatures in een Nederlandse gemeente of plaats, eventueel voor één beroep, parttime of zonder diploma-eis. Elk halfuur bij de bron nagekeken.
| Name | Required | Description | Default |
|---|---|---|---|
| beroep | No | Optioneel: het beroep, bijvoorbeeld orderpicker. | |
| plaats | Yes | Plaats of gemeente, bijvoorbeeld Assen. | |
| parttime | No | ||
| zonder_diploma | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false. The description adds genuine value beyond that with the freshness guarantee ('Elk halfuur bij de bron nagekeken'), which tells an agent data is current and sourced. However, it says nothing about result volume, ranking of 'nieuwste', or pagination, which matters for a listing tool.
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?
Two sentences, zero filler, with the core capability front-loaded and the freshness guarantee last. 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 four-parameter read tool with no output schema, the description covers what is searched but not how filters behave or what the results look like. Adequate to attempt a call, but the boolean-semantics gap and absent sibling disambiguation leave real risk of a wrong invocation.
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 50%: `beroep` and `plaats` have schema descriptions, while `parttime` and `zonder_diploma` are bare booleans. The description echoes both filters but never resolves the key ambiguity — whether true means 'only part-time/only no-diploma' or merely 'include'. That gap is left unaddressed in both schema and description.
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+resource: 'nieuwste open vacatures' scoped to a Dutch municipality/place. It is clear what the tool returns, but the sibling `vacature_index` is never mentioned, so an agent must guess which of the two vacancy tools to pick.
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?
Nothing states when to use this versus `vacature_index`, and no prerequisites or exclusions are given. Usage must be inferred entirely from the tool name and the mention of optional filters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
veiligheidMisdrijven en overlast in een gemeenteBRead-onlyInspect
Geregistreerde misdrijven en overlast in een gemeente (open data van de politie): per soort, per 1.000 inwoners tegen het landelijke cijfer, door de tijd en per wijk.
| Name | Required | Description | Default |
|---|---|---|---|
| gemeente | Yes | Gemeente of plaats, bijvoorbeeld Emmen. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and openWorldHint=false, so safety and locality are covered. The description adds useful scope by naming the source (police open data) and the breakdowns, but it does not say what period is covered, how the comparison is normalised, or whether results are current.
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?
The description is one compact sentence that front-loads the resource and source. It is dense but every clause adds information about the available breakdowns, with no filler.
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 one-parameter read tool with full schema coverage and read-only annotations, the description covers the data content and its dimensions adequately. It omits the reporting period and any output shape, but those are secondary for this complexity level.
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%, and the single gemeente parameter already has an example in the schema. The description only repeats that the data is for a municipality, adding no syntax, matching rules, or edge-case guidance 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 resource (registered crimes and nuisance) and enumerates the breakdowns: offence type, per 1,000 inhabitants versus the national figure, over time, and by neighbourhood. This is clearly more specific than the tool name 'veiligheid', though it does not explicitly distinguish itself from siblings such as gemeente_in_cijfers.
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 guidance on when to use this tool versus alternatives, and it names no sibling. It only describes what data the tool returns, leaving the agent to infer that it is the right choice for municipal crime figures.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verkeerWegwerk en afsluitingen in een plaatsARead-onlyInspect
Het wegwerk en de afsluitingen die nu lopen in een Nederlandse plaats of gemeente, uit de meldingen van het NDW (elk kwartier).
| Name | Required | Description | Default |
|---|---|---|---|
| plaats | Yes | Plaats of gemeente. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, closed-world), so the description's job is what they can't say: it discloses the data source (NDW meldingen) and the refresh cadence (elk kwartier), which materially tells the agent how fresh the answer is. It doesn't describe result volume or whether historic/recently-ended closures are included.
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 the scope, source, and freshness in a compact parenthetical; every clause carries information and nothing is padded.
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 lookup with full schema coverage and annotations, the description supplies scope, source, and update cadence, which is enough to call correctly. Minor gaps remain: no expectation of result shape or count, and no hint of what an empty answer means.
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% and there is only one parameter, so the schema already fully documents 'plaats'. The description only adds that it may be a place or a municipality and that it is Dutch, which is marginal 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?
Names the resource precisely (roadworks and closures currently running) and scopes it to a Dutch place or municipality, so the agent knows exactly what domain of data it returns. It does not differentiate itself from the close sibling 'files' (traffic jams), which an agent might confuse with closure data.
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 phrase 'die nu lopen' implies this is for current/real-time status rather than historical queries, which is a useful implicit usage cue. There is no explicit when-to-use/when-not guidance and no routing to or away from alternatives such as 'files' or 'storingen'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vraagVraag in gewone woordenARead-onlyInspect
Een vraag in gewone woorden over werk, verkeer, de gemeenteraad, tanken, de huisartsenpost, faillissementen, middelbare scholen, storingen, activiteiten of misdrijven in een Nederlandse plaats, bijvoorbeeld "parttime werk zonder diploma in Groningen", "welke wegen zijn dicht in Emmen" of "hoeveel woninginbraken in Hoorn". Antwoord uit de eigen gegevens van NuActueel, met de nagekeken-tijd en links.
| Name | Required | Description | Default |
|---|---|---|---|
| vraag | Yes | De vraag, in het Nederlands, met een plaats. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and openWorldHint=false, and the description usefully reinforces the closed-world scope by naming NuActueel's own data as the source. It also discloses response characteristics (a checked-at timestamp and links), which is genuine value beyond the annotations; only auth or rate-limit behavior is left unmentioned.
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?
The purpose and the place requirement come first, followed by illustrative examples and a short note on the answer's provenance. The long topic enumeration is dense but each item signals a supported subject area, so little 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 a single free-text parameter tool with read-only annotations and no output schema, the description covers purpose, input language/place requirement, topic scope and what the answer includes. Only the boundaries of unsupported questions remain unspecified, which is a minor gap.
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% and the single parameter is already documented as a Dutch question containing a place, so the schema does the heavy lifting. The description adds modest value by showing the expected phrasing style (short keyword-like questions such as 'hoeveel woninginbraken in Hoorn'), but contributes no further constraints.
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 states a concrete function: answer a plain-language question about Dutch local topics (work, traffic, council, fuel, schools, outages, crime) from NuActueel's own data, and it illustrates with three example queries. It is clear what the tool does, but it does not distinguish itself from specialized siblings such as files, storingen or veiligheid that cover the same subject matter.
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 implied rather than stated: the enumeration of topics and the example questions signal the intended input style, and the schema requires a Dutch question containing a place. There is no explicit guidance on when to choose this free-text tool over the specialized siblings, nor on what happens with out-of-scope or ambiguous questions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wachttijden_ziekenhuisWachttijden in ziekenhuizenBRead-onlyInspect
Hoe lang je wacht op een eerste polikliniekbezoek, onderzoek of behandeling (bijvoorbeeld knie, staar, heup), landelijk in het midden en waar het snelst, uit de open data van de NZa.
| Name | Required | Description | Default |
|---|---|---|---|
| zorg | Yes | Het specialisme of de behandeling, bijvoorbeeld orthopedie, staar of knie. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered by structured data. The description adds real value beyond that by naming the data source (NZa open data) and the aggregation levels reported (national median plus fastest provider). It stops short of saying what period the figures cover, whether results are per-hospital, or how the data is refreshed.
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?
One dense sentence with zero filler, and the core answer ('how long you wait') is front-loaded ahead of provenance. It could be slightly easier to scan if the source were split out, but 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?
For a one-parameter read tool with annotations and no output schema, the description covers purpose, source and the shape of the answer. It is missing the practical details an agent would want before calling: time period of the data, units of the waiting time, and whether 'waar het snelst' means a hospital name or a region.
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% and the single 'zorg' parameter is already documented with examples, so the schema does the heavy lifting. The description's parenthetical examples (knie, staar, heup) restate the schema's examples rather than adding new guidance on accepted specialty terminology or free-text matching behavior. 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?
The description states concretely what the tool returns: waiting times for a first outpatient visit, examination or treatment, with national median and fastest provider, drawn from NZa open data. That is specific enough to separate it from siblings like zorgpremies (premiums) or vacatures. It never names an explicit verb, but the data-lookup intent is unmistakable.
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 — an agent can infer you call it when asked about hospital waiting times for a condition such as 'knie' or 'staar'. There is no statement of when to prefer it over a sibling, no exclusions, and no note that the specialty argument is mandatory.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zorgpremiesZorgpremiesARead-onlyInspect
De premies van de basisverzekering per verzekeraar en polis voor het komende jaar, per maand zonder korting, met de premie van het jaar ervoor als die bekend is. Van de sites van de verzekeraars zelf.
| Name | Required | Description | Default |
|---|---|---|---|
| verzekeraar | No | Optioneel: een verzekeraar, bijvoorbeeld DSW of Zilveren Kruis. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is clear. The description adds valuable behavioral context beyond the annotations: it clarifies that data comes directly from insurers' own websites, covers the coming year, is monthly and without discount, and may include the previous year's premium if known.
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?
The description is a single, front-loaded sentence that packs scope, exclusions, and source information without any filler. Every clause contributes directly to understanding what data is returned.
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 low-complexity, read-only data retrieval tool with one optional parameter and no output schema, the description covers the data content, time scope, discount treatment, prior-year inclusion, and source. It does not describe the return format (e.g., list structure, field names), which would be helpful given the absence of an output schema.
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% for the single optional 'verzekeraar' parameter, so the schema already explains its purpose and examples. The description mentions 'per verzekeraar' but does not add syntax, filtering behavior, or other semantics beyond what the schema provides, making the baseline 3 appropriate.
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 clearly identifies the resource: basic health insurance premiums per insurer and policy for the coming year, monthly and without discount, including prior-year premiums when known. It is specific about the data returned, though it does not explicitly distinguish itself from any sibling tool (none appear to overlap directly).
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 implied by the scope (next-year basic insurance premiums, monthly without discount), but there is no explicit statement of when to use this tool versus alternatives, nor any exclusion criteria. The context is adequate for an agent to infer a use case but lacks deliberate routing guidance.
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 tool update
- Added
producten_vergelijken
3 tool updates
- Added
plaats_info - Added
product_info - Added
veiligheid
2 tool updates
- Added
gemeente_in_cijfers - Changed
reeks2 fields changed- changed
Input schema / properties / gemeente / descriptionPrevious value: -"Optioneel: een gemeente, bijvoorbeeld Emmen (alleen bij vacatures, brandweer en energielabels-a)."New value: +"Optioneel: een gemeente, bijvoorbeeld Emmen (alleen bij vacatures, brandweer, energielabels-a, misdrijven, woninginbraken, inwoners, nieuwbouw en bijstand)." - changed
Input schema / properties / reeks / enumPrevious value: -[ - "euro95", - "diesel", - "lpg", - "vacatures", - "brandweer", - "simonly-10gb", - "simonly-20gb", - "simonly-onbeperkt", - "energielabels-a", - "files" -]New value: +[ + "euro95", + "diesel", + "lpg", + "vacatures", + "brandweer", + "simonly-10gb", + "simonly-20gb", + "simonly-onbeperkt", + "energielabels-a", + "files", + "misdrijven", + "woninginbraken", + "inwoners", + "nieuwbouw", + "bijstand" +]
1 tool update
- Added
prijsbeweging_producten
1 tool update
- Added
product_prijs
22 tool updates
- First observed
activiteiten - First observed
betaal_ik_te_veel - First observed
cao_schalen - First observed
energie_stand - First observed
faillissementen - First observed
files - First observed
gemeenteraad - First observed
internet - First observed
middelbare_scholen - First observed
mobiele_markt - First observed
prijsdalers - First observed
reeks - First observed
sim_only - First observed
storingen - First observed
terugroepacties - First observed
toestelprijs - First observed
vacature_index - First observed
vacatures - First observed
verkeer - First observed
vraag - First observed
wachttijden_ziekenhuis - First observed
zorgpremies
Related MCP Connectors
Live Dutch supermarket prices and promotions (Albert Heijn, Jumbo, Lidl, Aldi and more) for AI.
Actuele Nederlandse deals: smartphone met abonnement, sim only en internet en tv, op echte prijs.
Nederlandse stroomprijzen per uur en kwartier, inclusief energiebelasting en btw. Gratis API-key.
Dutch rental and for-sale listings, CBS area figures and Huisly's housing guides, read-only.
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server for ANWB traffic information, route planning, and location search in the Netherlands. Provides real-time traffic incidents, route calculation with turn-by-turn directions, and location search via natural language.69 npmMIT
- AlicenseAqualityDmaintenanceProvides real-time Dutch railway (NS) travel information including train schedules, delays, journey planning, ticket prices, and station details for navigating the Netherlands by train.843 npmMIT
- 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.67 npmMIT
- FlicenseNot gradedqualityDmaintenanceProvides real-time Dutch Railways (NS) data for journey planning, live departures, disruptions, and station search.3-
Glama MCP Gateway
Add one secure layer between your agents and this server.