Wozapi
Server Details
WOZ values (official Dutch property valuations) for Dutch addresses, one lookup or a whole list.
- Status
- Healthy
- Uptime
- 99.8% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 9 tools
Most tools have clearly distinct resource+action targets (trial, credits, list, balance, prices, lookup). The two payment-link tools (create_credit_payment_link vs create_list_payment_link) and the two start tools (start_trial vs start_address_list) could be momentarily confused, but descriptions clearly separate credits-from-lists and trial-from-list-workflow.
Consistent snake_case verb_noun pattern throughout: add_*, create_*, get_*, lookup_*, start_*. Every name begins with a recognizable action verb followed by a specific resource, making the set predictable.
Nine tools is well-scoped for a WOZ lookup service covering trials, credits, address lists, payments, and pricing. Each tool earns its place with no redundant entries.
The surface covers the full lifecycle: trial start/email, single lookup, list start/status, pricing, balance, and both payment links. Minor gaps exist (no explicit cancel/refund or list-deletion operation), but core agent workflows are covered.
Available Tools
9 toolsadd_trial_emailE-mailadres aan de proef toevoegenAIdempotentInspect
Adds the user's own e-mail address to a trial. The trial grows to 10 addresses in total and the user gets a Wozapi account without a password (they log in with a code sent by e-mail). Only use an address the user typed.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Optional. The user's own e-mail address, only if the user typed it. Never invent one. | ||
| trial_code | Yes | The trial_code from start_trial. Leave empty when the user is signed in to Wozapi or the connection has a Wozapi API key. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover safety flags (readOnlyHint=false, idempotentHint=true, destructiveHint=false); the description adds real behavioral substance: the trial expands to 10 addresses and a passwordless Wozapi account is provisioned with e-mail-code login. That side effect is exactly what an agent needs before invoking a non-read-only 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?
Three short sentences, front-loaded with the action, then the side effect, then the constraint. No filler and each sentence carries distinct 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 mutation with no output schema, the description supplies the account-creation side effect and the user-typed-address restriction. It leaves the trial_code/API-key condition entirely to the schema, which is a minor but real 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 description coverage is 100%, so both parameters are already documented, and the description's e-mail guidance duplicates the schema's 'Never invent one' note. Nothing new is added about trial_code syntax or the API-key case, 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 verb and resource: 'Adds the user's own e-mail address to a trial,' plus the downstream consequence of the trial growing to 10 addresses. The action is unambiguous, though it never names a sibling (e.g. start_trial) to sharpen the boundary.
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?
Gives an explicit constraint — 'Only use an address the user typed' — which functions as a when-not rule and is repeated in the schema. It stops short of routing the agent between this tool and alternatives like start_trial or explaining when trial_code may be omitted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_credit_payment_linkBetaallink voor creditsAIdempotentInspect
Returns a page where the user buys Wozapi credits for single lookups and pays with iDEAL. This tool moves no money. Works when the user is signed in to Wozapi, with the connected API key, or with a trial_code that has the user's e-mail address.
| Name | Required | Description | Default |
|---|---|---|---|
| credits | No | Optional. Number of credits; leave empty for the suggested amount. | |
| trial_code | No | The trial_code from start_trial. Leave empty when the user is signed in to Wozapi or the connection has a Wozapi API key. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true and destructiveHint=false. The description adds meaningful context beyond them: 'This tool moves no money' clarifies that no financial side effect occurs, and the auth prerequisites are spelled out. It does not describe the returned page/URL format, so it stops short of full disclosure.
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?
Three short sentences, front-loaded with the core action and immediately followed by the key caveat ('moves no money') and the auth conditions. No filler, though the auth sentence is 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?
With no output schema, the description carries the return-value burden and does so at a high level ('returns a page'). Auth conditions and the no-money guarantee are covered, but the absence of any mention of the sibling list-payment-link tool leaves the routing decision partly to inference.
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. The description goes slightly beyond the schema by tying trial_code to the requirement that it carries the user's e-mail address and by framing the three mutually exclusive auth paths, which helps the agent decide whether to pass trial_code at all.
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 and resource: it returns a payment page where the user buys Wozapi credits for single lookups via iDEAL. An agent can tell this is a credit top-up link rather than a general payment link, though the sibling create_list_payment_link is never named to sharpen 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 description lists the valid authentication contexts (signed in, connected API key, or a trial_code tied to the user's e-mail), which is real usage context. It does not, however, state when to prefer this tool over create_list_payment_link or what to do when none of those auth conditions hold, so selection guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_list_payment_linkBetaallink voor de lijstAIdempotentInspect
Returns the page where the user reviews the trial and the price of the list and pays with iDEAL. This tool moves no money: payment only happens when the user pays on that page. Optionally stores the user's own e-mail address for delivery of the file and the invoice.
| Name | Required | Description | Default |
|---|---|---|---|
| No | Optional. The user's own e-mail address for delivery of the file and the invoice, only if the user typed it. | ||
| list_token | Yes | The list_token from start_address_list. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false and idempotentHint=true, and the description meaningfully builds on them: 'This tool moves no money: payment only happens when the user pays on that page.' That is exactly the kind of behavioral caveat an agent needs before calling a payment-link creator, and it is not derivable from the annotations alone.
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?
Three short sentences, front-loaded with the primary outcome and followed by the critical 'no money moves' caveat. No filler, though the e-mail sentence largely duplicates the schema and could be trimmed.
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, and the description says only that it 'returns the page' without making clear it is a URL/link the caller must hand to the user. Combined with no stated auth or expiry considerations, the definition is adequate but leaves the return-shape and delivery expectations slightly ambiguous.
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 both parameters (email, list_token) are already fully documented, including the 'only if the user typed it' constraint. The description's mention of the optional e-mail address for file/invoice delivery restates the schema rather than adding format or syntax detail, 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 states a specific outcome: it returns the page where the user reviews trial/price and pays with iDEAL, which is more than a restatement of the name. It distinguishes itself from the credit-payment sibling only implicitly via 'the list' versus 'credit', so an agent must infer the split from the tool names rather than the text.
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 (create a payment page for a list, with the list_token coming from start_address_list), but there is no explicit when-to-use, when-not-to-use, or named alternative such as create_credit_payment_link. The agent can infer the context but is not steered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_account_balanceSaldo bekijkenARead-onlyIdempotentInspect
Returns the remaining credits of the user's own Wozapi account. Needs the user to be signed in to Wozapi, or a Wozapi API key on the connection; when neither is there, the client asks the user to sign in first. Read-only and free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds genuinely new context beyond them: the auth requirement (signed-in user or API key) and that the call is 'free' – i.e. consumes no credits, which is non-obvious and relevant on a credit-centric API.
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?
Three tight sentences with the purpose front-loaded, then prerequisites, then the read-only/free note. Each sentence earns its place, though the auth sentence is slightly wordy.
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 zero-param, no-output-schema tool, the description covers what it returns ('remaining credits'), the auth prerequisites, and the cost profile. Only the concrete return shape (numeric balance vs. a structure) is left implicit, 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?
There are zero parameters, so by the stated rule the baseline is 4. The description correctly does not invent parameter details, and nothing about parameter meaning is missing.
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 and resource ('Returns the remaining credits') and scopes it precisely to 'the user's own Wozapi account', which distinguishes it from siblings dealing with payments, prices, addresses, or trials. An agent knows immediately this is the balance-read tool.
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 is callable and what happens when prerequisites are unmet ('when neither is there, the client asks the user to sign in first'). It doesn't name alternative tools, but no sibling overlaps in function, so there is little to disambiguate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_address_listAdreslijst bekijkenARead-onlyIdempotentInspect
Returns the status of an address list: trial rows, number of addresses found, price, payment link, progress, and after payment the result rows (at most 50 per call; use offset for more) and a download link for the Excel file. Can wait up to 20 seconds for the trial or the processing to finish.
| Name | Required | Description | Default |
|---|---|---|---|
| offset | No | Optional. First result row to return after delivery, starting at 0. | |
| list_token | Yes | The list_token from start_address_list. | |
| wait_seconds | No | Optional. Seconds to wait for a change while the trial or the processing runs, 0 to 20. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds genuinely new behavioral facts beyond the annotations: a hard cap of 50 result rows per call with offset-based paging, and a bounded 20-second blocking wait during trial/processing.
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 dense sentences with the return payload front-loaded and the operational constraints (row cap, offset, wait) appended. Every clause carries information, though the enumeration of return fields makes the first sentence long.
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-value burden, and it does: it lists the returned fields, the pagination cap, the download link, and the blocking-wait semantics. Nothing an agent needs to call and interpret this read-only tool 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 coverage is 100%, so all three parameters are documented in the schema, giving a baseline of 3. The description adds meaning beyond the schema by disclosing the 50-row-per-call cap that motivates offset, and by tying wait_seconds to the trial/processing lifecycle.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (returns the status of) and resource (an address list), then enumerates exactly what status fields come back: trial rows, address count, price, payment link, progress, result rows, and Excel download link. The reference to 'list_token from start_address_list' implicitly distinguishes it from the sibling that creates lists.
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 note that it 'can wait up to 20 seconds for the trial or the processing to finish' implies a polling pattern after start_address_list, but the description never states when to call this versus the sibling tools or what to do if the list is still not ready. Usage is implied rather than specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pricesPrijzen bekijkenARead-onlyIdempotentInspect
Returns Wozapi prices: credits for single lookups by quantity, the price of an address list by size, and the trial terms. Read-only and free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description still adds real value by calling out that the call is 'free' — meaningful for a tool whose subject matter is credit consumption — and implies no side effects on the account.
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 tight sentence that front-loads the resource and then enumerates the three pricing categories, with the cost/safety qualifier last. 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?
With no output schema, the description does the work of naming what is returned (three pricing components), which is adequate for a zero-param read tool. Exact response shape and currency/format details are left unspecified, a minor gap for an informational 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?
The tool takes zero parameters, so the baseline is 4. There is nothing param-related the description could add or omit.
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 and resource (returns Wozapi prices) and enumerates exactly what pricing is covered: per-credit lookup pricing by quantity, address-list pricing by size, and trial terms. This is clearly distinguishable from siblings like get_account_balance (balance, not prices) and create_credit_payment_link (a mutation, not a read).
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 usage by noting it is 'read-only and free', which tells the agent it is safe to call without cost, but it never says when to call this instead of get_account_balance or the payment-link tools. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_woz_valueWOZ-waarde opvragenAIdempotentInspect
Returns the WOZ values of one Dutch address for all available years, with the address as matched. Costs one trial address or one credit per unique address; the same address again within 7 days, an answer without WOZ values and an error cost nothing. For questions about properties, not to assess or profile people. Needs a trial_code unless the user is signed in to Wozapi or the connection has a Wozapi API key.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | A full Dutch address with house number and postcode or city, for example 'Spuistraat 36C, 1012 TT Amsterdam'. | |
| trial_code | No | The trial_code from start_trial. Leave empty when the user is signed in to Wozapi or the connection has a Wozapi API key. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by disclosing the billing model: one trial address or one credit per unique address, no charge for repeat lookups within 7 days, empty answers, or errors. It also states the authentication requirement (trial_code unless signed in or an API key is configured), which the annotations do not cover.
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-loads what is returned, then the cost model, then the eligibility caveat, with no filler. The middle sentence is dense and carries several clauses, but every clause conveys distinct billing or usage 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 lookup with no output schema, the description covers return content ('WOZ values ... for all available years'), the matched-address caveat, cost, and auth. It does not sketch the shape of the returned value beyond 'values', which is a minor gap given no output schema exists.
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 both parameters are already documented with format examples and the trial_code fallback rule. The description reinforces the trial_code condition but adds no syntax or meaning the schema lacks, 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?
States a specific verb and resource ('Returns the WOZ values of one Dutch address for all available years') and pins down scope ('with the address as matched'). This is unmistakably the data-lookup tool among siblings that otherwise deal with trials, payments, balances, and address lists.
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?
Gives a clear usage boundary ('For questions about properties, not to assess or profile people') and the cost/eligibility conditions, including when calls are free. It stops short of naming alternatives, though no sibling performs the same lookup, so there is little to route against.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_address_listAdreslijst startenAIdempotentInspect
Starts WOZ lookups for a whole list of Dutch addresses, for example from a spreadsheet the user shared. Runs a free trial on 5 addresses, then gives the price of the full list and a payment page for the user. Returns a list_token for get_address_list. Sending the same list again within an hour returns the same list.
| Name | Required | Description | Default |
|---|---|---|---|
| No | Optional. The user's own e-mail address for delivery of the file and the invoice, only if the user typed it. | ||
| place | No | Optional. The city for all addresses that have no postcode or city. | |
| addresses | Yes | The addresses, one string per row in the original order, each with house number and postcode or city. | |
| trial_code | No | The trial_code from start_trial. Leave empty when the user is signed in to Wozapi or the connection has a Wozapi API key. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already covering safety and idempotency, the description adds the billing reality: a free trial on 5 addresses, then a price and a payment page. It also sharpens idempotentHint=true into a concrete one-hour window and shows the return handle (list_token). This is the kind of behavior an agent must know before calling.
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?
Three sentences, no waste. It leads with purpose, then the trial/pricing flow, then the token and dedup window — a sensible front-loading for an agent deciding whether to call.
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?
No output schema exists, yet the description supplies the essential return value (list_token) and the next tool to use, plus the pricing/trial sequence and the dedup window. Nothing critical is missing for correct 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 description coverage is 100%, so the schema already explains all four parameters. The description adds only weak connective context (list originates from a spreadsheet; addresses include house number plus postcode or city), which is baseline-level for a fully documented 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?
Specific verb+resource: 'Starts WOZ lookups for a whole list of Dutch addresses.' It distinguishes itself from the sibling lookup_woz_value (single address) by stating it operates on a whole list, and from get_address_list by naming the token it hands off.
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?
Gives a triggering context ('a spreadsheet the user shared') and tells the agent where the flow continues (list_token for get_address_list). It does not explicitly state when to prefer lookup_woz_value for a single address, so it is clear but not fully routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_trialGratis proef startenAInspect
Starts a free Wozapi trial without an account and returns a trial_code. The trial covers WOZ value lookups for 5 unique Dutch addresses, or 10 when the user's own e-mail address is given. Pass the trial_code to lookup_woz_value and start_address_list. Call it once per conversation, and not when the user is signed in to Wozapi or the connection already has a Wozapi API key.
| Name | Required | Description | Default |
|---|---|---|---|
| No | Optional. The user's own e-mail address, only if the user typed it. Never invent one. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the mutation profile (non-readonly, non-idempotent, non-destructive); the description adds substantive behavior beyond that: the returned trial_code, the quota semantics (5 unique Dutch addresses, 10 with the user's own e-mail), the once-per-conversation limit, and the two preconditions that suppress the call entirely.
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?
Three dense sentences, front-loaded with purpose, then limits, then routing and exclusions. No filler and nothing restated from the title or 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?
There is no output schema, so the description carries the return-value burden and does so by naming trial_code and telling the agent exactly which tools consume it. Combined with the quota and precondition details, an agent has everything needed to call this 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 schema already says the e-mail is optional and must not be invented, so the baseline is 3. The description adds real meaning the schema does not: supplying the user's own e-mail doubles the address quota from 5 to 10, which explains why the agent should surface the option.
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 (starts), resource (free Wozapi trial), and output (returns a trial_code) in the first sentence. It is clearly distinguishable from siblings like add_trial_email, create_credit_payment_link, and lookup_woz_value, which are all downstream or parallel concerns.
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?
Gives explicit when-to-use routing (pass trial_code to lookup_woz_value and start_address_list) and explicit when-not conditions (once per conversation, not when the user is signed in, not when the connection already has a Wozapi API key). This is about as complete as usage guidance gets.
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.
4 tool updates
- Changed
add_trial_email1 field changed- changed
Input schema / properties / trial_code / descriptionPrevious value: -"The trial_code from start_trial. Leave empty when the user is signed in to WozApi or the connection has a WozApi API key."New value: +"The trial_code from start_trial. Leave empty when the user is signed in to Wozapi or the connection has a Wozapi API key."
- Changed
create_credit_payment_link1 field changed- changed
Input schema / properties / trial_code / descriptionPrevious value: -"The trial_code from start_trial. Leave empty when the user is signed in to WozApi or the connection has a WozApi API key."New value: +"The trial_code from start_trial. Leave empty when the user is signed in to Wozapi or the connection has a Wozapi API key."
- Changed
lookup_woz_value1 field changed- changed
Input schema / properties / trial_code / descriptionPrevious value: -"The trial_code from start_trial. Leave empty when the user is signed in to WozApi or the connection has a WozApi API key."New value: +"The trial_code from start_trial. Leave empty when the user is signed in to Wozapi or the connection has a Wozapi API key."
- Changed
start_address_list1 field changed- changed
Input schema / properties / trial_code / descriptionPrevious value: -"The trial_code from start_trial. Leave empty when the user is signed in to WozApi or the connection has a WozApi API key."New value: +"The trial_code from start_trial. Leave empty when the user is signed in to Wozapi or the connection has a Wozapi API key."
9 tool updates
- First observed
add_trial_email - First observed
create_credit_payment_link - First observed
create_list_payment_link - First observed
get_account_balance - First observed
get_address_list - First observed
get_prices - First observed
lookup_woz_value - First observed
start_address_list - First observed
start_trial
Related MCP Connectors
Dutch addresses, neighbourhoods, crime, flood risk, rent check, schools and home prices.
Dutch address dossier, vehicle, building, elevation, holidays, demographics. Free samples first.
Dutch address data for AI assistants: BAG building facts, energy labels, reviewed crime signals.
Danish address & property lookup: BBR, Matriklen, DAR, CVR. A DAWA/Datafordeler-compatible source.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables querying Dutch property context for an address, returning building, energy, neighborhood, environment, heritage, and school data from public registers, with explicit match verification and signals.MIT
- AlicenseAqualityAmaintenanceEnables AI assistants to check the monumental status of Dutch addresses by converting them to BAG identifiers and looking up national monuments, protected cityscapes, and municipal monuments.22MIT

GetApi MCP Serverofficial
AlicenseCqualityBmaintenanceEnables AI clients to call a broad set of Dutch data and validation API endpoints as tools, including address, postcode, IP, DNS, IBAN/VAT, vehicle, and property lookups, with secure API-key handling and automatic tool-list updates.30MIT- AlicenseAqualityDmaintenanceProvides access to Dutch weather data (current conditions, forecasts, alerts, and historical data) via the KNMI API, with automatic location name resolution for Dutch cities.116 npm1Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.