payotte-mcp
Server Details
Verified Canadian real-estate pros + housing data: rates, transfer tax, rent-vs-buy, QC assessments.
- Status
- Healthy
- Uptime
- 100.0% over 79 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- Payotte-com/payotte-mcp
- GitHub Stars
- 0
- Server Listing
- payotte-mcp
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 88 tools
Most tools are country-scoped and purpose-specific, and the descriptions clearly separate calculators (purchase costs, mortgage payments, taxes), guides, market statistics and professional checks. There are a few overlaps, notably between taxe_mutation and taxe_bienvenue_adresse for Canadian transfer tax, and between generic guide_XX tools and specialised calculators, but these are mostly resolvable from the descriptions.
The set mixes English and French naming and uses several different vocabularies for the same concept across countries: purchase_costs_*, purchase_duty_au, purchase_tax_uk, frais_notaire_fr, stamp_duty_in, closing_costs_us and taxe_mutation. Country suffixes are also uneven: Canada tools often lack _ca, France only sometimes uses _fr, while guide_XX is more consistent. It is readable but not predictable.
With 88 tools, the surface is far beyond a well-scoped set and contains many country-specific near-variants of the same calculator. Even if each tool earns a place in Payotte's product, this count is an extreme mismatch for an MCP server and makes navigation and selection costly.
Coverage is broad across many countries and includes guides, purchase taxes, prices, mortgage calculators, professional checks and comparison tools. However it is uneven: France lacks a guide_fr and mortgage_payment_fr, Canada lacks a guide_ca and a unified purchase-cost tool, and several countries (Australia, UK, Belgium) lack mortgage-payment or closing-cost calculators. Some gaps can be worked around via guide_XX, but not all.
Available Tools
88 toolsacheter_ou_louerAcheter ou louer ? / Rent vs buy in a cityARead-onlyIdempotentInspect
Call this when the user wonders whether to rent or buy in a Canadian city. Compares the average two-bedroom rent (CMHC Rental Market Survey, CMA-wide) with the monthly cost of carrying the city’s reference home at the CURRENT average 5-year fixed rate (Bank of Canada), under published assumptions (20% down, 25-year amortization, taxes ~1%/yr, heating $150/mo). Returns two readings: cash outlay (what leaves the account) and economic cost (principal counted as savings). Only cities inside a CMHC-covered metro have rent data.
| Name | Required | Description | Default |
|---|---|---|---|
| ville | Yes | City, e.g. "Montréal", "Toronto", "Winnipeg". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (read-only, idempotent, closed-world), and the description goes well beyond them: it names the data sources (CMHC RMS, Bank of Canada), lists the calculation assumptions (20% down, 25-year amortization, ~1%/yr taxes, $150/mo heating), and explains the two distinct output readings. This is rich behavioral 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?
Front-loaded with the usage trigger, then data sources, assumptions, return shape, and limitation in dense but non-redundant sentences. Every 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?
With no output schema, the description carries the return-value burden and does so by describing the two readings (cash outlay vs. economic cost) and the coverage limitation. Nothing an agent needs to call or interpret the 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% with a single required "ville" parameter, so the schema already documents the input. The description adds nothing syntactic about the parameter, which is the correct baseline when the schema does the work.
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 decision-support purpose (rent vs. buy in a Canadian city) with the exact quantities compared — CMHC two-bedroom rent vs. carrying cost of the reference home. This clearly distinguishes it from data-only siblings like taux_courants and stats_marche.
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?
"Call this when the user wonders whether to rent or buy in a Canadian city" gives explicit triggering context, and the trailing note about CMHC-covered metros implies when the tool will not apply. It stops short of naming a sibling alternative for related questions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
attorney_at_closing_usIs an attorney required at closing? (US, by state)ARead-onlyIdempotentInspect
UNITED STATES. Whether a real estate attorney is required at closing in a state (required, partly required, customary, not required), the statute, bar opinion or court ruling behind it, and who usually conducts closings (attorney, title or escrow company).
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | US state: any of the 50 states, by name or two-letter code (e.g. "Texas", "TX"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already grant readOnly, idempotent, non-destructive and closed-world status, so the safety profile is fully covered. The description adds real value beyond that: it specifies the answer taxonomy, the evidentiary basis returned (statute, bar opinion, court ruling), and the practical detail of who conducts closings.
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, front-loaded with the jurisdiction and the core question. Every clause carries information (classification, legal source, practitioner), though the parenthetical enumerations make it slightly heavy.
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 correctly compensates by describing what comes back: the requirement level, the underlying legal authority, and who typically conducts the closing. An agent has enough to know the answer shape; only pagination/format detail is absent, which is irrelevant for a single-state 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?
Only one parameter, and the schema already documents it at 100% coverage including accepted formats (name or two-letter code). The description adds no extra parameter semantics, 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 question-resource pair (attorney requirement at closing) scoped precisely to the United States and broken down by state. The enumerated answer categories (required / partly required / customary / not required) make it trivially distinguishable from siblings like closing_costs_us or title_insurance_us.
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 clear what domain this lookup covers (US closing attorney requirements by state), which implies when it applies, but it never names an alternative tool or states a when-not condition. No prerequisite or routing guidance is given despite several adjacent US closing tools in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
borrowing_capacity_beBelgian borrowing capacity and maximum home priceARead-onlyIdempotentInspect
BELGIUM. From a net monthly income, computes the capital a fixed-rate loan allows and the highest home price once the Region's purchase costs are paid. Belgium has no legal debt-to-income rule: the share of income (default 33%) and the rate (default 3.5%) are example assumptions you can change. As on payotte.com/belgium/borrowing-capacity (FR: /belgique/capacite-emprunt, NL: /belgie/leencapaciteit).
| Name | Required | Description | Default |
|---|---|---|---|
| years | No | Loan term in years, 1 to 30 (default 25). | |
| region | No | Region of the home. Registration duties are regional. May be omitted if municipality is given. | |
| own_funds | No | Own funds (savings) in euros (default 0). | |
| sole_home | No | Sole and own home (you will live there and own no other home). Default true. False = normal rates. | |
| municipality | No | Optional: a municipality Payotte covers (e.g. "Liège", "Gent", "Ixelles"), used to find the Region when region is omitted. | |
| monthly_credits | No | Other monthly credit repayments, in euros (default 0). | |
| interest_rate_pct | No | Annual interest rate in percent (default 3.5). | |
| net_monthly_income | Yes | Household net income per month, in euros. | |
| share_of_income_pct | No | Share of that income going to the loan, in percent (default 33). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a safe, idempotent read, so the bar is lower; the description still adds real behaviour: Belgium has no legal debt-to-income rule, the 33% share and 3.5% rate are example assumptions the caller may change, and results depend on regional purchase costs. It does not say whether unsupported municipalities raise or silently default.
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 the country scope and the core computation in the first sentence, with the modelling caveat second. The trailing URL/alternate-language references are padding for an agent but do establish provenance, so not a full 5.
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 says what is returned (achievable capital and highest home price) and anchors it to a real-world calculator. Combined with 100% parameter coverage and safe read annotations, an agent has everything needed to call and interpret it.
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 documents all nine parameters with defaults and ranges, making 3 the correct baseline. The description reinforces that share_of_income_pct and interest_rate_pct are adjustable example defaults and links region to purchase costs, but adds no format or constraint detail 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 a specific computation (capital a fixed-rate loan allows, plus the maximum home price net of regional purchase costs) from a single named input, which clearly separates it from cost tools like purchase_costs_be or price tools like house_prices_be. It stops short of explicitly naming a sibling to route the agent to.
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 income-in / capacity-out framing, but there is no explicit 'use this when...' or 'use X instead when...' guidance against the many neighbouring tools (purchase_costs_be, compare_regions_be, house_prices_be). The caveat about assumptions is context, not routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
capital_gains_tax_brBrazilian capital gains tax on selling a homeARead-onlyIdempotentInspect
BRAZIL. Income tax on the gain from selling a home: non-residents computed in full (15% to 22.5% by band, 25% in a listed low-tax jurisdiction, withheld by the buyer); residents: exemptions tested, tax as an upper limit before the FR1/FR2 reduction factors. Purchases before 1996 not computed.
| Name | Required | Description | Default |
|---|---|---|---|
| seller | No | ||
| reinvested | No | Resident: amount reinvested in a home in Brazil within 180 days. | |
| sale_price | Yes | ||
| only_property | No | Resident: only property owned, no sale in five years. | |
| purchase_cost | Yes | Documented cost in reais. | |
| purchase_year | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds substantial domain behavior beyond them: the 15%–22.5% banded rates, the 25% low-tax-jurisdiction rate, buyer withholding, resident exemption testing, and the FR1/FR2 reduction factors. The pre-1996 exclusion is a concrete boundary the structured fields do not express.
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 jurisdiction and purpose, then compresses the resident/non-resident branches into a single dense sentence with no filler. It is slightly over-packed: unexplained tokens like 'FR1/FR2' and 'upper limit' cost the reader without adding selection value.
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 6-parameter calculator with no output schema, the description covers the key domain mechanics (rates, withholding, exemptions, cutoff year) so an agent can judge applicability. Gaps remain around the default when the optional seller is omitted and around what the calculation returns, but the core is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%, and the description partially compensates by explaining the seller enum branches and the resident exemption/lower-bound mechanics that underlie reinvested and only_property. However, it never maps meaning onto the bare required fields (sale_price, purchase_cost, purchase_year) and the FR1/FR2 reference is unexplained jargon, so half the parameters remain under-specified.
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 (income tax on the gain from selling a home) and immediately scopes it by jurisdiction (BRAZIL) and seller class (resident vs non-resident). An agent can distinguish it from siblings like purchase_costs_br or transfer_tax_us without opening the 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?
Gives clear conditions for each branch: non-residents are 'computed in full' with buyer withholding, residents get 'exemptions tested' with the FR1/FR2 reduction factors, and purchases before 1996 are explicitly out of scope. It never names a sibling alternative to use instead, so it stops short of full when/when-not routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_professional_auWho regulates an Australian property professional, and where to check oneARead-onlyIdempotentInspect
AUSTRALIA. For a real estate agent, mortgage broker, conveyancer, building inspector or property valuer: the state regulators or registers, what they cover, and where the reader checks a licence. Payotte lists no Australian professional yet.
| Name | Required | Description | Default |
|---|---|---|---|
| trade | Yes | real estate agent, mortgage broker, conveyancer, building inspector or property valuer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorld=false, so safety is covered. The description adds real behavioral value by disclosing what the reader gets back (state regulators or registers, what they cover, where to check a licence) and that no Australian professional records exist in the directory.
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, jurisdiction flag front-loaded, zero filler, and the caveat about missing Australian professionals placed at the end where it reads as a boundary condition.
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 has to carry return semantics, and it does describe the kind of content returned. For a one-parameter informational lookup with full annotation coverage, this is nearly complete; only the exact output shape is left vague.
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 'trade' parameter is fully documented in the schema. The description merely restates the same list of trades, adding no syntax, format, or matching guidance beyond it, 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 (Australian state regulators/registers for property professionals) and scopes it by trade, and the 'AUSTRALIA.' prefix separates it from check_professional_uk/in and verify_license_us. The name suggests checking a professional while the description clarifies it only points to where a licence is checked, a minor mismatch.
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?
Implies usage by enumerating the covered trades and noting 'Payotte lists no Australian professional yet', which effectively says you cannot look up a specific person here. It never names an alternative tool or states an explicit when-not beyond that.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_professional_beWho regulates a Belgian property professional, and where to check oneARead-onlyIdempotentInspect
BELGIUM. For an estate agent, mortgage (credit) broker, notary, land surveyor or EPB/EPC energy assessor: the regulatory body or register, what the title means and where the reader checks it (IPI/BIV, FSMA, notaire.be, the surveyors' Order, the Walloon energy administration). Names no professional.
| Name | Required | Description | Default |
|---|---|---|---|
| trade | Yes | estate agent, mortgage broker, notary, surveyor or EPB assessor (French and Dutch names accepted). | |
| language | No | Language of the page to return (default en). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a safe, read-only, idempotent, closed-world lookup, so the safety profile is covered. The description adds real behavioral context beyond that: it discloses that no individual professional is named, and that the payload is regulator/register plus title meaning — a scoping disclosure the annotations cannot express.
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 but front-loaded sentence: country marker first, then trades, then output content, then the negative scope clause. No filler, though the parenthetical register list is heavy and slightly slows 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?
With only two parameters, full schema coverage, and annotations carrying the safety profile, the description supplies enough to call it correctly, and the 'names no professional' clause pre-empts a likely misunderstanding about return content. An output schema is absent, but the description sketches what is returned, which is adequate 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 description coverage is 100%, so the 'trade' and 'language' parameters (including the fr/nl acceptance and enum) are already documented in the schema. The description reinforces the trade list but adds no syntax, format, or constraint detail beyond it, 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?
Names a specific scope (BELGIUM), enumerates the exact trades covered, and states the concrete output — the regulatory body or register, what the title means, and where a check is made. The country prefix and the 'names no professional' clause clearly separate it from the check_professional_XX siblings and from directory tools like trouver_professionnel_fr.
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 listed trades and registers, but there is no explicit 'use this when…' or exclusion directing the agent away from verifier_titre or trouver_professionnel_fr. The agent must infer that this is a routing/regulator-lookup tool rather than a verification or directory tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_professional_brWho regulates a Brazilian property professional, and where to check oneBRead-onlyIdempotentInspect
BRAZIL. For a real estate broker (CRECI), property appraiser (CNAI, CREA/CAU), architect or engineer (CAU, CREA), mortgage lender (Banco Central) or property lawyer (OAB): where the reader checks a registration. Payotte lists no Brazilian professional yet, and never lists lawyers or lenders.
| Name | Required | Description | Default |
|---|---|---|---|
| trade | Yes | real estate broker, property appraiser, architect or engineer, mortgage lender, property lawyer. |
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 useful behavioral context about coverage (no Brazilian professionals listed; lawyers and lenders never listed), but it never explains what the response actually contains or where the 'checking' occurs.
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 with the country scope front-loaded and no filler. The first sentence is dense but packs the trade-to-regulator mapping efficiently; the second sentence earns its place by setting coverage boundaries.
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 only partially discharges it: it conveys the regulators per trade but not the shape of the answer (a body name, a URL, a lookup instruction). For a one-parameter read-only lookup that is borderline adequate, but an agent cannot predict the response.
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 single 'trade' parameter is already fully documented with the same value list. The description restates the values and maps each to a regulator (CRECI, CNAI, CREA/CAU, Banco Central, OAB), but that mapping is output content rather than added input meaning, 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 states a specific resource (Brazilian property professionals) and function (where a registration is checked), opening with 'BRAZIL.' so it is clearly distinguishable from the many check_professional_XX siblings. It also clarifies what the tool is not (a listing of professionals). It stops short of naming a sibling tool, and the deliverable ('where the reader checks a registration') is phrased indirectly.
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 trade list and the note that Payotte 'lists no Brazilian professional yet, and never lists lawyers or lenders' imply when the tool applies and its coverage limits. However, no alternative tool is named and no explicit when-to-use/when-not instruction is given relative to siblings like verify_license_us or trouver_professionnel_fr.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_professional_deWho regulates a German property professional, and where to check oneARead-onlyIdempotentInspect
GERMANY. For a real estate agent (§ 34c GewO permit, no public register), mortgage broker (§ 34i, DIHK register), property valuer (public appointment), architect (state chambers) or notary (public office): where the reader checks. Payotte lists no German firm yet and never lists notaries.
| Name | Required | Description | Default |
|---|---|---|---|
| trade | Yes | real estate agent, mortgage broker, property valuer, architect or notary. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (read-only, idempotent, non-destructive, closed-world). Beyond that, the description adds genuinely useful context an agent can't get elsewhere: which register (or lack of one) applies per trade, and the firm-listing/notary limitation. It does not describe the return shape, keeping it shy of a 5.
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, front-loaded with the country scope so the agent screens on it immediately. The parenthetical regulatory references are compact rather than wasteful, though the sentence carries a lot of parenthetical load.
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 with no output schema, the description supplies the country scope, the covered trades, and the notable limitations. Nothing essential for correct invocation is missing, though it could state more explicitly how the result should be used.
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 enumerates the five acceptable trade values, so the description's trade list largely repeats it. The § references and register names add marginal interpretive value, but the parameter itself needs no further explanation. Baseline 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?
States a specific verb and resource — telling the reader where to verify a German property professional — and maps it to the exact five trades it covers, each with its regulatory hook (§ 34c GewO, § 34i DIHK, public appointment, state chambers, public office). The leading "GERMANY" plus the trade list cleanly separates it from its check_professional_XX siblings.
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 clear usage context by enumerating which trades it applies to and, importantly, sets exclusions: no German firm is currently listed and notaries are never covered. It stops short of explicitly naming alternative siblings (e.g. check_professional_uk or trouver_expert) or the when-not-to-use case, 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.
check_professional_esWho regulates a Spanish property professional, and where to check oneARead-onlyIdempotentInspect
SPAIN. For a real estate agent (regional registers), property valuer (Banco de España), architect (colegios), mortgage lender (Banco de España) or property lawyer (bar associations): where the reader checks. Payotte lists no Spanish professional yet and never lists lawyers.
| Name | Required | Description | Default |
|---|---|---|---|
| trade | Yes | real estate agent, property valuer, architect, mortgage lender or property lawyer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds genuinely new scope context — that this returns regulator/register information rather than professional listings, and that lawyers are never listed — which prevents a wrong expectation about the output.
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 country scope, and the trade→regulator mapping is packed densely with no filler. The elliptical 'where the reader checks' phrasing costs a little clarity 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?
With no output schema, the description must carry the return contract; it conveys that the answer is regulator/register guidance per trade, which is adequate for a one-parameter lookup. It stops short of saying whether concrete body names or URLs are returned, 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% for the single required 'trade' parameter, so the baseline would be 3. The description goes beyond the schema by mapping each trade value to its specific regulator (regional registers, Banco de España, colegios, bar associations), which clarifies what each accepted value actually retrieves.
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 resource (the regulator/register to check for each Spanish property trade) and enumerates the trades it covers, so an agent knows exactly what it returns. It signals 'SPAIN' but never names the sibling check_professional_au/br/in/mx/uk tools it is parallel to, leaving the country differentiation implicit in the name alone.
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: use it to find which body regulates a given Spanish trade. The caveat 'Payotte lists no Spanish professional yet and never lists lawyers' is a useful when-not-to-expect-listing signal, but it never names an alternative (e.g. trouver_expert, contacter_expert) or states when to prefer those over this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_professional_inWho regulates an Indian property professional, and where to check oneBRead-onlyIdempotentInspect
INDIA. For a real estate agent (state RERA), registered valuer (IBBI), architect (Council of Architecture), home loan lender (RBI) or property lawyer (State Bar Council): where the reader checks a registration. Payotte lists no Indian professional yet and never lists lawyers.
| Name | Required | Description | Default |
|---|---|---|---|
| trade | Yes | real estate agent, registered valuer, architect, home loan lender or property lawyer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safe read profile (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint=false). The description adds a genuine dataset caveat — no Indian professionals are currently listed and lawyers are never listed — which is useful behavioural context beyond the annotations. It does not say whether a regulator link, name, or contact detail is produced, so disclosure remains partial.
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 country qualifier and then a compact value-to-regulator list — no padding. The trailing 'Payotte' sentence introduces an unglossed brand name that slightly muddies the close.
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 should make clear what comes back (regulator name, verification URL, procedure). It only gestures at 'where the reader checks a registration', leaving the response shape ambiguous, though parameter meaning and scope exclusions are covered.
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 sole enum-less 'trade' parameter is already documented with the same five values. The description pairs each value with its regulator (agent→state RERA, valuer→IBBI, etc.), which adds meaning about what a given value yields, but it does not help with spelling, casing, or accepted synonyms for the parameter. Baseline 3 is warranted.
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 domain and resource: an India-only mapping from property profession (agent, valuer, architect, lender, lawyer) to the body that regulates it (state RERA, IBBI, Council of Architecture, RBI, State Bar Council). The 'INDIA.' prefix cleanly separates it from check_professional_au and check_professional_uk. The phrasing 'where the reader checks a registration' is slightly oblique about what is actually returned, 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?
The description implies usage (pick a trade to learn its regulator) and hedges scope with 'Payotte lists no Indian professional yet and never lists lawyers', which is a soft exclusion about expected results. It never states when to call this instead of siblings such as guide_in, verify_license_us, or trouver_professionnel_fr, so routing 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.
check_professional_itWho regulates an Italian property professional, and where to check oneARead-onlyIdempotentInspect
ITALY. For a real estate agent (Registro Imprese / REA), mortgage broker (OAM lists), surveyor (geometri register), architect (Albo Unico Nazionale) or notary (public office, Albo Unico): where the reader checks. Payotte lists no Italian firm yet and never lists notaries.
| Name | Required | Description | Default |
|---|---|---|---|
| trade | Yes | real estate agent, mortgage broker, surveyor, architect or notary. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld=false and non-destructive, so the safety bar is low. The description adds genuinely new behavior context: the tool points to external registers rather than listing firms, and it will never return notaries. That is exactly the kind of coverage limitation an agent needs 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?
A single dense paragraph front-loaded with the country scoping and closing with the coverage caveat. Almost every clause earns its place, though the parenthetical register lists make it read more like reference notes than a front-loaded 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 one-parameter, no-output-schema lookup tool, the description conveys both what will be returned (where to check, per trade) and what will not (no firm listings, no notaries). Combined with the annotations, an agent has enough to invoke it correctly; only explicit sibling routing 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?
With one parameter and 100% schema description coverage, the schema already documents 'trade' and its five values. The description restates those values and maps each to its register (Registro Imprese/REA, OAM, geometri, Albo Unico), which is modest added meaning, but nothing about format or validation is supplied 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 concrete resource (the regulator/register for each Italian property trade) and scopes itself to Italy with the 'ITALY.' prefix, which separates it from the check_professional_* sibling family. The action is expressed indirectly ('where the reader checks') rather than as a crisp verb, but an agent can still tell what the tool returns.
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: use this when you need the Italian regulator/register for one of five trades. The closing note that 'Payotte lists no Italian firm yet and never lists notaries' functions as a partial when-not signal, but there is no explicit routing to alternatives such as trouver_professionnel_fr or verify_license_us.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_professional_mxWho regulates a Mexican property professional, and where to check oneARead-onlyIdempotentInspect
MEXICO. For a real estate agent (state licence where one exists), appraiser (SHF register), mortgage lender (CNBV, CONDUSEF), notary (appointed by the state) or real estate lawyer (cédula profesional): where the reader checks. Payotte lists no Mexican professional yet and never lists notaries or lawyers.
| Name | Required | Description | Default |
|---|---|---|---|
| trade | Yes | real estate agent, appraiser, mortgage lender, notary or real estate lawyer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so safety is covered. The description adds a genuinely non-obvious behavioral fact: it returns regulator references and never produces listings for notaries or lawyers. It stops short of describing the return shape (names vs. URLs), so not a 5.
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 short sentences, front-loaded with 'MEXICO' and the trade-to-regulator mapping. Efficient, though the closing clause about notaries/lawyers is wedged in and could be cleaner.
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, no-output-schema reference tool the description covers who regulates each trade and the important negative (no listings). It does not describe the form of the answer, 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 there is only one parameter, so the schema already carries the trade description. The description restates the same five trade values, adding no format or validation 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?
States a specific resource (regulator/where-to-check for each Mexican property trade) with an explicit country marker, so it is clearly distinguishable from the sibling check_professional_au/br/es/in/uk tools. The phrasing 'where the reader checks' is slightly indirect about what the tool actually returns, keeping it short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The sentence 'Payotte lists no Mexican professional yet and never lists notaries or lawyers' usefully signals that this is a regulator-reference tool rather than a directory lookup. However, no alternative tool is named for actually finding a professional (e.g. trouver_expert/contacter_expert), so usage is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_professional_ukWho regulates a UK property professional, and where to check oneARead-onlyIdempotentInspect
UNITED KINGDOM. For an estate agent, mortgage adviser, conveyancer, surveyor or valuer: the regulator or register, what it covers, and where the reader checks a firm (FCA Register, SRA, CLC, Law Society, RICS, redress schemes). Payotte lists one selected firm per trade in 20 UK areas (payotte.com/uk/areas).
| Name | Required | Description | Default |
|---|---|---|---|
| trade | Yes | estate agent, mortgage adviser, conveyancer, surveyor or valuer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety and closed-world profile is fully covered structurally. The description adds content-scope context by naming the specific registers returned (FCA Register, SRA, CLC, Law Society, RICS, redress schemes), but says nothing about freshness, whether it reflects live registration status, or result format.
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 the jurisdiction and packs the core content into one dense sentence. The second sentence about Payotte's one-firm-per-trade coverage in 20 UK areas is somewhat tangential to the tool's regulatory purpose but does bound the data source, so it earns partial keep.
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 one required parameter, 100% schema coverage and no output schema, the description does the needed work by enumerating what the reader gets back (regulator, coverage, where to check). It is adequately complete; the only gap is not clarifying the return shape (e.g. a per-trade list of bodies) now that 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%: the single 'trade' parameter is documented in the schema with the same enumerable list the description repeats. There is no enum constraint, so the description's restatement of valid trades is redundant rather than additive. Baseline 3 is appropriate when the schema carries the parameter documentation.
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 the resource (UK property professional regulation), the trades covered (estate agent, mortgage adviser, conveyancer, surveyor, valuer) and the output content (regulator/register, coverage, where to check). The 'check_professional_X' naming pattern plus the UNITED KINGDOM prefix distinguishes it from the AU/BE/BR/DE/ES/IN/IT/MX siblings. Minor ambiguity: it reads as a static regulator lookup rather than verification of a named individual, and the verb 'check' is not fully disambiguated from that sense.
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 country in the name and the trade-scoped parameter, but the description never states when to use this versus alternatives such as verify_license_us or trouver_professionnel_fr, nor any exclusions. The trailing sentence about Payotte listings is scope information rather than routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
closing_costs_mxMexican property acquisition tax and recording fee, by municipalityARead-onlyIdempotentInspect
MEXICO. Computes the property acquisition tax (ISAI, ISABI, ISTD… set by each municipality or state) and the state's fee to record the deed on a home purchase, from the 2026 laws read, in 54 municipalities (Cancún, Playa del Carmen, Tulum, Puerto Vallarta, Bahía de Banderas, Los Cabos, La Paz, Mazatlán, San Miguel de Allende, Mérida, Guadalajara, Querétaro, Tijuana…). Base = the higher of the price and the appraisal or cadastral value. Others return "not computed" with no figure. Notary fees are not computed.
| Name | Required | Description | Default |
|---|---|---|---|
| price | Yes | Price in Mexican pesos (MX$3 million = 3000000). | |
| municipality | Yes | Municipality or locality, e.g. "Cancún", "Nuevo Vallarta", "Cabo San Lucas", "San Miguel de Allende". | |
| appraisal_or_cadastral_value | No | Appraisal or cadastral value in MXN, if higher than the price. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly/idempotent/non-destructive, so the bar is lower, and the description still adds real behavior: the computation base rule (higher of price vs. appraisal/cadastral value), the 'not computed' fallback for unsupported municipalities, and the notary-fee exclusion. It does not describe the shape of the returned figure, which keeps it from a 5.
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 the country and the verb, then adds scope and caveats. The long illustrative municipality list costs some space, but it genuinely helps the agent match the free-text municipality parameter, so it mostly earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining returns, and it does say the tool yields a computed tax/recording figure or 'not computed'. Coverage limits, base rule and exclusions are all present; only the exact output fields are 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 description coverage is 100% and all three parameters are documented there, so the baseline is 3. The description restates the base-value rule (higher of price and appraisal/cadastral value), which is useful context but largely duplicates the schema's own note that the value applies 'if higher than the price'.
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 (computes) and specific resources (Mexican property acquisition tax ISAI/ISABI/ISTD plus the state deed-recording fee) with an explicit geographic scope of 54 municipalities. An agent can distinguish this from closing_costs_us, purchase_costs_es or frais_notaire_fr without opening any 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?
Gives clear context: coverage of 54 named municipalities, an explicit out-of-scope signal ('others return "not computed" with no figure'), and an exclusion ('Notary fees are not computed') that implicitly routes notary questions elsewhere. It stops short of naming an alternative tool explicitly, so it is a 4 rather than a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
closing_costs_usUS closing costs by state (items set by law)ARead-onlyIdempotentInspect
UNITED STATES. The closing costs that state law fixes (transfer and mortgage taxes, recording fees, regulated title premiums) and who pays each by contract or custom, with a worked example. No invented averages: when no official typical total exists, it says so.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | US state: any of the 50 states, by name or two-letter code (e.g. "Texas", "TX"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world). The description adds genuinely non-derivable behavior: it discloses that it does not fabricate averages and explicitly reports when no official typical total exists, and that it includes a worked example and payer attribution. Return format/pagination is not described, keeping it at 4 rather than 5.
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 compact sentences with the jurisdiction front-loaded and no filler. The final sentence about not inventing averages earns its place as a trust signal, though the enumeration of covered cost types is somewhat list-heavy.
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, closed-world lookup with no output schema, the description conveys scope, included cost categories, payer attribution, and the handling of missing official data. Only minor gaps remain (e.g., that the response is a fixed statutory dataset rather than a live computation).
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 `state` parameter is fully documented (name or two-letter code) in the schema itself. The description adds no extra constraint or format guidance beyond what the schema already states, 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?
Names a specific resource (US state-mandated closing costs) and enumerates exactly what is covered: transfer and mortgage taxes, recording fees, regulated title premiums, plus who pays each. That scoping implicitly separates it from narrower siblings like transfer_tax_us and title_insurance_us, but no sibling is named explicitly, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this applies when a US state's closing costs are needed. There is no statement of when NOT to use it, nor a pointer to the narrower siblings (transfer_tax_us, title_insurance_us, state_overview_us) for single-component questions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
community_property_usUS community property statesARead-onlyIdempotentInspect
UNITED STATES. Whether a state is a community property state, an opt-in state, or common law, and what that means for buying and titling a home as a married couple.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | US state: any of the 50 states, by name or two-letter code (e.g. "Texas", "TX"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is fully covered without the description. The text adds only the scope of the answer (three classification buckets), with no note on data vintage, jurisdiction limits beyond 'UNITED STATES', or lookup behavior.
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, front-loaded with the jurisdiction marker 'UNITED STATES.', then the classification and its practical meaning. Every clause earns its place 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 one-parameter, read-only lookup with no output schema needed and annotations covering safety, the description gives an agent enough to invoke it correctly. A brief note on the return shape (the three regimes) is present, though nothing addresses staleness or edge cases like non-married buyers.
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 required parameter with 100% schema description coverage, including accepted formats (name or two-letter code) and examples. The description adds nothing about the parameter, so the schema does the work and 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 resource and the exact classification it returns (community property / opt-in / common law), plus the practical domain (titling a home as a married couple). It is distinguishable from neighbors like property_tax_us or title_insurance_us, but it never names a sibling to route against.
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 through the phrase 'for buying and titling a home as a married couple', which signals the marital-property context. There is no explicit when-to-use, when-not-to-use, or pointer to a related tool such as compare_states_us or state_overview_us.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_nations_ukUK property rules compared across the four nationsARead-onlyIdempotentInspect
UNITED KINGDOM. One rule compared across England, Scotland, Wales and Northern Ireland (purchase tax, first-time buyer relief, conveyancing system, home surveys, tenancy deposits, tenancy regime, Council Tax and rates, EPCs), from Payotte's guides and their official sources.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Topic of the table. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare a read-only, idempotent, non-destructive, closed-world operation, so safety is well covered. The description adds that the comparison is sourced from Payotte's guides and their official sources, which gives useful provenance context. It says nothing about freshness, pagination, or output shape, but with this annotation profile the bar is lower.
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 that front-loads the scope (UNITED KINGDOM, one rule across four nations) and then enumerates topics. It is compact and waste-free, though the long parenthetical is slightly heavy for a description that chiefly restates the enum.
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, annotated, read-only comparison tool, the description covers scope, source, and topic coverage adequately. The absence of an output schema leaves the return shape undocumented, but that is minor given the tool's straightforward nature.
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 enum fully enumerates the eight allowed topics, so the schema carries the parameter contract. The description's parenthetical list of topics mirrors the enum exactly, adding no new semantics beyond confirmation. Baseline 4 is appropriate when the schema is this complete.
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 (compared) and resource (one rule across the four UK nations), and names the eight topics it can compare. The sibling 'compare_states_*' tools cover other countries, and 'purchase_tax_uk' is a single-topic cousin – an agent can distinguish this cross-nation comparison tool immediately.
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 (when you need a rule compared across all four UK nations) but gives no explicit when-not-to-use or alternative routing. With 'purchase_tax_uk' present as a sibling, a sentence on when to prefer this cross-nation view over the single-rule tool would have helped.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_regions_beBelgian purchase costs and prices compared across the three RegionsARead-onlyIdempotentInspect
BELGIUM. The same purchase compared across Brussels-Capital, Wallonia and Flanders: registration duty, notary, other costs, total and its share of the price, with each Region's median house and apartment price (Statbel). Registration duties are regional; the notary tariff is federal.
| Name | Required | Description | Default |
|---|---|---|---|
| price | No | Purchase price in euros (default 300,000). | |
| sole_home | No | Sole and own home (you will live there and own no other home). Default true. False = normal rates. | |
| flemish_core_city | No | Flanders only: the home is in a core city (centrumstad) or the Flemish Periphery (Vlaamse Rand). Default false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish the safe read-only, idempotent, non-open-world profile, so the remaining burden is low. The description adds genuinely useful behavioral context beyond the structured fields: it identifies Statbel as the data source and explains that registration duties are set regionally while the notary tariff is federal, which tells the agent why results differ across Regions.
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: the country tag is front-loaded, the output enumeration follows immediately, and the closing clause about regional vs federal competences earns its place by explaining result variation. 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 present, the description carries the return-value burden and does so by listing every output field, and all three inputs are fully documented in the schema. It stops short of noting whether figures are indicative estimates or how current the Statbel price data is, a minor gap for a cost calculator.
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% (price default 300,000 EUR, sole_home default true, flemish_core_city scoped to Flanders/periphery), so the schema already carries all parameter meaning. The description adds no formats, ranges, or interactions between parameters, making the baseline of 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?
Names a specific verb (compare) and resource (the same purchase across Brussels-Capital, Wallonia and Flanders), then enumerates the exact comparison outputs: registration duty, notary, other costs, total, share of price, and each Region's median house/apartment price. This distinguishes it from single-jurisdiction siblings such as purchase_costs_be and house_prices_be without ambiguity.
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 comparative framing, but the description never states when to reach for this versus purchase_costs_be (single-region cost detail) or house_prices_be (price data only), nor does it state any exclusions. An agent can infer the fit but is given no explicit routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_regions_esSpanish property rules compared across the regionsARead-onlyIdempotentInspect
SPAIN. One rule compared across the 19 regions: purchase-tax, new-home-taxes, young-buyer-rates, large-family-rates, appraised-values, house-price-index, agent-registers, stressed-market-areas.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Topic of the table. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is fully covered. The description adds one genuinely useful behavioral constraint — 'One rule' per call, i.e. the tool compares a single topic at a time — plus the 19-region scope, but says nothing about the returned comparison format.
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 led by 'SPAIN.' with the scope stated before the topic list. It is efficient, though the enumeration of all eight topics duplicates the schema enum rather than condensing 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?
For a one-parameter, read-only comparison tool this is essentially sufficient: it names the country, the region count, and the available topics, and annotations carry the safety profile. With no output schema present, the return shape (a per-region table) is only hinted at via the schema's 'Topic of the table', 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 description coverage is 100% and the topic parameter is a fully enumerated enum, so the schema does the documentation work. The description merely re-lists the same eight enum values verbatim, adding no syntax, default, or selection guidance beyond what the schema already provides; 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 verb ('compared'), resource ('one rule') and scope ('across the 19 regions'), and pins the country as Spain. It is clearly distinguishable from guide_es or house_prices_es, though it never names a sibling or contrast explicitly, so the differentiation is implicit rather than stated.
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 explained: an agent can infer you pass a single topic and receive a cross-region comparison. There is no when-to-use/when-not guidance and no mention of alternatives such as guide_es or house_prices_es, which cover overlapping Spanish content.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_regions_itItalian property market compared across the regionsBRead-onlyIdempotentInspect
ITALY. One measure compared across the 20 regions (home-sales).
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Topic of the table. |
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 fully covered. The description adds the fixed scope of the result (all 20 regions, a single measure), which is useful, but it discloses nothing about shape, ordering, or size of the returned comparison.
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 short fragments, front-loaded with the country and followed immediately by the scope. Every token carries information; only the telegraphic 'ITALY.' prefix is slightly cryptic.
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, enum-constrained read tool with no output schema, the description conveys the country, the unit of comparison, and the measure, which is enough to invoke correctly. Annotations handle the safety side, so nothing essential 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 is a one-value enum, so the schema carries full meaning. The description merely restates the same enum value ('home-sales') without adding format, constraints, or examples. Baseline 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?
It names a specific verb ('compared'), resource ('the 20 regions'), geography ('ITALY'), and the single measure in scope ('home-sales'). This clearly separates it from compare_regions_be/es and the other national comparison siblings, though it never explicitly contrasts itself with home_sales_it, which covers the same data without regional breakdown.
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 statement and no named alternative. The scope ('across the 20 regions') implies the comparison use case, but an agent gets no guidance on when to pick this over home_sales_it or compare_nations_uk. Guidance here is entirely inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_states_auAustralian property rules compared across the statesBRead-onlyIdempotentInspect
AUSTRALIA. One rule compared across the states and territories (purchase duty, foreign purchaser surcharge, first home buyer concessions, first home owner grant, land tax, cooling-off period, rental bonds, vendor disclosure), from Payotte's guides and their official sources.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Topic of the table. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds useful provenance ('from Payotte's guides and their official sources') and clarifies that the scope is one rule across all states, but says nothing about output format or currency of the data.
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 jurisdiction marker first and the topic scope immediately after; every clause carries information. Slightly dense parenthetical enumeration, 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, no-output-schema tool the description is nearly sufficient: it identifies the jurisdiction, the unit of comparison, the topic domain, and the data source. It omits only return-shape and freshness details, which are minor given the simple enum-driven input.
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 enum already enumerates all eight valid topics. The description merely repeats that same list, adding no syntax or interpretation beyond what the schema provides, 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 (compared) and resource (one property rule across Australian states and territories), and enumerates the eight comparable topics. The 'AUSTRALIA.' prefix implicitly separates it from compare_states_us/uk/in, but no sibling is named explicitly, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use, when-not-to-use, or alternative routing. An agent must infer that this is the state-comparison tool versus the single-state tools (purchase_duty_au, guide_au) or the cross-country comparators purely from the name and topic list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_states_brBrazilian property costs and figures compared across the statesBRead-onlyIdempotentInspect
BRAZIL. One table across the 27 federative units: purchase-costs-capitals, itbi-state-capitals, notary-and-registry-fees, median-value-financed-homes, rented-homes-share, construction-cost-per-m2.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Topic of the table. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior, so the safety profile is covered. The description adds that the output is a single table spanning 27 federative units, which is useful context, but says nothing about units, formatting, or whether filtering is possible.
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 country marker first and the topic list trailing. It is tight, though re-enumerating the six topics already present in the schema is mildly 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?
For a one-parameter read-only tool with no output schema, the description is minimally adequate: an agent knows what topics exist and that results are one table across 27 units. It omits what columns/units the table returns and whether any filtering or pagination applies, leaving some 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 single enum parameter is fully documented in the schema. The description merely re-lists the same six enum values, adding no syntax, default, or interpretation beyond what the schema already provides, 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 the resource (Brazilian property costs/figures) and scope (one table across the 27 federative units), and the leading "BRAZIL." tag distinguishes it from the many compare_states_* siblings. It stops short of an explicit verb like "compare", relying on the title, but the resource and country are unambiguous.
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 choose this over alternatives such as purchase_costs_br, guide_br, or the other compare_states_* tools. The reader can infer it is a cross-state comparison, but no condition, exclusion, or routing to a sibling is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_states_deGerman property rules compared across the statesARead-onlyIdempotentInspect
GERMANY. One rule compared across the 16 states: purchase-tax, first-buyer-aid, property-tax-model, rents-and-ownership, land-value-data.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Topic of the table. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false), so the burden is low. The description adds no behavioral context beyond that — no note on result shape, ordering, or state coverage gaps — so it neither helps nor contradicts.
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?
Very short and front-loaded, with the country identifier first and the compared topics after. The one-word 'GERMANY.' fragment is slightly awkward, but every token carries scope 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 single-parameter, read-only, closed-world comparison tool with no output schema, the description covers country, unit of comparison (states), and valid topics. It leaves the return format implicit, but the agent has enough to invoke 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 'topic' parameter is an enum with all five values documented. The description restates exactly those five topics, adding no meaning beyond the enum, 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 concrete verb and resource — one rule compared across the 16 German states — and anchors the country with 'GERMANY', which cleanly separates it from sibling compare_states_au/br/in/mx/us and compare_regions_be/es/it. An agent can identify the tool from the description alone.
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: pick one of the five listed rules and see how the states differ. It never states when to prefer this over siblings like guide_de, rents_de, or purchase_costs_de, nor any exclusions or prerequisites. Adequate scope signalling, but no explicit when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_states_inIndian property rules compared across the statesBRead-onlyIdempotentInspect
INDIA. One rule compared across the states whose official rates Payotte read (purchase-duty, women-buyer-rates).
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Topic of the table. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds one genuinely useful behavioral fact beyond that: the comparison is scoped to states 'whose official rates Payotte read,' i.e., a coverage limitation. It says nothing about the table's shape, row granularity, or how states lacking data are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, leading with jurisdiction and topic scope. The unexplained proper noun 'Payotte' costs it a point, since an agent cannot tell whether that is the data vendor or a filter, but 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, read-only lookup with full schema coverage and no output schema, the description supplies the essentials: jurisdiction, verb, and the two permitted topics. The data-coverage caveat is a nice touch. Return format need not be explained absent an output schema, though row-level granularity would help.
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% with a single enum parameter, so the schema already does the heavy lifting. The description restates the two enum values ('purchase-duty', 'women-buyer-rates') but adds no meaning beyond them, such as units, rate basis, or what a women-buyer-rate comparison actually contains. 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 (compared) plus the resource (one Indian property rule) and enumerates the exact topics covered (purchase-duty, women-buyer-rates). This clearly separates it from single-jurisdiction siblings like stamp_duty_in, though it never names an alternative outright. The leading 'INDIA' makes jurisdiction unambiguous in a list crowded with US/AU/UK/French 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?
There is no explicit guidance on when to pick this over stamp_duty_in, guide_in, or the other compare_states_* tools. Usage can only be inferred from the enumerated topics, and the description never states what a caller should already know (e.g., that it returns a cross-state table rather than a single-state rate).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_states_mxMexican property rules and figures compared across the statesARead-onlyIdempotentInspect
MEXICO. One rule or figure compared across the states: acquisition-tax, recording-fee, home-prices, price-change, home-loans, rented-homes, agent-licensing.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Topic of the table. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered elsewhere. The description adds the useful constraint that output is a single rule/figure compared across states (i.e., one topic per call), but says nothing about the returned table's shape or coverage, so it only modestly exceeds 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 tight sentence, front-loaded with the jurisdiction tag, with no filler. The topic enumeration duplicates the schema enum, which is a minor redundancy but also aids routing at a glance.
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 complete annotations, the description covers what the tool does and the scope of each call. There is no output schema, so a brief note on the returned comparison's format would have closed the remaining 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% and the enum already lists all seven allowed values, so the schema fully documents the single parameter. The description merely repeats that same value list and adds no syntax, default, or interpretation guidance beyond it.
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 (compared) and resource (one rule or figure across the states) and pins the jurisdiction with 'MEXICO.', which cleanly separates it from the many compare_states_* siblings for other countries. The enumerated topics further disambiguate what can be compared.
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: listing the seven comparable topics tells the agent what inputs are valid, but there is no explicit when-to-use guidance, no mention of when to prefer this over guide_mx, home_prices_mx, or closing_costs_mx, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_states_usCompare the 50 US states on one ruleARead-onlyIdempotentInspect
UNITED STATES. Lists the states in each category for one topic: transfer-tax (states with no transfer tax), attorney-at-closing (states requiring an attorney), foreclosure (judicial vs non-judicial states), seller-disclosure (buyer beware states), community-property. Use for "which states…" questions.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Topic to compare. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish the safety profile (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint=false), so the bar is lower. The description still adds meaningful behavior: it discloses that output is a categorization of states under a single topic, and decodes what each category actually represents (e.g., transfer-tax = states with no transfer tax, foreclosure = judicial vs non-judicial). It stops short of describing grouping/order of the returned state lists.
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 the jurisdiction, then a single dense sentence enumerating topics and their meanings, then a one-line usage cue. Minimal waste; the parenthetical glosses on each enum value are the only slight repetition against the schema, but they carry new information rather than restating enum strings.
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?
One enum parameter, no output schema, and strong annotation coverage — the description is nearly complete for this tool because it defines every topic option and the question type it answers. The only missing piece is any hint about the response shape (e.g., one list of states per side of the classification), which is minor 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 coverage is 100% and the enum itself lists the five topics, so baseline would be 3. The description goes beyond the schema by explaining the semantic meaning of each enum value — exactly what the enum names alone do not convey — which is genuine added value over the raw parameter definition.
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 (lists) and resource (the states in each category for one topic), and front-loads the jurisdiction (UNITED STATES) which cleanly separates it from the sibling compare_states_au, compare_states_in, and compare_nations_uk tools. An agent can tell what it returns and for which country without opening the 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 closing 'Use for "which states…" questions' gives a clear when-to-use cue tied to a recognizable question shape. It does not, however, mention the per-topic sibling deep dives (transfer_tax_us, attorney_at_closing_us, foreclosure_us, seller_disclosure_us, community_property_us), so the agent gets context but no explicit routing between this cross-state comparison and those single-topic tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contacter_expertContacter l'expert vérifié / Contact the verified expertAInspect
Call this ONLY when the user explicitly asks to contact, reach out to, or request a quote/appointment from a Payotte-listed professional. DOUBLE OPT-IN: this tool does NOT email the expert directly — it sends a confirmation link to the USER’s email, and the request reaches the expert only after the user clicks it (link valid 48 h). Tell the user to check their inbox. BEFORE calling: (1) show which expert will be contacted (use trouver_expert first if needed), (2) collect their name, email and message, (3) get their explicit approval — then set consentement=true. Never invent contact details. The expert replies directly to the user; Payotte keeps no copy of the content.
| Name | Required | Description | Default |
|---|---|---|---|
| ville | Yes | City of the expert, e.g. "Montréal". | |
| message | Yes | The user’s request in their own words (need, property, timeline…), 20–2000 characters. | |
| secteur | No | Neighbourhood/sector of the expert (recommended — identifies exactly one expert). | |
| province | No | Province name or code (optional disambiguator). | |
| client_nom | Yes | Full name of the user requesting contact. | |
| profession | Yes | real-estate-broker | mortgage-broker | home-inspector | notary-lawyer | appraiser (French labels accepted). | |
| consentement | Yes | MUST be true, and only after the user explicitly approved sending this request to this specific expert. | |
| client_courriel | Yes | Email address of the user — the expert will reply there. | |
| client_telephone | No | Optional phone number of the user. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses the non-obvious double opt-in flow: it does NOT email the expert, instead sends a confirmation link to the user (valid 48h), only reaching the expert after the click, and Payotte keeps no copy. This goes well beyond the annotations and covers the key behavioral surprise of the 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?
Front-loaded with the ONLY-when trigger, then the opt-in mechanics, then a compact numbered pre-call checklist. Despite its length, nearly every sentence carries distinct operational information and none is redundant with 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 9-parameter mutation tool with no output schema, the description covers trigger, mechanism, prerequisites, safety constraints, and what the user should expect afterward. It is nearly complete; only field-level edge cases (e.g., validation failures) are left to the schema's own constraints.
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 a baseline of 3 applies, but the description adds real semantics: it explains the ordering of collected inputs, the consentement=true gating rule, and the warning never to invent contact details. It stops short of clarifying field-level formats, which the schema already handles.
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 precise verb+resource (contact a verified Payotte-listed professional) and immediately distinguishes its trigger from siblings by requiring an explicit user request and pointing to trouver_expert as a prerequisite lookup. An agent can tell exactly what this tool does and when it applies without opening any 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?
Gives explicit when-to-use (only on explicit user request to contact/request a quote), names the alternative (trouver_expert to select the expert first), and lays out a numbered precondition sequence ending in consentement=true. No usage inference is left to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimer_economieÉconomie de taxes d'une baisse d'évaluation / Tax saving of an assessment reduction (Quebec)ARead-onlyIdempotentInspect
Call this when the user asks how much they could save on property taxes if their assessment went down, or whether contesting is worth the fee. Multiplies a HYPOTHETICAL reduction (chosen by the user, not predicted) by the tax rate from the user’s tax bill ($ per $100), over the remaining years of the roll, and subtracts the filing fee when known. Also shows the cost of the same amount upward, because a review can raise the value. Ask the user for their tax rate: Payotte does not guess municipal rates.
| Name | Required | Description | Default |
|---|---|---|---|
| taux | Yes | Property-tax rate in $ per $100 of assessment, from the user’s tax bill (e.g. 0.75). | |
| baisse | Yes | Hypothetical reduction: in CAD (e.g. 30000) or as a fraction (e.g. 0.08 for 8%). | |
| valeur | Yes | Assessed value on the roll (CAD). | |
| municipalite | No | Quebec municipality (optional but recommended: sets remaining roll years and the fee). | |
| annees_restantes | No | Optional: years of the roll the reduction would cover (1-3). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safe read-only, idempotent, non-destructive profile, so the burden is lighter. The description adds real behavioral value: it discloses the computation method, that it subtracts the filing fee when known, that it also shows the upward cost, and that it will not guess municipal rates.
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 trigger is front-loaded and every sentence carries information, though the parenthetical 'because a review can raise the value' and the closing instruction slightly pad an otherwise efficient passage.
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 reasonably describes what the tool returns (savings and upside cost) and the inputs it depends on. It is complete enough to call correctly, though it does not detail the output structure or units of the returned figures.
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 meaning beyond the schema by clarifying that 'baisse' is a hypothetical chosen by the user rather than a predicted value, and that the tax rate must come from the user's tax bill.
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 quantitative job — multiplying a hypothetical assessment reduction by the tax rate over remaining roll years and subtracting the filing fee — which is distinct from siblings like frais_revision or taux_courants. An agent can tell exactly what resource and output this tool produces.
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 states the exact trigger ('when the user asks how much they could save on property taxes if their assessment went down, or whether contesting is worth the fee'), covering both the savings and cost-benefit use cases. It also specifies the prerequisite action of asking the user for their tax rate rather than guessing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evaluation_adresseÉvaluation foncière à une adresse / Property assessment at an addressARead-onlyIdempotentInspect
Call this when a homeowner asks about the assessed value of a SPECIFIC address, whether their assessment is too high, or what their home is worth. Reads the OPEN assessment rolls (Quebec: 1,113 municipalities; Nova Scotia; New Brunswick; Winnipeg; Calgary, Edmonton, Lethbridge, Strathcona, Okotoks, Grande Prairie, St. Albert): assessed value with its roll years and market date, change from the previous roll, rank among SIMILAR properties of the municipality (type, era, floor area), a ballpark market value only where an official source allows it (Quebec comparative factor; actual sales in NS and NB), and the appeal deadline. Public figures compared, never an opinion of value. No owner names. Other provinces have no open roll by address.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | ||
| adresse | Yes | Civic address, number first, e.g. "9060 boul. Lévesque E" or "1200 rue Saint-Alexandre, app. 305". | |
| province | Yes | Province name or code (QC, NS, NB, AB, MB). | |
| municipalite | Yes | Municipality as named in the roll, e.g. "Laval", "Halifax Regional Municipality", "Calgary", "Winnipeg". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly/idempotent/non-destructive, and the description adds real behavioral context beyond them: it discloses that only open rolls are read, that no owner names are returned, that figures are comparisons rather than an opinion of value, and that ballpark market value is emitted only where an official source permits it.
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 the trigger sentence, then a dense enumeration of returned data and coverage. Every sentence carries information, though the long municipality list is bulky; still, no wasted 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 carries the full burden and does so: it enumerates the return payload (assessed value, roll years, market date, change from previous roll, rank among similar properties, ballpark market value, appeal deadline) and states the coverage boundaries. An agent knows exactly what 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 75%, so most parameters are self-documented, but the description adds meaning for the province parameter by enumerating the covered jurisdictions (Quebec, NS, NB, MB, AB cities) and for market value by tying it to the source per jurisdiction. The lang enum is left unexplained.
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 (reads open assessment rolls for a single address) and precisely scopes it to homeowner questions about assessed value, over-assessment, or home worth. It clearly distinguishes itself from portfolio/market tools like stats_marche or taxe_bienvenue_adresse by being address-specific.
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?
Explicit trigger condition ("Call this when a homeowner asks about the assessed value of a SPECIFIC address...") plus an exclusions clause ("Other provinces have no open roll by address"). It does not name sibling tools as alternatives, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
federal_guide_usUS federal home-buying guidesARead-onlyIdempotentInspect
UNITED STATES. Finds Payotte’s federal guides (rules that apply in every state): FHA, VA, USDA and conventional loans, PMI, down payment, credit score, debt-to-income, escrow, earnest money, closing costs, 1031 exchange, capital gains on a home sale, mortgage interest deduction, flood insurance, refinancing… Empty query = full list.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Topic, e.g. "FHA loan requirements", "PMI". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description's remaining burden is lighter. It usefully adds that an empty query returns the full list, but says nothing about return format, result count, or ranking that an agent might need.
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 the country scope and the core action, and the trailing topic list, while long, is functional keyword surface for query matching. Slightly list-heavy, but nothing is redundant with 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?
For a read-only, closed-world search tool with one optional parameter, no output schema, and safety fully covered by annotations, the description supplies the topic vocabulary and empty-query behavior needed to call it correctly. Only the omission of any alternative-tool routing keeps it from being 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?
With 100% schema coverage on a single optional 'query' parameter, the schema already documents the argument. The topic list in the description reinforces what kinds of values match, but adds no syntax or format guidance beyond the schema's own example.
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 ('Finds Payotte's federal guides') and scopes it precisely as rules that apply in every state, immediately distinguishing it from state_overview_us and the country-specific guide_au/in/uk siblings. An agent can identify the tool's remit without opening the 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 topic enumeration plus the 'federal (rules that apply in every state)' scoping gives clear context for when this tool applies, and 'Empty query = full list' specifies the no-argument behavior. However, it never names an alternative (e.g. state_overview_us for state-specific rules), so routing is left partially to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fenetre_revisionÉchéance pour contester son évaluation foncière / Property-assessment appeal deadline (Canada)ARead-onlyIdempotentInspect
Call this when the user asks until when they can contest (request a review of) their property assessment in a Quebec municipality, which assessment roll is in force, when the next roll comes, or what the reference date is. Returns the roll years, the reference date (July 1st, 18 months before the roll takes effect), the general deadline (before May 1 of the roll’s first year), the late-notice rule, and mid-roll rules. Compiled by Payotte from the official Quebec rolls (MAMH open data). For other provinces, pass province (e.g. "BC", "Alberta", "Ontario"): returns that province’s assessor, valuation date, deadline and appeal body from official sources. Tell the user their assessment notice prevails. Does not say whether an assessment is too high.
| Name | Required | Description | Default |
|---|---|---|---|
| province | No | Province code or name (BC, AB, SK, MB, ON, QC, NB, NS, PE, NL). Default: Quebec (then `municipalite` is used). | |
| date_avis | No | Optional: mailing date printed on the assessment notice (YYYY-MM-DD), to apply the 60-day late-notice rule. | |
| municipalite | No | Quebec municipality, e.g. "Drummondville", "Gatineau", "Montréal" (not needed outside Quebec). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe read-only, idempotent, non-open-world lookup, so the safety profile is covered. The description then adds real value beyond the annotations: data provenance (Payotte, MAMH open data; official sources for other provinces), the caveat that the assessment notice prevails, and the exact rule set returned.
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 trigger condition is front-loaded in the first sentence, followed by return values, provenance, and scope limits. It is somewhat dense across three sentences, but each clause carries distinct information and none is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description fully compensates by enumerating the returned fields (roll years, reference date, general deadline, late-notice and mid-roll rules). For a zero-required-parameter lookup tool this is complete enough for an agent to call and interpret 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 description coverage is 100%, so all three parameters (`province`, `date_avis`, `municipalite`) are already documented, including the late-notice rule link for `date_avis`. The description reinforces the Quebec default and the province-code behavior but adds little syntax or format detail the schema does not already carry — the expected baseline of 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 states a specific verb and resource — determining the deadline window to contest a property assessment — and enumerates exactly what it returns (roll years, reference date, general deadline, late-notice rule, mid-roll rules). The closing line 'Does not say whether an assessment is too high' cleanly separates it from valuation/estimation siblings like estimer_economie.
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 explicit trigger conditions ('when the user asks until when they can contest...which assessment roll is in force, when the next roll comes'), covers the out-of-Quebec case via `province`, and states a boundary (not for judging whether an assessment is too high). It stops short of naming an alternative sibling tool for that out-of-scope question.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_property_owner_usFind who owns a property in a US stateARead-onlyIdempotentInspect
UNITED STATES. How to find out who owns a property in a state or DC: the office that records deeds, where the owner’s name is shown for free (assessor parcel search), the official statewide online search when one exists, and the fee for a copy of a deed when the statute was read.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | A state or DC, by name or two-letter code (e.g. "Florida", "FL", "DC"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotent=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds genuine content disclosure beyond that: it tells the agent the answer will contain recording offices, free name sources, official statewide portals, and statutory deed-copy fees, which sets expectations for the return payload despite there being 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?
Front-loaded with the jurisdiction marker and then a tight enumeration of the four things returned. One sentence, no wasted preamble, though the closing clause 'the fee for a copy of a deed when the statute was read' is slightly garbled and costs a bit of clarity.
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 one fully documented parameter, no output schema, and read-only annotations, the description supplies what an agent needs: jurisdiction scope and the composition of the answer. Only the absence of any sibling routing or 'when not to use' note keeps it below a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'state' parameter is fully documented with name/code examples, so the schema does the heavy lifting. The description only echoes the 'state or DC' scope; it adds no format or edge-case guidance beyond the schema, which is the baseline-3 case.
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 subject (property ownership lookup in the US) and enumerates exactly what the tool returns: recording office, free assessor parcel search, statewide online search, and deed-copy fee. It is clear this is a reference/guide answer rather than a live lookup, but it does not distinguish itself from adjacent siblings such as state_overview_us or verify_license_us.
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 'How to find out who owns a property' framing and the 'UNITED STATES' scope marker, but there is no explicit when-to-use statement, no preconditions, and no routing to alternatives for related questions (title verification, deed transfer, state overviews).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
first_time_buyer_programs_usUS first-time home buyer programs by stateBRead-onlyIdempotentInspect
UNITED STATES. The state housing finance agency and its first-time buyer loans, down payment assistance, mortgage credit certificates, income limits and homebuyer education requirement, with official links.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | US state: any of the 50 states, by name or two-letter code (e.g. "Texas", "TX"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered structurally. The description adds the geographic scoping ('UNITED STATES') and notes results include official links, which is modest extra context. It does not disclose anything about freshness of the data, rate limits, or whether state-level program availability varies over time.
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, front-loaded with the scope marker 'UNITED STATES' followed by the resource and its contents. It is dense but every clause maps to actual content the tool returns. Slightly list-heavy but no filler sentences.
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 compensates well by enumerating the categories of information returned (loans, DPA, MCCs, income limits, education requirement, official links). Combined with the fully documented single parameter and the read-only annotations, an agent has enough to call it correctly. It could be more complete about territory/DC coverage and data currency.
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?
Only one parameter and schema description coverage is 100% — the schema already documents that 'state' accepts any of the 50 states by name or two-letter code with examples. The description adds nothing beyond what the schema provides, 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 names a concrete resource (state housing finance agency first-time buyer programs) and enumerates the specific contents: loans, down payment assistance, mortgage credit certificates, income limits, education requirement, official links. That is far more specific than a tautology and clearly distinguishes it from generic siblings like state_overview_us or federal_guide_us. It never explicitly names those siblings as alternatives, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus federal_guide_us, state_overview_us, or the various house_prices/foreclosure tools in the sibling list. No exclusions either — an agent cannot tell whether this is only for first-time buyers, only for US states, or how it differs from the federal-level guide. Usage is implied by the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
foreclosure_usUS foreclosure process by stateBRead-onlyIdempotentInspect
UNITED STATES. Whether a state forecloses judicially or by trustee sale, the typical or minimum timeline, any right of redemption after the sale, deficiency judgment rules and mediation programs.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | US state: any of the 50 states, by name or two-letter code (e.g. "Texas", "TX"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a read-only, idempotent, non-destructive, closed-world lookup, so the safety profile is covered. The description adds useful content-scope context (which foreclosure aspects are included), but says nothing about freshness, jurisdiction limits beyond 'US', or whether data is ever trimmed — acceptable but not rich for a pure reference 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?
A single tight sentence with no redundancy, and the jurisdiction is front-loaded. The all-caps 'UNITED STATES.' fragment is a slightly awkward stylistic lead-in, but it does signal scope immediately.
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 no output schema, the description carries the burden of stating what comes back — and it does, enumerating the five content areas. Safety is handled by annotations, so nothing critical is missing; only usage routing and data-freshness notes are absent.
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 with 100% schema description coverage documenting accepted names and two-letter codes, so the baseline is 3. The description's 'by state' phrasing confirms the axis of lookup but adds no format or edge-case detail 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 — the US state-level foreclosure process — and enumerates the exact facets returned (judicial vs. trustee sale, timeline, redemption, deficiency judgments, mediation). That is far more informative than the title alone, though it never explicitly distinguishes itself from the adjacent US reference tools such as state_overview_us.
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 reach for this tool versus its many US siblings (state_overview_us, federal_guide_us, seller_disclosure_us, etc.), and no prerequisites or exclusions. The agent must infer usage from the topic alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
frais_notaire_frFrais de notaire en France / French notary feesARead-onlyIdempotentInspect
FRANCE. Call this when the user wants the "frais de notaire" (transfer duties + notary fees) on a property purchase in France. Same computation as payotte.com/france: departmental duty rate (DGFiP schedule, incl. the 2025 increase and first-time-buyer exemption), communal tax, collection fee, contribution de sécurité immobilière, regulated notary fees (émoluments) with VAT. type "ancien" (default, needs a département) or "neuf" (new build, reduced rate). Disbursements are not regulated and not included.
| Name | Required | Description | Default |
|---|---|---|---|
| prix | Yes | Prix d’achat en euros. | |
| type | No | ancien (défaut) ou neuf. | |
| departement | No | Code (« 33 », « 2A ») ou nom (« Gironde ») du département ; une ville couverte marche aussi. | |
| primoAccedant | No | Ancien : premier achat de résidence principale (taux sans la hausse de 2025, si le département l’a votée). | |
| tvaMentionnee | No | Neuf : TVA mentionnée distinctement dans l’acte (assiette hors TVA). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safe read-only, idempotent, closed-world profile, and the description adds real substance on top: the exact duty components included, the 2025 rate increase and first-time-buyer exemption, and the explicit exclusion of unregulated disbursements. It does not cover auth needs or return shape, but the scope disclosure is well beyond what the annotations carry.
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 the country and the call trigger, then the computation basis and parameter modes. Dense and mostly earned, though the component enumeration in the middle sentence is long enough that it slightly buries the usage instruction.
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 listing the computed components (duty, communal tax, collection fee, CSI, émoluments with VAT) effectively implies the breakdown. It stops short of saying whether a total is returned or how the estimate is presented.
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 baseline is 3, but the description adds cross-parameter semantics the schema does not: 'ancien' is the default and requires a département, while 'neuf' uses a reduced rate. That dependency and default behavior are genuinely useful additions.
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: computing the 'frais de notaire' (transfer duties + notary fees) for a French property purchase. The country scoping and the explicit list of computed components make it clearly distinct from siblings like taxe_mutation or closing_costs_us without opening 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?
Gives a precise trigger ('Call this when the user wants the frais de notaire on a property purchase in France') and pins the market with 'FRANCE'. It does not name sibling alternatives or state when NOT to use it, so it stops short of the explicit routing a 5 requires.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
frais_revisionFrais d'une demande de révision / Assessment review filing fee (Canada)ARead-onlyIdempotentInspect
Call this when the user asks how much it costs to file a request for review of their property assessment in Quebec. Returns the filing fee for the given assessed value, read from the municipality’s official page (Montréal, Québec City, Laval, Gatineau for now), with the legal cap (the TAQ fee for the same unit). Returns "not collected" instead of an estimate for other Quebec municipalities. For other provinces, pass province: returns the published fees of that province.
| Name | Required | Description | Default |
|---|---|---|---|
| valeur | No | Assessed value on the roll in CAD (the value on the notice, not the market price). | |
| province | No | Optional province code or name; default Quebec. | |
| municipalite | No | Quebec municipality, e.g. "Montréal", "Laval". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety profile; the description adds the substantive behavior: the fee is read from the municipality's official page, coverage is limited to Montréal, Québec City, Laval and Gatineau for now, the legal TAQ cap is included, and other Quebec municipalities return 'not collected' rather than an estimate. This is exactly the operational context annotations cannot convey.
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?
Four sentences, front-loaded with the trigger, and each one carries distinct information (when to call, what is returned and from where, fallback behavior, province routing). No filler or repetition.
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 explaining the return value ('not collected', published provincial fees, TAQ cap) and coverage limits. It is nearly complete, though it never states behavior when all optional parameters are omitted or what happens for a Quebec municipality outside the four supported ones.
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 goes further by explaining that `province` should be passed for non-Quebec jurisdictions and that `valeur` is the assessed roll value. It adds real usage semantics on top of 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 states a precise verb and resource (returns the filing fee for a request for review of a property assessment), plus the geographic scope (Quebec, with four named municipalities). It does not explicitly distinguish itself from close siblings like fenetre_revision or taxe_mutation, so an agent must still infer 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?
It gives an explicit trigger ('Call this when the user asks how much it costs to file a request for review') and routes the agent to the province parameter for non-Quebec cases. It never names a sibling tool or states when to prefer an alternative, so the routing guidance stops just short of the top level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guide_auPayotte Australia guides: buying, renting and owning a homeARead-onlyIdempotentInspect
AUSTRALIA. Finds the Payotte guide answering a question about buying, financing, selling, renting or owning a home in Australia, and returns its self-contained short answer, check date and URL.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The question or keywords, e.g. "cooling-off period", "FIRB foreign buyer". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world corpus). The description adds genuinely new behavioral detail beyond them: the response is a self-contained short answer with a check date and URL, which tells the agent what it will receive and that answers carry a freshness marker.
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 the country scope front-loaded ("AUSTRALIA.") followed by what is found and what is returned. No filler, though the enumeration of covered topics makes it denser than necessary.
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 compensates by describing the return payload (short answer, check date, URL), and annotations supply the safety/closed-world context. For a one-parameter lookup tool, an agent has everything needed 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 description coverage is 100% and the single query parameter is already documented with examples, so the schema carries the load. The description reinforces that the input can be a question or keywords, but adds no syntax, format, or matching-behavior detail 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 states a specific verb and resource ("Finds the Payotte guide") plus the exact domain covered (buying, financing, selling, renting, owning a home in Australia). It is clearly separable from guide_in/guide_uk by the country scope, 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?
It implies the use case — answering a home-related question for Australia — but offers no when-to-use/when-not guidance, no mention of alternatives like purchase_duty_au or house_prices_au, and no statement of what happens when no guide matches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guide_bePayotte Belgium guides: buying, financing, selling, renting and owning (FR, NL, EN)ARead-onlyIdempotentInspect
BELGIUM. Finds the Payotte guide answering a question about buying, financing, selling, renting or owning a home in Belgium, in English, French or Dutch, and returns its self-contained short answer, check date and URL (and the same guide in the other languages when it exists). The page URL is returned for citation.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The question or keywords, e.g. "registration duties Brussels", "droits d'enregistrement", "huurwaarborg". | |
| language | No | Optional: restrict to one language. Omitted = search all three. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds genuinely useful behaviour beyond them: the response is a self-contained short answer plus a check date and page URL, the URL is intended for citation, and the same guide in other languages is returned when available. It stops short of stating what happens when no guide matches or whether the answer is authoritative, so a 5 is not warranted.
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 the country marker and the core purpose, and every clause carries information about scope, languages, or return shape. It is a single long run-on sentence, though, which slightly hurts scannability.
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 describe returns — and it does, covering the answer, check date, URLs and cross-language variants. Parameters are fully covered by the schema. The remaining gap is the absence of fallback behaviour when no guide is found.
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 already documented with examples and enum semantics in the schema, so the description carries little extra burden. It adds only the implicit 'omitted = search all three' behaviour, which is already in the schema text, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (finds the guide), the resource (Payotte guide), and the exact domain/scope (buying, financing, selling, renting or owning a home in Belgium), plus the three supported languages. That is enough to separate it from guide_au, guide_br, guide_es and the other country guides without opening any 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?
Topical scope is stated, so usage is implied: ask a Belgian home-related question and get a guide. But no when-not guidance or alternative routing is given, and the sibling set contains sharply overlapping Belgium-specific tools (purchase_costs_be, house_prices_be, borrowing_capacity_be, compare_regions_be) that a caller cannot distinguish this from. The description should say when to prefer this broad guide over those specialised tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guide_brPayotte Brazil guides: foreign buyers, buying, financing, selling, renting, owningARead-onlyIdempotentInspect
BRAZIL. Finds the Payotte guide answering a question about a home in Brazil — CPF, rural land and beachfront rules for foreigners, ITBI, deeds, mortgages, capital gains, tenancy law, IPTU — and returns its short answer, check date and URL.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The question or keywords, e.g. "CPF foreigner", "terrenos de marinha". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, non-open-world behavior. The description adds value beyond those by specifying the return payload ('short answer, check date and URL') and the subject coverage, though it does not discuss rate limits or failure modes.
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 'BRAZIL' and the core action, then a compact dash list of coverage topics. It is a single sentence and every element supports retrieval, though the topic list is 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?
For a one-parameter guide lookup with no output schema, the description supplies the missing return fields and scope. It is sufficient to call correctly, with only minor absence of no-result behavior.
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 'query' parameter is already documented with examples. The description's topic list contextualizes query scope but does not add syntax or format rules 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 a specific verb ('Finds') and resource ('Payotte guide answering a question about a home in Brazil'), and the 'BRAZIL' prefix distinguishes it from sibling guide_* tools for other markets. The topic list further clarifies scope.
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 only implicit guidance: use when you need a guide answer about a home in Brazil. It does not name alternatives (e.g., capital_gains_tax_br, purchase_costs_br) or state when not to use it, so the agent must infer the routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guide_dePayotte Germany guides: buying as a foreigner, taxes, renting and owningARead-onlyIdempotentInspect
GERMANY. Finds the Payotte guide answering a question about buying (including as a foreign buyer), financing, selling, renting or owning a home in Germany, and returns its short answer, check date and URL.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The question or keywords. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds genuine behavioral context beyond that: it returns a short answer plus a check date and URL, and that it is a lookup over curated guides rather than a live computation. It does not say what happens when no guide matches.
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 the country front-loaded, so the critical disambiguator is read first. It is dense but every clause (topics, return fields) carries information; 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 one-parameter, read-only lookup with no output schema, the description covers purpose, scope, and return shape, which is enough for an agent to call it correctly. The missing piece is routing guidance against the many country- and topic-specific 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?
Only one parameter and schema description coverage is 100% ('The question or keywords'), so the baseline is 3. The description's topic list marginally clarifies the intended query domain but adds no syntax, length, or formatting 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?
States a specific verb ('Finds the Payotte guide'), the resource (Germany home guide), and the topical scope (buying, financing, selling, renting, owning). The 'GERMANY' prefix and the explicit country make it trivially distinguishable from the parallel guide_au/guide_be/guide_es siblings.
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 topical enumeration ('buying, financing, selling, renting or owning a home in Germany') implies when this guide is the right destination, but there is no explicit guidance on when to prefer it over narrower siblings like mortgage_payment_de, rents_de, or purchase_costs_de, nor any exclusion criteria. Usage is inferable but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guide_esPayotte Spain guides: buying as a foreigner, taxes, renting and owningARead-onlyIdempotentInspect
SPAIN. Finds the Payotte guide answering a question about buying (including as a foreign or non-resident buyer: NIE, IRNR, 3% withholding, golden visa), financing, selling, renting or owning a home in Spain, and returns its short answer, check date and URL.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The question or keywords. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/non-destructive, so the safety profile is covered. The description adds genuinely useful behavior beyond that: it returns a short answer, a check date, and a URL, which matters since there is no output schema. It doesn't cover failure behavior or coverage limits, keeping it below a 5.
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 with the country marker "SPAIN." first. Efficient, though the long parenthetical (NIE, IRNR, 3% withholding, golden visa) is keyword-stuffed rather than strictly necessary.
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 lookup with full schema coverage and annotations covering safety, the description supplies the missing return-shape info (short answer, check date, URL). An agent has enough to call it correctly; only routing guidance against overlapping siblings is absent.
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 is already documented as "The question or keywords." The description contextualizes the kind of question expected but adds no syntax, format, or length guidance 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?
States a specific verb ("Finds") and resource (the Payotte guide) and scopes it to SPAIN, listing the covered topics (buying, financing, selling, renting, owning). It distinguishes itself from the parallel country guides, though it doesn't explicitly say why an agent should pick this over the more specific siblings like non_resident_tax_es or purchase_costs_es.
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 topic list (a question about buying/renting/owning a home in Spain), but there is no explicit when-to-use, when-not-to-use, or named alternative. It never tells the agent to prefer this broad guide versus the narrower Spanish tools that overlap in subject matter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guide_inPayotte India guides: buying, NRIs, renting and owning a homeARead-onlyIdempotentInspect
INDIA. Finds the Payotte guide answering a question about buying, financing, selling, renting or owning a home in India, including NRI and OCI rules, and returns its self-contained short answer, check date and URL.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The question or keywords, e.g. "NRI repatriation", "TDS on property purchase". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world and non-destructive, so the safety profile is covered. The description adds real value beyond them by disclosing the return shape ("self-contained short answer, check date and URL") and the curated/dated nature of the content, which tells the agent how to present results and how to judge freshness.
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 with the country and lookup intent first, then scope, then return value. Efficient, though the single sentence bundles purpose, scope and return contract into a fairly long clause chain.
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 correctly compensates by describing what comes back (short answer, check date, URL), and the sole parameter is fully specified. Annotations cover the safety profile; only sibling routing and any freshness/coverage limits are absent.
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?
Single parameter with 100% schema coverage, so the schema already documents that `query` is a question or keywords. The description adds only the topical scope of valid queries, which is marginally useful but no format or length guidance beyond the schema's own examples.
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: "Finds the Payotte guide" scoped to India and to a clearly enumerated topic set (buying, financing, selling, renting, owning, NRI/OCI rules). The leading "INDIA." tag plus the Payotte framing separates it from the many country-specific siblings (guide_au, guide_uk, house_prices_in, home_loan_emi_in) without needing to open a 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 topic list and "answering a question" framing imply when this tool is appropriate, but there is no explicit routing: an agent getting "what is stamp duty in India" cannot tell from this text whether to use this guide or stamp_duty_in / home_loan_emi_in / house_prices_in. No exclusions or alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guide_itPayotte Italy guides: buying as a foreigner, taxes, renting and owningARead-onlyIdempotentInspect
ITALY. Finds the Payotte guide answering a question about buying (including as a foreign buyer), financing, selling, renting, renovating or owning a home in Italy, and returns its short answer, check date and URL.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The question or keywords. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so safety behavior is well covered. The description adds useful return behavior by stating it returns a short answer, check date, and URL, though it does not discuss auth, rate limits, or no-match behavior.
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 the country scope with 'ITALY.' and packs purpose, topic coverage, and return payload into a single efficient sentence. Every phrase contributes and there is no repetition 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 one-parameter guide lookup with no output schema, the description is mostly complete: it states the country, topical scope, and returned fields. It omits only edge-case behavior such as what happens if no guide matches, which is a minor gap 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%, with the single query parameter already described as 'The question or keywords.' The description adds topical scope for what the query should concern, but does not add query syntax, formatting guidance, or handling details beyond the schema. Baseline 3 is appropriate when the schema already documents the parameter.
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 (Finds), a clear resource (the Payotte guide), and a precise scope (ITALY, buying/financing/selling/renting/renovating/owning a home). The country scope clearly distinguishes it from sibling country guides such as guide_es or guide_de.
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 clear context: use when seeking an Italian home guide answer about buying, financing, selling, renting, renovating or owning. It does not explicitly state when not to use it or name alternative sibling tools, but the Italy scope makes the correct routing obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guide_mxPayotte Mexico guides: foreign buyers, buying, selling, rentingARead-onlyIdempotentInspect
MEXICO. Finds the Payotte guide answering a question about buying (restricted zone, fideicomiso, notary, deed), financing, selling (income tax for residents and non-residents), renting or owning a home in Mexico, and returns its self-contained short answer, check date and URL.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The question or keywords, e.g. "fideicomiso permit cost", "selling as a non-resident". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as a safe, read-only, idempotent, closed-world lookup, so the safety burden is covered. The description adds genuinely new behavior: it returns a "self-contained short answer, check date and URL," which is the key contract for an agent since there is no output schema. It stops short of describing truncation, matching confidence, or fallback when no guide matches.
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, front-loaded with the country marker and the core verb, and the parenthetical topic list earns its space by defining scope. It is dense but not padded; only minor readability cost from stacking several clauses.
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, annotation-covered lookup with no output schema, the description supplies purpose, topic scope, and return shape. The remaining gap is routing guidance against the many sibling guide/professional tools, which an agent would have to infer.
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 supplies example queries, so the baseline is 3. The description goes further by enumerating the queryable domains (restricted zone, fideicomiso, notary, deed, financing, resident/non-resident income tax on sale), which helps the agent judge whether its question is in scope and how to phrase it.
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 ("Finds the Payotte guide answering a question about...") scoped to MEXICO, with the topical coverage (buying, financing, selling, renting/owning) spelled out. This differentiates it from cost/price/calculator siblings such as closing_costs_mx, home_prices_mx and mortgage_payment_mx, though it never explicitly routes against the other guide_xx 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?
Usage is only implied: an agent can infer it should call this for a Mexico home-ownership question. There is no explicit when-to-use/when-not statement, no mention of the parallel guide_au/guide_br/guide_es tools, and no indication of what happens if the question falls outside the listed topics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
guide_ukPayotte UK guides: buying, renting and owning a homeARead-onlyIdempotentInspect
UNITED KINGDOM. Finds the Payotte guide answering a question about buying, financing, selling, renting or owning a home in the UK, and returns its self-contained short answer, check date and URL.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The question or keywords, e.g. "Home Report Scotland", "Lifetime ISA". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorldHint=false, so the safety profile is covered. The description adds genuinely new behavior by naming the return payload (self-contained short answer, check date, URL) and confirming the closed Payotte-only corpus, which matters because 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?
One dense sentence with the geographic scope front-loaded and zero filler; every clause (domain, retrieval action, return contents) 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?
With no output schema, the description usefully enumerates the returned fields, and annotations cover safety, so an agent has what it needs to call this. It omits the no-match/empty-result behavior and gives no hint about result granularity, which keeps it short of a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter and schema description coverage is 100%, so the schema already explains that 'query' takes a question or keywords with examples. The description adds no syntax, format, or length guidance beyond that, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Finds the Payotte guide answering a question') plus the topical scope (buying, financing, selling, renting, owning a home in the UK). The 'UNITED KINGDOM.' prefix separates it from guide_au and guide_in, but it does not differentiate against topically overlapping UK siblings such as house_prices_uk or purchase_tax_uk.
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: reach for this when a user asks a UK home-buying/owning question that a short editorial answer would satisfy. There is no explicit when-not, no mention of alternatives (e.g. use purchase_tax_uk for tax figures), and no guidance on how to phrase the query.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
home_loan_emi_inIndian home loan EMIBRead-onlyIdempotentInspect
INDIA. EMI, total interest and the RBI loan-to-value caps for a home loan; default rate = RBI weighted average lending rate on fresh housing loans (latest month, provisional).
| Name | Required | Description | Default |
|---|---|---|---|
| loan_amount | Yes | Loan in rupees. | |
| tenure_years | No | Years (default 20). | |
| interest_rate | No | % a year (optional). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent, read-only, non-open-world calculation, so the safety profile is covered. The description adds genuinely useful context the annotations do not: the default interest rate source (RBI weighted average lending rate on fresh housing loans) and that it is the latest month and provisional. It still says nothing about how LTV caps vary by loan size or what the returned figures look 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 dense sentence with the market ('INDIA.') front-loaded and the scope stated before the default-rate caveat. No wasted clauses, though the all-caps market tag and semicolon-chained outputs make it slightly terse.
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 three-parameter calculator with full schema coverage and annotations carrying the safety profile, the description covers the operation, its outputs, and the default-rate assumption. The absence of an output schema is mitigated because the description enumerates the three returned values; only edge-case behavior for LTV caps is unstated.
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 loan_amount, tenure_years, and interest_rate are already documented, giving a baseline of 3. The description corroborates the optional interest_rate by explaining its fallback source, but adds no units, bounds, or formatting 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 the resource (home loan EMI) and enumerates the outputs — EMI, total interest, and RBI loan-to-value caps — for the India market, which no sibling covers. It is a noun phrase rather than an explicit verb like 'calculate', but the intent is unambiguous and distinguishable from the price/tax/guide siblings.
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 such as taux_courants, acheter_ou_louer, or compare_states_in, nor any prerequisite guidance. The only conditional info is about the default rate, which is a parameter detail rather than usage routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
home_prices_mxMexican home appraisal values and price index (SHF)ARead-onlyIdempotentInspect
MEXICO. Sociedad Hipotecaria Federal figures: median and mean appraisal value of homes bought with a mortgage by state (Jan.-June 2026), and the price index change over a year by state or municipality. Prices in pesos exist by state only.
| Name | Required | Description | Default |
|---|---|---|---|
| place | No | A Mexican state or municipality, e.g. "Quintana Roo", "Mérida". Empty = national. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, read-only, idempotent operation, so the safety profile is covered. The description usefully adds data-scope constraints (Jan.-June 2026 vintage, pesos available by state only, index by state or municipality), which is genuine behavioral context. It does not describe return format or limits, so it adds moderate rather than rich value 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 front-loaded sentence leads with the country and source, then enumerates the returned metrics and the geographic granularity. No filler. It packs several facts into one sentence, which borders on dense but stays readable.
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 adequately by naming the metrics, units, and geographic breakdown. Annotations handle safety. The main omission is period/coverage caveats beyond the stated Jan.-June 2026 window, but for a single-parameter lookup tool this is fairly 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?
Schema description coverage is 100% and the single 'place' parameter is fully documented in the schema (including empty = national). The description mentions state/municipality scope, but the subtle detail that peso prices exist by state only is not tied explicitly to the parameter, so it adds little beyond the schema. Baseline 3 for high coverage.
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 source (Sociedad Hipotecaria Federal) and states exactly which metrics are returned: median/mean appraisal value by state and the year-over-year price index change by state or municipality. It is clear what an agent gets back. It does not explicitly differentiate itself from siblings like house_prices_* or compare_states_mx, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the content (query Mexican SHF appraisal/index figures) but there is no explicit when-to-use, when-not-to-use, or named alternative among the many sibling price tools. An agent can infer the domain but must guess how this differs from compare_states_mx or the country price tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
home_prices_usUS median home value by state and main cityBRead-onlyIdempotentInspect
UNITED STATES. Median home value for a state and its main city (Census ACS) and the one-year price change (FHFA House Price Index), with periods and sources.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | US state: any of the 50 states, by name or two-letter code (e.g. "Texas", "TX"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds genuine value by naming the data sources (Census ACS, FHFA House Price Index) and noting periods and sources are included, which tells the agent about data provenance and vintage. It stops short of covering update cadence, coverage limits, or failure modes, so a 3 is appropriate.
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 no filler, and the country scope is front-loaded so the agent filters it against siblings immediately. The parenthetical source attributions interrupt the flow slightly but each earns its place by indicating data provenance.
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 no output schema, the description adequately signals the return payload (median value, one-year change, periods, sources) so the agent knows what it gets back. The only real gap is the absence of routing guidance against closely related US tools.
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 'state' parameter is already documented with accepted formats, so the baseline is 3. The description adds one implicit detail — that city is not a parameter but is derived as the state's main city — but nothing about the state value syntax 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 a specific verb+resource: median home value for a US state and its main city, plus the one-year price change. The 'UNITED STATES' prefix clearly disambiguates it from house_prices_au/uk/in and the other country-specific siblings. It does not, however, explicitly contrast itself with near-neighbors like state_overview_us or compare_states_us.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no named alternative. An agent cannot tell from the description whether to call this or state_overview_us / compare_states_us for a given user question.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
home_sales_itItalian home sales by city and regionARead-onlyIdempotentInspect
ITALY. Home sales (OMI register of the Agenzia delle Entrate) in 2024 and 2025 (provisional), sales per 1,000 residents and population (ISTAT) for the 20 regions and the 20 cities with the most sales.
| Name | Required | Description | Default |
|---|---|---|---|
| place | No | City or region, e.g. "Bologna", "Tuscany", "Lombardia". Empty = Italy. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld=false, so safety is covered. The description earns its keep by adding what annotations cannot: data provenance (OMI, Agenzia delle Entrate, ISTAT), temporal coverage including provisional 2025, and hard coverage limits (only 20 regions, only the 20 top-selling cities). It still says nothing about response shape, but with no output schema that is the main omission.
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, front-loaded with the country marker 'ITALY.' and then the data definition. Every parenthetical (OMI register, provisional, ISTAT) carries provenance information that matters; there is 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 one-optional-param lookup with no output schema and read-only annotations, the description supplies scope, years, granularity and source, which is close to sufficient. It omits the return shape and what happens for an out-of-scope place, minor but noticeable 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 defines 'place' with examples and the empty-string default, so the baseline is 3. The description adds genuine value beyond the schema by revealing that only 20 regions and the 20 highest-selling cities are served, which constrains what a valid 'place' value can be and warns against assuming arbitrary municipalities.
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 (home sales data for Italy) and pins down the exact scope: 2024/2025, 20 regions and top-20 cities. An agent knows immediately this is Italian residential transaction data, not prices or mortgage data. It never explicitly names a sibling (e.g. compare_regions_it, stats_marche) to disambiguate, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The text describes content only; it gives no when-to-use condition, no prerequisite, and no alternative tool to prefer for regional comparison or price queries. With siblings like home_prices_us, house_prices_es and compare_regions_it in the same family, the absence of routing guidance 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.
house_prices_auAustralian dwelling prices (ABS)ARead-onlyIdempotentInspect
AUSTRALIA. ABS Total Value of Dwellings, latest quarter: for a state or territory, the MEAN price of all dwellings; for a capital city or a "rest of state" area, the MEDIAN price of established houses sold. The price_type field says which; the two are not comparable.
| Name | Required | Description | Default |
|---|---|---|---|
| area | No | e.g. "Victoria", "Sydney", "Rest of Queensland". Empty = Australia (mean dwelling price). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower, yet the description adds real domain context: it discloses the ABS source, that only the latest quarter is returned, and that mean and median values are not comparable. That comparability caveat is valuable information not present in structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the country and dataset. The only slightly cryptic line is 'The price_type field says which', which references a return field absent from the schema, but it still earns its place by disambiguating the two measures.
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-optional-parameter, read-only lookup with no output schema, the description supplies nearly everything an agent needs: source, recency, area semantics, and the mean/median distinction. Minor omissions (currency/units explicitly stated, historical breadth) are low-impact.
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 baseline is 3, but the description goes further by explaining that the meaning of the result changes with the area type (state/territory yields MEAN, capital city or 'rest of state' yields MEDIAN). That semantics-of-input mapping is genuinely useful beyond the schema's bare examples.
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 (ABS Total Value of Dwellings, latest quarter) tied to a specific country, and immediately differentiates itself from the house_prices_in / house_prices_uk / home_prices_us siblings via the AUSTRALIA scoping. An agent can identify exactly what dataset this returns.
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 'AUSTRALIA.' prefix implicitly routes the agent to the correct country tool, but no alternative is named and no when-not condition is given. Usage is implied by geography rather than stated explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
house_prices_beBelgian house and apartment prices (Statbel medians)ARead-onlyIdempotentInspect
BELGIUM. Median price of houses and of apartments, with the number of sales, the change over one and ten years and the latest quarters, for a municipality (55 covered: the 19 Brussels municipalities, Wallonian and Flemish cities), a province or a Region. Statbel medians of recorded resale deeds (FPS Finance), no median under 16 sales.
| Name | Required | Description | Default |
|---|---|---|---|
| area | Yes | e.g. "Liège", "Gent", "Ixelles", "Provincie Antwerpen", "Wallonia". "Brussels" = the Region; "Bruxelles" = the City of Brussels. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the bar is low; the description adds valuable domain constraints beyond them: exactly 55 covered areas, the source registry (Statbel/FPS Finance), and the suppression rule 'no median under 16 sales'. It also enumerates the returned metrics (median, sales count, 1y/10y change, latest quarters). It does not state fallback behavior when an area is uncovered.
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 but well-ordered sentence-sequence: country front-loaded, then metrics returned, then valid area granularity, then supplier and suppression caveat. No filler. Slightly packed for a single paragraph, 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?
For a one-parameter, non-destructive read with no output schema, the description covers the essentials: what is returned, at what geographic granularity, from what source, and the reliability caveat. An agent has everything needed to call it correctly and interpret the result.
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 'area' parameter already carries concrete examples with the useful Brussels/Bruxelles disambiguation. The description adds only the '55 covered' constraint, which is a coverage note rather than parameter syntax. Baseline 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?
States a specific verb+resource (median price of houses and apartments) with explicit geographic scope (Belgium) and data provenance (Statbel medians of recorded resale deeds). The 'BE' qualifier combined with '55 covered' municipalities instantly separates it from house_prices_au/es/in/uk and home_prices_us/mx without opening any 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?
Usage is implied by the required area parameter and the enumeration of valid area granularities (municipality, province, Region), but there is no explicit when-to-use guidance and no routing to alternatives such as stats_marche, compare_regions_be, or acheter_ou_louer. The agent must infer that this is the price-lookup tool rather than the market-overview tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
house_prices_esSpanish home values by city and regionBRead-onlyIdempotentInspect
SPAIN. Ministry average appraised value per m² (Q2 2026) for 55 cities and the 19 regions, its change over a year, and the INE house price index by region.
| Name | Required | Description | Default |
|---|---|---|---|
| place | No | City or region, e.g. "Marbella", "Balearic Islands". Empty = Spain. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent, closed-world read, so the safety burden is offloaded. The description adds useful provenance the annotations cannot convey — data source (Ministry, INE), vintage (Q2 2026), and coverage breadth — but says nothing about caching, rate limits, or how missing places are handled.
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, front-loaded with the country identifier and packed with scope, source, period, and metrics. Nothing is wasted or repeated.
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 single-parameter lookup with rich annotations and no output schema, the description does state which values come back (per m² value, one-year change, regional index). It stops short of describing the return structure, but given the tool's simplicity and the annotation coverage this is nearly 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?
Schema description coverage is 100% and the single 'place' parameter already carries examples and the empty-string default in the schema. The description adds no extra syntax or semantics beyond what the schema supplies, 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 names a concrete resource (Ministry average appraised value per m²) plus the exact coverage (55 cities, 19 regions), the change metric, and the INE index, so the agent knows precisely what data this returns. The leading 'SPAIN.' and the _es suffix separate it from the other country-level house_prices_* tools, but it never distinguishes itself from the potentially overlapping compare_regions_es sibling.
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 pick this tool versus house_prices_uk/au/in, home_prices_us/mx, compare_regions_es, or stats_marche. The agent must infer usage purely from the country marker in the description and tool name, which is minimal guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
house_prices_inIndian house price indices (RBI, NHB RESIDEX)ARead-onlyIdempotentInspect
INDIA. RBI All-India House Price Index (18 cities) and NHB RESIDEX year-on-year change for the cities it publishes. Indices only: no official open series gives rupee prices by city.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | e.g. "Bengaluru", "Mumbai". Empty = all-India indices. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description still adds real value beyond them by disclosing the data limitation: values are index/yoy changes, not rupee prices, and no open series provides city-level rupee prices.
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 tight sentences, front-loaded with the 'INDIA.' scope marker followed by the sources and the key limitation. Every clause carries information; 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?
For a one-optional-parameter, annotation-covered read tool, this is nearly complete: it identifies the sources, coverage, and that output is yoy index change. With no output schema, a bit more on result shape or units would fully close the gap, but the essential call information is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'city' parameter is fully documented with an example and the empty-value behavior. The description adds no parameter detail beyond the schema, so the baseline 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 the exact resources (RBI All-India House Price Index over 18 cities and NHB RESIDEX year-on-year change) and the country scope, so it is immediately distinguishable from the sibling house_prices_us/uk/au tools. An agent knows precisely what data this returns without opening the 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?
Usage is implied by the country/data scope, and the sentence 'Indices only: no official open series gives rupee prices by city' usefully sets a when-not expectation about rupee prices. However, it never names an alternative or states the condition under which another tool (e.g. compare_states_in, stats_marche) should be chosen instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
house_prices_ukUK average house prices (UK House Price Index)ARead-onlyIdempotentInspect
UNITED KINGDOM. Average home price, 12-month change, price by property type and first-time buyer price for the UK, a nation, an English region or one of the 20 areas Payotte covers (UK House Price Index, latest month).
| Name | Required | Description | Default |
|---|---|---|---|
| area | No | e.g. "Leeds", "City of Edinburgh", "London", "Wales". Empty = the UK. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, read-only, idempotent, non-open-world operation, so the safety profile is fully covered and the description is not required to restate it. The description adds the useful temporal constraint ('latest month'), but says nothing about data recency, revision behavior, or how areas are matched, which the annotations do not supply.
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 that front-loads the scope marker 'UNITED KINGDOM' and then enumerates the returned metrics and geography levels. Dense but every clause carries information; the long list of metrics is the only mild bloat.
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 correctly enumerates what the tool returns (average price, 12-month change, price by property type, first-time buyer price) and the geography granularity, which is the information an agent needs to decide if this answers the query. Only minor gaps remain, such as data vintage beyond 'latest month'.
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 examples and the empty=UK default, so the baseline is 3. The description goes slightly beyond it by defining the valid area universe (a nation, an English region, or one of the 20 areas Payotte covers), which directly informs what strings the 'area' parameter will accept.
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 a specific resource and scope: UK average home price plus 12-month change, property-type breakdown and first-time buyer price, for the UK, a nation, region or one of 20 covered areas. It also implicitly distinguishes itself from the many sibling price tools (house_prices_us/au/in) via the UK/US/UK-region scope, though it never names 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?
Usage is only implied: an agent can infer this is the tool for UK house price figures, but there is no explicit when-to-use, when-not-to-use, or pointer to alternatives such as compare_nations_uk or stats_marche. No caveats about which geography the user must supply are given beyond the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mortgage_payment_brBrazilian mortgage payment, SAC and PriceARead-onlyIdempotentInspect
BRAZIL. Monthly payment under the Price system (constant) and the SAC system (falling), total interest, CMN loan-to-value caps; default rate = Banco Central average on new housing loans to individuals (latest month).
| Name | Required | Description | Default |
|---|---|---|---|
| term_years | No | Years (default 30). | |
| loan_amount | Yes | Loan in reais. | |
| interest_rate | No | % a year, effective (optional). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower, and the description still adds real substance: how each system behaves (constant vs falling payment) and the provenance of the default rate (Banco Central average on new housing loans to individuals, latest month). It does not clarify error behavior or whether the output includes a full amortization schedule.
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 country scope front-loaded and zero filler. The semicolon-chained clauses about the default rate are packed tightly but each carries information, 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?
With no output schema, the description must describe returns, and it does list the payment under both systems, total interest, and LTV caps. For a three-parameter, one-required calculator this is nearly sufficient; the main missing piece is routing guidance against the many sibling jurisdiction calculators.
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 meaning beyond the schema by explaining what happens when interest_rate is omitted — a Banco Central average rather than a fixed literal. It also frames the loan_amount as reais and the term as years, reinforcing the schema's own notes.
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 (Brazilian mortgage monthly payment) and specifies the two amortization regimes (Price and SAC) plus the companion outputs (total interest, CMN LTV caps). The 'BRAZIL' prefix and the Portuguese-system-specific terms clearly separate it from mortgage_payment_es and mortgage_payment_mx, though no sibling is named and there is no explicit verb ('computes').
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 reach for this tool versus taux_courants, purchase_costs_br, or the other national mortgage calculators. Usage is only implied by the tool's nature as a payment calculator, which is the definition of implied guidance rather than explicit when/when-not routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mortgage_payment_deGerman mortgage monthly paymentARead-onlyIdempotentInspect
GERMANY. Monthly payment and total interest of an annuity loan; default rate = Bundesbank average effective rate on new housing loans fixed over 5 up to 10 years (latest month). Also returns the other fixation periods.
| Name | Required | Description | Default |
|---|---|---|---|
| term_years | No | Years (default 30). | |
| loan_amount | Yes | Loan in euros. | |
| interest_rate | No | % a year (optional). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a safe, idempotent, non-destructive read (readOnlyHint, idempotentHint), so the safety burden is covered. The description goes beyond them by disclosing the fallback behavior: when no rate is given it uses the Bundesbank average effective rate on new housing loans fixed 5-10 years for the latest month, and it also returns the other fixation periods. No permissions or limits are mentioned, but for a read-only calculator 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?
Two tight sentences, front-loaded with jurisdiction and the computed outputs, with the default-rate behavior following. The 'GERMANY.' fragment is terse but functional as a routing tag; almost 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?
There is no output schema, so the description carries the return-value burden, and it does so at a reasonable level: it states the two headline outputs and mentions the additional fixation periods. For a deterministic read-only calculator with full schema coverage, this is close to complete, though it could say more about the shape of the returned fixation-period data.
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 parametric baseline is 3. The description adds meaning beyond the schema by explaining what happens when interest_rate is omitted (the Bundesbank default) — a behavior the schema only labels 'optional' — and by indicating that fixation periods beyond the 5-10 year default are also returned.
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 outputs (monthly payment and total interest of an annuity loan) and pins the jurisdiction with the leading 'GERMANY.' tag, which cleanly separates it from the many sibling mortgage_payment_* tools. An agent can tell what it computes and for which country without opening the 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?
Usage is implied by the country tag and the annuity-loan framing, so an agent can infer this is the German tool for loan-payment math. However, there is no explicit when-to-use statement, no note on when a sibling such as purchase_costs_de or taux_courants is the better choice, and no stated prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mortgage_payment_esSpanish mortgage monthly paymentARead-onlyIdempotentInspect
SPAIN. Monthly payment and total interest of a repayment mortgage; default rate = Banco de España average rate on mortgages over three years (latest month). Also returns the 12-month Euribor.
| Name | Required | Description | Default |
|---|---|---|---|
| term_years | No | Years (default 25). | |
| loan_amount | Yes | Loan in euros. | |
| interest_rate | No | % a year (optional). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive behavior, and the description adds meaningful context beyond them: the default interest rate falls back to Banco de España's three-year average (latest month), and the tool also returns the 12-month Euribor. It does not describe output formatting, but it does disclose what is computed, which is the key behavioral fact for a calculator.
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 market scope front-loaded and no filler. It is efficient, though the semicolon-joined clause about the default rate and the Euribor return is slightly crammed for easy parsing.
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 calculator with no output schema, the description covers what is computed, the default-rate behavior, and the secondary return value. The one gap is that it never states the required loan_amount input or the term default of 25 years in prose, but the schema carries those details.
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 documents all three parameters, setting a baseline of 3. The description adds value by pinning down the default for the optional interest_rate — the Banco de España three-year average rather than the bare 'optional' the schema gives — which is exactly the ambiguity an agent would otherwise face.
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 computation (monthly payment and total interest of a repayment mortgage) for a specific market (SPAIN), plus a secondary return (12-month Euribor). The 'SPAIN' prefix cleanly distinguishes it from the sibling mortgage_payment_br, mortgage_payment_mx, and home_loan_emi_in without needing to open any 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?
Usage is implied by the name and market scope — an agent can infer this is the Spanish mortgage calculator. However, there is no explicit when-to-use/when-not guidance and no reference to the sibling alternatives, so it stays at the implied level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mortgage_payment_itItalian mortgage monthly paymentARead-onlyIdempotentInspect
ITALY. Monthly payment and total interest of a constant-instalment loan; default rate = ECB average agreed rate for Italy on new housing loans fixed over 5 up to 10 years (latest month). Also returns the other fixation periods.
| Name | Required | Description | Default |
|---|---|---|---|
| term_years | No | Years (default 25). | |
| loan_amount | Yes | Loan in euros. | |
| interest_rate | No | % a year (optional). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety bar is low. The description adds real value beyond them: the ECB data source, the default fixation period (fixed 5 up to 10 years, latest month), and the fact that other fixation periods are also returned. It stops short of describing rounding, currency handling, or amortization detail.
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 the country scope and the core computation; two clauses of dense, relevant content. The trailing 'Also returns the other fixation periods' is slightly cryptic and would read better tied to the output, 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?
With no output schema, the description carries the return-value burden and mostly does so (monthly payment, total interest, other fixation periods). The default-rate explanation closes the main parameter ambiguity. Minor gaps remain around output units/format and precision, but the essentials are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds genuine semantics for interest_rate by explaining the default ECB rate and its fixation period when the parameter is omitted. The term_years and loan_amount semantics are left to the schema, which already documents them.
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 computation (monthly payment and total interest of a constant-instalment loan) and scopes it to Italy via the leading 'ITALY.' marker, which cleanly distinguishes it from the country-specific siblings mortgage_payment_de/es/br/mx. An agent can tell what it does and which country it targets without opening the 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?
Usage is only implied (compute an Italian mortgage payment) with no explicit when-to-use, when-not-to-use, or named alternatives among the mortgage_payment_* siblings. It does explain the default-rate context, but that is behavioral detail rather than routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mortgage_payment_mxMexican fixed-rate mortgage paymentARead-onlyIdempotentInspect
MEXICO. Monthly payment and total interest of a fixed-rate peso mortgage; default rate = Banco de México average of advertised fixed-rate offers (latest month), with the average CAT and the Banxico target rate.
| Name | Required | Description | Default |
|---|---|---|---|
| term_years | No | Years (default 20). | |
| loan_amount | Yes | Loan in MXN. | |
| interest_rate | No | % a year (optional). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description earns credit by disclosing the fallback behavior when interest_rate is omitted — the default is the Banco de México average of advertised fixed-rate offers for the latest month — and by naming the additional reported figures (average CAT, Banxico target rate). It stops short of describing calculation assumptions or rounding.
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 country marker and primary outputs front-loaded, and no filler. It is packed but every clause (default rate source, extra outputs) 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 carry the return values, and it does name monthly payment, total interest, average CAT, and the Banxico target rate. Combined with full parameter coverage, this is nearly complete; only calculation conventions remain unstated.
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 real meaning beyond the schema: it explains what the optional interest_rate parameter defaults to and what source that default comes from, which the schema's '% a year (optional)' 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 specific output (monthly payment and total interest) for a specific resource (fixed-rate peso mortgage) and pins the scope with 'MEXICO.' and 'peso'. This clearly separates it from mortgage_payment_br and mortgage_payment_es without the agent opening any 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?
Usage is implied by the country and currency markers, so an agent can infer this is the Mexican mortgage calculator, but there is no explicit when-to-use statement, no exclusion, and no pointer to alternative siblings. Adequate but with a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
natural_hazards_usUS natural hazards and home insurance by stateARead-onlyIdempotentInspect
UNITED STATES. Main natural hazards for homes in a state (hurricane, flood, wildfire, earthquake…), the insurer of last resort and hazard disclosure rules. Covered: 14 high-risk states.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | US state: any of the 50 states, by name or two-letter code (e.g. "Texas", "TX"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive, so the safety profile is fully covered. The description adds the useful scope constraint of 14 high-risk states and lists the content categories returned, but does not say which 14 states, nor how a non-covered state behaves.
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, front-loaded sentences with the geography stated first and coverage limits placed last. Minor redundancy between the 'UNITED STATES' prefix and the '_us' name, but no wasted prose.
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 one required parameter, no output schema and annotations covering the read-only profile, the description is close to sufficient: it names the data categories returned and flags the limited state coverage. The main remaining gap is not enumerating the 14 covered states.
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 'state' parameter already documents accepted formats (name or two-letter code). The description adds nothing about the parameter, 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 concrete subject and sub-parts: the main natural hazards for a home in a US state, the insurer of last resort, and hazard disclosure rules. It gives an agent enough to know the payload, though it never differentiates itself from near-neighbours such as seller_disclosure_us or state_overview_us.
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 sibling is named as an alternative. The only routing signal is the coverage note 'Covered: 14 high-risk states', which implicitly warns the agent this tool is not universal for all 50 states.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
non_resident_tax_esSpanish non-resident tax on a home that is not letARead-onlyIdempotentInspect
SPAIN. Non-resident income tax (IRNR) for 2026 on the imputed income of a home a non-resident keeps without letting it: 2% (or 1.1%) of the cadastral value, taxed at 24% (19% for EU/EEA residents).
| Name | Required | Description | Default |
|---|---|---|---|
| share_pct | No | Ownership share in % (default 100). | |
| days_owned | No | Days owned in the year (default 365). | |
| values_revised | No | Municipal cadastral values revised in the last ten years (1.1%). | |
| cadastral_value | Yes | Cadastral value in euros (IBI bill). | |
| eu_eea_resident | No | Resident of an EU/EEA state (19%); otherwise 24% (UK, Canada, USA…). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is low. The description nevertheless adds real domain behavior: the 2% / 1.1% basis on cadastral value and the 24% / 19% applied rate, plus the tax year, which an agent can use to sanity-check or explain the result.
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 country and the tax name front-loaded, and no filler. The nested parentheticals carry rate detail that is genuinely useful, though the stacking makes it slightly heavy to parse.
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 heavy lifting by disclosing the full calculation basis and the year, which is what an agent needs to call it correctly. It stops short of saying what comes back (a euro amount) or confirming that share and days-owned prorate the result.
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 baseline is 3. The description restates the rate logic that the schema fields (values_revised -> 1.1%, eu_eea_resident -> 19%) already document, adding reinforcement rather than new parameter meaning; share_pct and days_owned go unmentioned.
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: computing Spanish non-resident income tax (IRNR) on imputed income of a non-let home for 2026. The scenario described ('a home a non-resident keeps without letting it') is unmistakably distinct from siblings like purchase_costs_es, mortgage_payment_es or property_tax_us.
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 pins down the scenario well enough to imply when the tool applies (non-resident, property not rented out). However, it never states an exclusion or names an alternative for a related case such as a rented-out property, leaving the agent to infer boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
property_tax_appeal_usUS property tax appeal deadline by stateARead-onlyIdempotentInspect
UNITED STATES. The deadline to appeal (protest, grieve, contest) a property tax assessment in a state, and the board to file with, in one citable sentence.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | US state: any of the 50 states, by name or two-letter code (e.g. "Texas", "TX"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world scope, so safety is covered. The description adds real value beyond them by disclosing the return shape ('one citable sentence') and the payload contents (deadline + the board to file with) in the absence of an 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?
Two short sentences, jurisdiction constraint front-loaded, deliverable stated second, with zero filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter lookup with no output schema, the description supplies the missing return-format information ('one citable sentence') and the jurisdiction boundary. It stops short of noting edge cases (multi-deadline or non-appealable states) or citation currency, which would make it fully 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?
Schema description coverage is 100% and the schema already documents that 'state' accepts a full name or two-letter code with examples. The description only restates the state scoping ('in a state'), adding no format or validation detail beyond the schema, 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?
Names a specific verb+resource: the deadline to appeal a property tax assessment in a US state, plus the board to file with, and parenthetically covers the terminology variants (protest, grieve, contest) an agent might encounter. It is clearly distinct from the sibling property_tax_us, though it never names or contrasts that sibling 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 implied by the narrow scope: 'UNITED STATES' plus a single required state parameter signals this is a jurisdiction-specific lookup. There is no explicit when-to-use/when-not statement and no alternative tool is named, so an agent must infer routing from the scope alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
property_tax_usUS property tax by stateBRead-onlyIdempotentInspect
UNITED STATES. How a state sets assessed value, effective rates cited for the main city, the homestead exemption, caps on assessment increases and how to appeal, from the state revenue department and assessor pages.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | US state: any of the 50 states, by name or two-letter code (e.g. "Texas", "TX"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds genuine context by naming the data sources (state revenue department and assessor pages), but says nothing about freshness, coverage gaps, or return format.
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 that opens with the jurisdiction scope ('UNITED STATES') before listing the returned facets. No filler, though the trailing comma-list makes it read more like a content spec than a purpose statement.
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 full schema coverage, safety annotations, and no output schema, the description carries the burden of conveying what comes back, and it does so by listing the five facets of property-tax information. It is complete enough to call correctly, with only the appeal-sibling overlap left 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% and the single 'state' parameter is fully documented in the schema, including the accepted name/two-letter-code formats. The description adds no syntax or format detail beyond that, so the baseline 3 is correct.
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 (US state property taxation) and enumerates the exact facets covered: assessed value methodology, effective rates for the main city, homestead exemption, assessment caps, and appeals. This tells an agent what the tool returns without opening a schema. It does not, however, differentiate itself from the sibling property_tax_appeal_us, which its mention of 'how to appeal' overlaps with.
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, when-not-to-use, or alternative-tool guidance. An agent must infer from the sibling list that property_tax_appeal_us handles appeals more deeply, since the description never says so. The facet list implies a lookup use case but gives no routing signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
purchase_costs_beBelgian home purchase costs: registration duty, notary, other costsARead-onlyIdempotentInspect
BELGIUM. Computes the costs of buying an existing home in Brussels-Capital, Wallonia or Flanders: the Region's registration duty (12.5% / 12% or the sole-home reduced rate and abatements), the notary fees from the legal tariff plus VAT, the estimated other costs, and optionally the mortgage deed. Same figures as the calculator on payotte.com/belgium/purchase-costs (FR: /belgique/frais-achat, NL: /belgie/aankoopkosten).
| Name | Required | Description | Default |
|---|---|---|---|
| price | Yes | Purchase price in euros. | |
| region | No | Region of the home. Registration duties are regional. May be omitted if municipality is given. | |
| sole_home | No | Sole and own home (you will live there and own no other home). Default true. False = normal rates. | |
| loan_amount | No | Optional: mortgage amount in euros, to add the cost of the mortgage deed. | |
| municipality | No | Optional: a municipality Payotte covers (e.g. "Liège", "Gent", "Ixelles"), used to find the Region when region is omitted. | |
| flemish_core_city | No | Flanders only: the home is in a core city (centrumstad) or the Flemish Periphery (Vlaamse Rand). Default false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent, read-only, closed-world calculation, so the description's burden is lighter. It still adds real behavioral content: the actual duty rates (12.5% / 12%), the sole-home reduced-rate and abatement logic, notary tariff plus VAT, and the adjective 'estimated' on other costs, which warns the output is approximate rather than authoritative.
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 the country and the verb, and the component list is dense without filler. The trailing payotte.com URL/multilingual-reference sentence earns its place only as a fidelity anchor; it is the one expendable 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?
With no output schema, the description adequately pre-announces the returned cost components and that the result is an estimate, and the schema covers region/municipality resolution. It could go one step further on whether new-build purchases are out of scope and on currency/rounding assumptions, but nothing essential for calling it 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%, so the schema already documents all six parameters, establishing a 3 baseline. The description only loosely reinforces that the mortgage deed cost is tied to the optional loan parameter and mentions the sole-home reduced rate, adding no syntax or format detail beyond the schema — and flemish_core_city is never surfaced.
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 — computes the cost of buying an existing home — and enumerates the components (registration duty, notary fees + VAT, other costs, optional mortgage deed) and the three covered regions. The 'BELGIUM' scoping plus region names make it instantly distinguishable from purchase_costs_es, purchase_costs_br and taxe_mutation.
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 word 'existing' quietly excludes new-builds (which follow VAT rules), and 'optionally the mortgage deed' signals when loan_amount matters. There is no explicit statement of when to prefer this over siblings like frais_notaire_fr or compare_regions_be, and no prerequisites or exclusions are spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
purchase_costs_brBrazilian home purchase costs: ITBI, notary deed, registrationARead-onlyIdempotentInspect
BRAZIL. Computes the municipal ITBI transfer tax (general rate read in the law of 40 cities), the notary deed and the registration (2026 table of 21 states) on a home purchase in one of the 55 cities covered. Missing parts are flagged (lower limit or not computed), never estimated.
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | City, e.g. "Rio de Janeiro", "Florianópolis", "Salvador". | |
| price | Yes | Price in reais (e.g. 500000). | |
| reference_value | No | City reference value in reais, if higher than the price. |
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 useful behavioral context beyond that: missing components are flagged as a lower limit or not computed, and are never estimated — a fidelity guarantee an agent would not otherwise know.
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 no filler, and the jurisdiction marker plus verb are front-loaded. The stacked parentheticals about 40 cities / 21 states / 55 cities are informative but slightly packed, keeping it short of maximal.
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 name the three computed cost components, and it discloses coverage limits and the no-estimation policy. It stops short of describing the response shape or pagination, but for a single-shot calculation tool that 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 description coverage is 100%, so all three parameters (city, price, reference_value) are already documented in the schema. The description adds no syntax, format or edge-case detail for them, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Precise verb (Computes) plus the exact artifacts (municipal ITBI transfer tax, notary deed, registration) and clear scope (55 cities, 40-city rate table, 21-state table). An agent can distinguish it at a glance from siblings like purchase_costs_es, purchase_tax_uk and transfer_tax_us.
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 'BRAZIL' prefix and 'in one of the 55 cities covered' implicitly tell an agent when this tool applies, but there is no explicit when/when-not statement and no named alternative for other countries covered by sibling tools. Usage is inferred rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
purchase_costs_deGerman purchase costs on a home, by stateARead-onlyIdempotentInspect
GERMANY. Computes real estate transfer tax (Grunderwerbsteuer) at the rate of each of the 16 states, notary and land registry fees from the GNotKG fee table (in force 1 June 2025), and optionally the land charge for a loan and an agent commission the user gives.
| Name | Required | Description | Default |
|---|---|---|---|
| price | Yes | Price in euros. | |
| state | Yes | State (English or German name) or a covered city (e.g. "Bayern", "Munich"). | |
| loan_amount | No | Loan secured by a land charge, in euros (optional). | |
| agent_commission_pct | No | Agent commission the buyer pays, % of the price (optional; no legal rate exists). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior, and the description adds real domain context: the tax is computed at each state's own rate, notary/registry fees come from the GNotKG table dated 1 June 2025, and loan/commission components are optional and user-supplied. That version date is useful behavioral disclosure 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 dense sentence, front-loaded with the country marker and the main computation before the optional components. Efficient, though the parenthetical and version-date clauses make it slightly heavy for one sentence.
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, and the description explains what is computed but not the shape of the result (e.g. whether it returns a breakdown, totals, or per-component lines). For a calculator with four optional inputs, that leaves a modest gap an agent cannot resolve from structured fields alone.
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 parameters are already documented; baseline is 3. The description adds some framing ('at the rate of each of the 16 states', 'land charge for a loan', 'commission the user gives'), but no new syntax or constraints 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 a specific verb (computes) and resource (real estate transfer tax, notary and land registry fees) with explicit geographic scope (Germany, 16 states). The 'GERMANY.' prefix and the field list let an agent distinguish it from sibling calculators like purchase_costs_it or purchase_costs_es at a glance.
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 country-specific scope implies when to use it (buying a home in Germany), but there is no explicit when-to-use/when-not guidance and no named alternative. Given the large sibling set of country cost calculators, naming the alternative for other countries would have been useful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
purchase_costs_esSpanish purchase taxes and fees on a home, by regionARead-onlyIdempotentInspect
SPAIN. Computes transfer tax (ITP) on a resale home, or VAT/IGIC and stamp duty (AJD) on a new home, plus land registry fees and the notary's deed fee, at the general rates of each of the 17 regions, Ceuta and Melilla (official texts read), on the higher of the price and the Catastro reference value.
| Name | Required | Description | Default |
|---|---|---|---|
| price | Yes | Price in euros. | |
| region | Yes | Region (English or Spanish name) or a covered city (e.g. "Marbella", "Andalucía"). | |
| new_home | No | New home bought from the developer (VAT + AJD) instead of a resale home (ITP). | |
| reference_value | No | Catastro reference value in euros, if known. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent, closed-world read, so the safety profile is covered. The description adds genuinely useful behavior beyond that: rates are the *general* regional rates, official texts were read, and the taxable base is the higher of price and Catastro reference value — a non-obvious calculation rule. It omits the return shape, which keeps it below 5.
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, front-loaded with 'SPAIN.' and leading with the verb 'Computes'. Every clause carries information (tax types, scope, rate basis), though the parenthetical '(official texts read)' and '(ITP)/(AJD)' asides make it slightly heavy for one sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an annotation-covered, four-parameter calculator with full schema coverage, the description supplies the geographic scope, the resale-vs-new tax logic, and the reference-value base rule. No output schema exists, so a brief note on what the result contains (e.g. an itemized tax/fee breakdown) would complete it, but nothing needed 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 coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema: the key rule that the base is the higher of price and reference_value, and the new_home flag's consequence (VAT+AJD vs ITP) tying it to the tax path. It does not add value on region name matching 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 verb-and-resource pair (computes transfer tax/VAT/registry/notary fees on a Spanish home purchase) plus the geographic scope (17 regions, Ceuta and Melilla). It is easily distinguished from siblings like purchase_costs_br, purchase_tax_uk or frais_notaire_fr, and it names the exact tax instruments (ITP, VAT/IGIC, AJD) it handles.
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 implicitly explains the branching condition that selects the calculation path (resale home → ITP; new home from developer → VAT + AJD), which is real usage context. However, it never explicitly states when to prefer this tool over siblings such as frais_notaire_fr or transfer_tax_us, nor any preconditions (e.g. region must be covered).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
purchase_costs_itItalian purchase taxes on a homeARead-onlyIdempotentInspect
ITALY. Computes the national purchase taxes: registration tax 9% (2% with prima casa relief, min. €1,000) on the price or the cadastral value (prezzo-valore) plus €50 + €50 on a resale from a private owner; VAT 10% (4% prima casa, 22% luxury A/1, A/8, A/9) plus €200 × 3 on a new build from a builder; optional substitute tax on the mortgage (0.25% / 2%) and an agent commission the user gives. The notary fee is never computed (no tariff).
| Name | Required | Description | Default |
|---|---|---|---|
| price | Yes | Price in euros. | |
| seller | No | "private" (resale, default) or "builder" (new build sold with VAT). | |
| first_home | No | Prima casa relief (main home, conditions apply). | |
| loan_amount | No | Mortgage in euros (optional). | |
| luxury_category | No | Cadastral category A/1, A/8 or A/9 (excluded from the relief). | |
| cadastral_income | No | Rendita catastale in euros, to tax the cadastral value instead of the price (private seller only, optional). | |
| agent_commission_pct | No | Agent commission the buyer pays, % of the price (optional; no legal rate exists). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a safe, idempotent read. The description adds genuinely useful behavioral context beyond them: it discloses that the notary fee is never computed ('no tariff') and that the agent commission has no legal rate. These caveats prevent wrong expectations about what the tool returns.
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 front-loaded 'ITALY. Computes...' opening is good, but the content is a single dense run-on sentence packing rates, minima, and conditions. Every clause carries real information, yet the absence of any sentence breaks or structure makes it hard 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?
For a 7-parameter tax calculator with no output schema, the description covers the full computation logic and explicitly states what is excluded (notary fee). It is nearly complete, though it could note the currency of return values or the basis of the computed total.
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%, which sets a baseline of 3, but the description goes further by tying parameters to outcomes (first_home → 2% registration/VAT relief, luxury_category A/1 A/8 A/9 → 22% and exclusion from relief, seller → private/builder, cadastral_income → prezzo-valore). This adds computational meaning the schema descriptions alone do 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?
Opens with 'ITALY. Computes the national purchase taxes', naming a specific verb and resource within a named jurisdiction. It clearly separates itself from siblings like purchase_costs_de/es/br and frais_notaire_fr by scoping to Italian national purchase taxes.
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 implicitly routes usage through scenarios: 'resale from a private owner' vs 'new build from a builder', and notes the mortgage substitute tax and agent commission are optional. It does not explicitly name an alternative sibling or state when NOT to use it, so it stops just short of full guidelines.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
purchase_duty_auAustralian transfer (stamp) duty on a home, by stateARead-onlyIdempotentInspect
AUSTRALIA. Computes the duty on buying a home in a state or territory (NSW, VIC, QLD, WA, TAS, ACT, NT; not SA, whose rate pages Payotte could not read) with first home buyer, principal residence, foreign buyer (surcharge and FIRB fee) and new home options, plus land titles registration fees. Rates as on payotte.com/australia; warnings list every assumption and any upper-limit figure.
| Name | Required | Description | Default |
|---|---|---|---|
| price | Yes | Purchase price in Australian dollars. | |
| state | Yes | NSW, VIC, QLD, WA, SA, TAS, ACT or NT (or the full name). | |
| new_home | No | New dwelling or vacant land (QLD first home concession, FIRB fee scale). | |
| foreign_buyer | No | Foreign buyer under state law: surcharge and FIRB fee added, concessions not applied. | |
| first_home_buyer | No | Eligible for the state first home buyer exemption or concession. | |
| principal_residence | No | The home will be the principal place of residence. | |
| include_mortgage_registration | No | Add the mortgage registration fee. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds value beyond that by disclosing the rate provenance ("Rates as on payotte.com/australia") and the return behavior ("warnings list every assumption and any upper-limit figure"), which tells the agent the result carries caveats rather than a bare number.
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 the jurisdiction marker and the core verb, then the option list and finally the source/warning note. It is dense and slightly run-on (the parenthetical SA aside interrupts the state list), but every clause carries operational 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?
With no output schema, the description does the work of signalling what comes back: a duty figure plus warnings enumerating assumptions and upper-limit figures. Combined with the 100%-covered input schema and safety annotations, an agent has enough to call it correctly; only a concrete note on pagination or response shape is absent, which is not relevant 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 description coverage is 100%, so the schema already documents price, state, and each eligibility flag; baseline is 3. The description groups the options into a scenario ("first home buyer, principal residence, foreign buyer (surcharge and FIRB fee) and new home options"), which adds modest framing, but it introduces a small mismatch by citing "land titles registration fees" while the actual parameter is include_mortgage_registration.
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 ("Computes the duty on buying a home") and scopes it to Australia with a per-state/territory breakdown. It goes further than siblings like stamp_duty_in or purchase_tax_uk by naming the supported jurisdictions (NSW, VIC, QLD, WA, TAS, ACT, NT) and explicitly excluding SA with a reason, so an agent can route without opening any 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 description makes the usage context clear: buying a residential home in Australia, with an explicit coverage exclusion (SA not supported). It does not name alternative tools to use instead when SA or non-AU jurisdictions are the target, so the routing is implied by the "AUSTRALIA." prefix and state list rather than stated as when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
purchase_tax_ukUK purchase tax on a home: SDLT, LBTT or LTTARead-onlyIdempotentInspect
UNITED KINGDOM. Computes the tax on buying a home: Stamp Duty Land Tax (England, Northern Ireland), Land and Buildings Transaction Tax (Scotland) or Land Transaction Tax (Wales), for a home mover, a first-time buyer or an additional property, with the non-UK resident surcharge and the HM Land Registry fee. Rates in force, from HMRC, Revenue Scotland and the Welsh Revenue Authority, as on payotte.com/uk.
| Name | Required | Description | Default |
|---|---|---|---|
| price | Yes | Purchase price in pounds sterling. | |
| nation | Yes | England, Scotland, Wales or Northern Ireland. | |
| situation | No | Home mover (default), first-time buyer, or additional property (second home, buy-to-let). | |
| non_resident | No | Non-UK resident buyer (England and Northern Ireland only). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: the rates are current and sourced from HMRC, Revenue Scotland and the Welsh Revenue Authority, and the calculation includes the HM Land Registry fee.
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, front-loaded with the jurisdiction and the action verb, followed by scope, situations and provenance. Every clause carries information; there is no padding.
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-only calculator with no output schema, the description covers jurisdiction, regime selection, buyer situations, surcharges and rate provenance. It does not indicate what the result contains (e.g. a tax breakdown vs a single figure), which is the only remaining 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 every parameter (price, nation, situation enum, non_resident) is already documented with meaning and constraints in the schema. The description restates the situation and residency dimensions but adds no syntax or format detail beyond what the schema supplies, 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 ('Computes the tax on buying a home') and enumerates the exact regimes covered (SDLT for England/NI, LBTT for Scotland, LTT for Wales). An agent can distinguish this from sibling tools like stamp_duty_in, purchase_duty_au and transfer_tax_us purely from the description.
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 clear context for when the tool applies, including the three buyer situations (mover, first-time buyer, additional property) and the non-UK resident surcharge. It stops short of naming alternatives or exclusions (e.g. when to prefer guide_uk or compare_nations_uk), so it is clear but not fully routing-aware.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rents_deGerman census rents and home ownership by city and stateARead-onlyIdempotentInspect
GERMANY. Average net cold rent per m², owner-occupation and vacancy rates at the 2022 census for the largest cities and the 16 states.
| Name | Required | Description | Default |
|---|---|---|---|
| place | No | City or state, e.g. "Leipzig", "Bavaria". Empty = Germany. |
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 useful context beyond that: the data vintage (2022 census) and the exact metric set returned, which tells the agent what it is getting and how current it is.
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 compact sentence, front-loaded with the country scope, with no filler. It is dense but every clause carries information; the only minor cost is that density makes it read as a data blurb rather than an instruction.
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 single-parameter lookup with full annotation coverage and no output schema, the description supplies the needed scope: country, metrics, granularity and vintage. An agent can call it correctly without more, though a note on coverage limits (only largest cities, not all municipalities) would close the remaining 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% and the single 'place' parameter already documents city/state examples and that empty means Germany. The description only restates the granularity (largest cities and 16 states), adding no syntax or format detail beyond the schema, 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 names a specific dataset: average net cold rent per m², owner-occupation and vacancy rates, at census granularity (largest cities and the 16 states). This is far more specific than the tautological title and clearly separates it from sibling pricing tools like purchase_costs_de or mortgage_payment_de. It stops short of explicitly naming the sibling it is not, so a 5 is not warranted.
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 (guide_de, compare_states_de, stats_marche, purchase_costs_de) and no exclusions or prerequisites. The metrics imply a use case, but nothing is written as guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
risques_annee_constructionRisques selon l’année de construction / Risks by construction yearARead-onlyIdempotentInspect
Call this when someone asks what to check in a house given its age, or before an inspection. Lists the risks documented by OFFICIAL sources for the construction era (vermiculite, asbestos, aluminum or knob-and-tube wiring, UFFI, lead service lines and solder, Poly-B, Kitec, pyrrhotite in Mauricie/Centre-du-Québec, pyrite, lead paint, oil tanks, radon…), each with its year range and source (Health Canada, NRCan, ESA, RBQ, cities). Year taken from the open roll when an address is given, or from "annee". A list of what to verify, never a diagnosis.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | ||
| annee | No | Construction year, if no address or if the roll lacks it. | |
| adresse | No | ||
| province | Yes | ||
| municipalite | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower. The description adds genuine context beyond them: it discloses the year-resolution fallback ('taken from the open roll when an address is given, or from annee') and clarifies output nature ('a list of what to verify, never a diagnosis').
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 the trigger, then the risk inventory, then the resolution mechanics. It is dense but every clause carries information; the enumerated risk list is long but justifies its space as the tool's payload.
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 moderately complex tool with no output schema, the description conveys what is returned (risks, each with a year range and source) and how the year is resolved. It stops short of explaining municipalite's effect and return format details, but nothing critical to invoking 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 coverage is only 20%, so the description must compensate, and it does for the load-bearing params: it explains how adresse and annee interact for resolving the year, and province is required. The roles of municipalite and lang are not spelled out in the description, leaving a small gap.
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 lists risks documented by official sources for a home's construction era, with named examples. It is unmistakably distinct from the finance/inspection siblings (frais, taxe, taux, stats), so an agent can route to it without opening a 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?
Explicit trigger conditions are given: 'when someone asks what to check in a house given its age, or before an inspection.' No sibling alternatives are named, but the use context is clear enough for confident selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
salaire_requisSalaire requis pour acheter / Income needed to buy in a cityARead-onlyIdempotentInspect
Call this when the user asks what income is needed to buy a home in a Canadian city. Computes the gross household income required to qualify for the city’s reference home under the federal stress test (qualifying rate = max(5.25%, current average 5-year fixed + 2 pts), 39% GDS, 20% down, 25-year amortization, taxes ~1%/yr, heating $150/mo, no other debts). Same published methodology as payotte.com/salaire-pour-acheter-une-maison-canada. A theoretical qualification threshold, not a loan offer.
| Name | Required | Description | Default |
|---|---|---|---|
| prix | No | Optional price in CAD to test instead of the city’s reference price. | |
| ville | Yes | City, e.g. "Montréal", "Vancouver", "Halifax". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior, and the description adds substantial calculation context: the stress test rate formula, GDS ratio, down payment, amortization, tax and heating assumptions, and an explicit disclaimer that it is not a loan offer. This is rich behavioral disclosure beyond structured data.
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 usage trigger, followed by the computation method, methodology source, and disclaimer. Every sentence adds necessary context, and there is no filler despite the technical detail.
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 no output schema, the description clearly states that the tool computes a gross household income figure and describes the assumptions behind it. It could go slightly further by specifying the exact return shape or units, but it is otherwise complete for the agent's needs.
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 baseline is 3. The description implies that ville selects a city reference home and prix optionally overrides it, but this largely restates the schema descriptions rather than adding new semantic detail.
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 computational resource: the gross household income required to buy a home in a Canadian city. It clearly distinguishes this from sibling tools by output type, but it never explicitly names an alternative or contrast, so it falls short of the explicit sibling differentiation expected for 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?
It gives a clear triggering condition: call when the user asks what income is needed to buy a home in a Canadian city. No when-not guidance or alternative tool recommendations are provided, but the usage context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seller_disclosure_usUS seller disclosure law by stateARead-onlyIdempotentInspect
UNITED STATES. Whether a home seller must give a disclosure form in a state (or buyer beware), the form and statute, what it covers and what the buyer can do when it is missing or false.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | US state: any of the 50 states, by name or two-letter code (e.g. "Texas", "TX"). |
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 adds value by disclosing the scope of the returned subject matter (form, statute, coverage, remedies for missing/false disclosure), which partly stands in for the absent 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 no filler, front-loaded by jurisdiction, and the rest of the sentence is a compact enumeration of the tool's outputs. 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 one-parameter, read-only lookup with no output schema, the description covers the input domain (a US state) and the answer's dimensions (requirement, form/statute, coverage, remedies). Nothing an agent needs to call and interpret it 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 'state' parameter is fully documented in the schema, including the name/two-letter-code format. The description only echoes the state scoping ('in a state') without adding any format or validation detail, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific subject (US state seller disclosure law) and enumerates exactly what the tool returns: whether a form is required or it's buyer-beware, the form and statute, its coverage, and buyer remedies. It is clearly distinguishable from price/tax/closing siblings, though it never names an alternative tool 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 implied by the 'UNITED STATES' scope prefix and the state-level framing, so an agent can infer this is the state-disclosure reference for US transactions. However, there is no explicit when-to-use guidance and no routing away from adjacent tools like state_overview_us or federal_guide_us.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stamp_duty_inIndian stamp duty and registration on a home, by stateARead-onlyIdempotentInspect
INDIA. Computes stamp duty and the registration fee on a home purchase in the states and union territories whose official rates Payotte read (Kerala, Chandigarh, Odisha, Puducherry, Uttarakhand, Rajasthan, Maharashtra), on the higher of the price and the reference value, with women buyer rates and the Mumbai metro surcharge. Other states (Delhi, Karnataka, Tamil Nadu…) return "not computed" with no figure.
| Name | Required | Description | Default |
|---|---|---|---|
| price | Yes | Price in rupees (₹50 lakh = 5000000). | |
| state | Yes | State or union territory (name, ISO code like KL, or a covered city like Mumbai). | |
| mumbai | No | Maharashtra only: property in Mumbai (BMC), 1% metro surcharge. | |
| woman_buyer | No | Woman buyer (reduced rate where the state text provides one). | |
| reference_value | No | State reference value (guidance value, circle rate…) in rupees, if known. | |
| maharashtra_area | No | Maharashtra only: Municipal Corporation, Municipal Council/Nagar Panchayat/MMR rural, or Gram Panchayat area. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover read-only/idempotent/non-destructive, and the description adds genuinely non-obvious behavior: computations use the higher of price and reference value, women-buyer rates apply, a 1% Mumbai metro surcharge exists, and unsupported states return 'not computed' rather than an error or estimate. That last point is important output behavior and is not derivable from any structured field.
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 the jurisdiction tag and the core action, then coverage, computation basis, and the no-figure fallback — every clause carries information. The single dense sentence is slightly heavy but not 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?
With no output schema, the description carries return-value burden and does so partially, telling the agent that uncovered states yield 'not computed' with no figure. It leaves the shape of a successful result (duty amount, registration fee, breakdown) implicit, which is the main remaining gap for a 6-parameter calculation 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 coverage is 100%, so baseline is 3, but the description adds real meaning: reference_value is consumed via a max() against price (not a simple override), and mumbai/woman_buyer are tied to specific rate adjustments. This explains how parameters interact rather than merely restating their names.
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 (computes stamp duty and registration fee on a home purchase) scoped precisely to India and named states/UTs. It distinguishes itself from the many sibling tax tools (purchase_duty_au, purchase_tax_uk, transfer_tax_us, frais_notaire_fr) by jurisdiction and by naming exactly which states it covers. An agent can identify the tool and its coverage without opening the 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?
Explicitly states the positive case (seven covered states) and the negative case (Delhi, Karnataka, Tamil Nadu return 'not computed' with no figure), so the agent knows when not to rely on it. It doesn't name an alternative tool for uncovered states, but that exclusion is clear enough to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
state_overview_usBuying a home in a US state: key factsARead-onlyIdempotentInspect
UNITED STATES. Key home-buying facts for a state (transfer tax, property tax, disclosure, attorney, foreclosure) and the list of Payotte articles for that state with their one-line answers.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | US state: any of the 50 states, by name or two-letter code (e.g. "Texas", "TX"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so safety behavior is covered. The description usefully adds what the payload contains (facts plus article list with one-line answers), but says nothing about invalid/unknown state input, whether content is curated vs generated, or freshness — gaps the annotations cannot fill.
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 densely packed sentence, front-loaded with the jurisdiction ('UNITED STATES') and the resource, with no filler. Slightly list-heavy, but every clause earns its place by enumerating covered subtopics.
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 compensates well by describing the return shape (key facts plus state article list with one-line answers) and the geographic scope. Minor missing piece is failure behavior for a non-US or misspelled state in a closed-world 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% and already specifies name or two-letter code with examples, so the baseline is 3. The description adds nothing about the state parameter beyond what the schema states.
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 a clear resource (a US state) and enumerates the exact facts returned — transfer tax, property tax, disclosure, attorney, foreclosure — plus a Payotte article list. This distinguishes it from the single-topic siblings (transfer_tax_us, property_tax_us, seller_disclosure_us, foreclosure_us) as the umbrella/aggregate view, though it never explicitly says it is the summary entry point.
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 topical list suggests 'call this for a broad overview instead of several single-topic lookups', but no when-to-use statement or alternative is named. No exclusions (e.g., non-US jurisdictions, or when a dedicated tool is preferred) are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stats_marcheStatistiques du marché immobilier par ville / Per-city housing-market statsARead-onlyIdempotentInspect
Call this for current housing-market figures in a Canadian city: reference price (MLS HPI benchmark or median), year-over-year change, sales volume, months of inventory, days on market, 5-year growth. Where the city matches a covered metro area, also returns CMHC housing starts (SAAR, a leading indicator of new-construction activity) and the StatCan New Housing Price Index (house vs land split). Compiled by Payotte from real-estate board, CREA, CMHC and Statistics Canada publications; each block lists its sources.
| Name | Required | Description | Default |
|---|---|---|---|
| ville | Yes | City, e.g. "Montréal", "Ottawa", "Vancouver". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world. Beyond that, the description discloses provenance (real-estate board, CREA, CMHC, StatCan) and the conditional return behavior for metro-matched cities, which an agent needs to interpret the response. It does not state data freshness/currency beyond 'current', which is the main remaining 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 dense sentences, front-loaded with the trigger ('Call this for...') followed by the payload. The metric list is long but each item earns its place by telling the agent what data comes back; the sources sentence is slightly trailing but useful.
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 describing returns and does so adequately, including the conditional CMHC/StatCan blocks. It omits units/currency and data-recency caveats, which an agent might still need for correct interpretation.
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?
Only one parameter (ville), and the schema already documents it at 100% coverage with matching city examples. The description adds no format, normalization, or matching-rule detail (e.g. how a city name is resolved to a covered metro), so the schema does the heavy lifting — 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 states a specific verb+resource ('current housing-market figures in a Canadian city') and enumerates the exact metrics returned (MLS HPI benchmark or median, YoY change, sales volume, months of inventory, DOM, 5-year growth). It is unambiguous against siblings like taux_courants or taxe_mutation, which cover different 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?
'Call this for...' gives a clear triggering context, and the conditional clause tells the agent when extra CMHC/StatCan blocks appear (when the city matches a covered metro). No explicit exclusions or named alternatives are given, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stats_marche_frPrix immobiliers DVF en France / French property prices (DVF)ARead-onlyIdempotentInspect
FRANCE. Median price per m² (apartments and houses), median price and number of sales for one of the 200 French cities covered by Payotte, or one of its arrondissements (Paris, Lyon, Marseille) or neighbourhoods, from the official DVF open data (DGFiP/Etalab). Latest full year and the year before. Cells under 10 sales are never published.
| Name | Required | Description | Default |
|---|---|---|---|
| ville | Yes | Ville, p. ex. « Bordeaux », « Lyon ». | |
| quartier | No | Facultatif : nom d’un quartier officiel de la ville. | |
| arrondissement | No | Facultatif : « 15e », « 75015 »… (Paris, Lyon, Marseille). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world). The description adds genuinely useful behavior: the DVF/DGFiP-Etalab provenance, that only the two most recent full years are returned, and that cells with fewer than 10 sales are suppressed — a disclosure rule an agent would otherwise not know.
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 country and the returned metrics, followed by coverage scope, data source and the suppression caveat. No filler clauses; each phrase adds 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?
With no output schema, the description carries the burden of describing returns and does so: median €/m², median price, sales count, two years of data. Combined with annotations and a fully documented schema, an agent has nearly everything needed, though the exact response shape (e.g., per-arrondissement breakdown) remains unstated.
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 documents ville, quartier and arrondissement. The description adds scope context (200 covered cities; arrondissement granularity limited to Paris/Lyon/Marseille), but that largely repeats what the schema already states, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and scope: median price per m² (apartments and houses), median price and sales count for French cities/arrondissements/neighbourhoods, sourced from DVF. The 'FRANCE' prefix and DVF attribution implicitly separate it from the country-agnostic sibling stats_marche, but no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description defines the coverage envelope (200 French cities, arrondissements of Paris/Lyon/Marseille, neighbourhoods) and the time window (latest full year plus the prior year), which implies when the tool is appropriate. It never states when to prefer it over stats_marche or another pricing sibling, so routing remains inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
taux_courantsTaux d'intérêt canadiens courants / Current Canadian interest ratesARead-onlyIdempotentInspect
Call this for the current Canadian reference interest rates: the Bank of Canada policy (overnight target) rate, the prime rate, and system-average mortgage rates (5-year fixed, variable), plus Government of Canada benchmark bond yields (2/5/10-year — the 5-year yield is the leading indicator behind 5-year fixed mortgage rates). Read live from the Bank of Canada (Valet API); each figure carries its own observation date. Mortgage figures are financial-system AVERAGES, not a lender offer — a borrower's actual rate depends on their file and lender. Source: Bank of Canada.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior, so the bar is lower. The description still adds real value beyond them: the upstream source (Bank of Canada Valet API), that figures are read live, that each carries its own observation date, and the important caveat that mortgage numbers are system AVERAGES rather than a lender offer.
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 the trigger and the headline list of rates, then layered with source, date semantics, and the averages caveat. It is on the longer side for a single paragraph, but each clause carries distinct information an agent would otherwise have to guess.
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 what comes back, and it does so thoroughly (the specific rate types plus per-figure observation dates). Source provenance and the mortgage-average caveat round out everything needed to call and interpret it.
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 of 4 applies. The description instead spends its budget describing the returned figures, which is the useful information for a no-input tool.
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 a specific resource (current Canadian reference interest rates) and enumerates exactly which figures it returns: BoC policy rate, prime rate, system-average mortgage rates, and GoC benchmark bond yields. An agent can distinguish this from 'stats_marche' or other siblings without reading any 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?
Opens with an explicit trigger ('Call this for the current Canadian reference interest rates'), giving clear context for when it applies. It does not, however, name an alternative sibling or state when-not to use it, so routing against 'stats_marche' 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.
taxe_bienvenue_adresseTaxe de bienvenue à une adresse / Land transfer tax at an addressARead-onlyIdempotentInspect
Call this for the land transfer tax ("taxe de bienvenue") on a purchase at a SPECIFIC address. In Quebec (Act respecting duties on transfers of immovables, s. 2 and 1.1) and New Brunswick (s. 2(1.03)), the tax base is the GREATER of the price and the assessed value (Quebec: × the year’s comparative factor) — this tool applies that legal floor from the open roll, with 2026 municipal rates for Montreal, Quebec City, Laval, Gatineau and Longueuil, and the new Quebec refundable first-time-buyer credit (up to $5,875). Elsewhere the tax is computed on the price alone. The municipality’s bill and the notary/lawyer confirm the exact amount.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | ||
| prix | Yes | Purchase price in CAD. | |
| adresse | No | ||
| province | Yes | ||
| municipalite | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish a safe, read-only, idempotent computation, so the bar is lower. The description adds real value beyond them: the legal floor (greater of price and assessed value), the Quebec/NB vs. elsewhere computation model, the covered municipalities, and the disclaimer that the municipality's bill and notary confirm the exact amount, signalling this is an estimate.
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 is front-loaded in the first sentence, followed by the supporting legal detail. It is dense and leans on statutory citations that an agent does not need, but every sentence still contributes to understanding the calculation or its limits.
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 still conveys the computation basis and the caveat that the authoritative amount comes from the municipality/notary. Combined with annotations covering safety, an agent has enough to invoke it correctly, though it never describes the response shape or whether a breakdown is returned.
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 only 20% (only prix is documented), so the description must compensate. It does so partially: province is tied to the legal regime (Quebec/NB vs. elsewhere), municipalite to the 2026 municipal rates for named cities, and adresse to the open roll/assessed value. The lang enum and the accepted province values are never explained.
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 first sentence states a specific verb and resource: compute the land transfer tax ("taxe de bienvenue") for a purchase at a SPECIFIC address. The "SPECIFIC address" scope implies the distinction from the generic sibling taxe_mutation, but it never names that alternative explicitly, so the differentiation is left to inference.
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?
"Call this for the land transfer tax on a purchase at a SPECIFIC address" gives a clear triggering condition. However, it never says when NOT to use it (e.g. vs. taxe_mutation for a general estimate) nor names any alternative, so routing 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.
taxe_mutationCalculer la taxe de mutation / Compute the land transfer taxARead-onlyIdempotentInspect
Call this when the user wants to know the land-transfer tax ("taxe de bienvenue" in Quebec) on a home purchase in a Canadian city or province. Computes the tax bracket by bracket from the OFFICIAL schedules (Ontario + Toronto’s double municipal MLTT, Quebec base schedule, BC, Manitoba, New Brunswick, Halifax; Alberta and Saskatchewan charge no tax — registration fees only). Give a price, or just a city to use its current reference market price. Includes first-time-buyer rebates. Not covered: PEI and Newfoundland.
| Name | Required | Description | Default |
|---|---|---|---|
| prix | No | Purchase price in CAD. Omit with a ville to use the city’s reference market price. | |
| ville | No | City, e.g. "Toronto", "Montréal", "Calgary". Determines the schedule AND the default price. | |
| province | No | Province name or code — required if no ville is given. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already guarantee read-only, idempotent, non-destructive behavior, so the description need only add domain behavior — and it does: bracket-by-bracket computation from official schedules, jurisdiction-specific rules (Toronto's double municipal MLTT, AB/SK charging none), rebate inclusion, and a market-price fallback. It does not say how stale the reference prices are or what the output breakdown looks like, which keeps it short of a 5.
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 the trigger and the core computation, then a coverage list. The jurisdiction enumeration is long but each item carries real selection value (it tells the agent whether the answer will be trustworthy for a given city), so the length is largely earned rather than padding.
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 three-parameter, no-output-schema calculator with a full annotation set, the description supplies the missing dimension structured fields cannot: jurisdictional coverage, the no-tax provinces, and rebate handling. Only the shape of the returned tax breakdown is unaddressed, which is minor.
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 already documented, including that province is required when ville is absent. The description restates the either/or input pattern ('Give a price, or just a city') but adds no syntax, format, or default-value detail beyond the schema, which is the correct baseline-3 outcome.
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 ('Computes the land-transfer tax') and anchors it to a concrete user intent ('when the user wants to know the land-transfer tax on a home purchase'). The coverage list and the 'Not covered: PEI and Newfoundland' limit make it unambiguous versus the 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?
Opens with an explicit trigger ('Call this when the user wants to know…'), states the two acceptable input modes (a price, or just a city), and names the jurisdictions it does not handle. When-not conditions are explicit, which is unusually strong for a tax calculator.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
title_insurance_usUS title insurance rates by stateBRead-onlyIdempotentInspect
UNITED STATES. Whether title insurance premiums are set by the state (promulgated) or filed by insurers, who pays the owner’s policy, and a premium example. Covered states: Florida, Iowa, New Mexico, Texas.
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | US state: any of the 50 states, by name or two-letter code (e.g. "Texas", "TX"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered and the description's bar is lower. The description usefully discloses the substantive content returned (rate-setting mechanism, payer of the owner's policy, a sample premium), but says nothing about error behavior or what happens for unsupported states.
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?
Compact and front-loaded: jurisdiction marker first, then the three content points, then coverage limits. Every clause carries information, though the covered-states list would read better as an explicit constraint on the `state` argument.
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 tool with no output schema and full annotation coverage, this is adequate: it says what data comes back. The unresolved conflict between "any of the 50 states" in the schema and the four-state coverage list is the main gap an agent would hit at call time.
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 `state` parameter, so the baseline is 3. The description does add genuine scope information ("Covered states: Florida, Iowa, New Mexico, Texas"), but that directly tensions with the schema's claim of "any of the 50 states," leaving the agent unsure which states actually work rather than resolving the ambiguity.
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 resource (US title insurance rate-setting) and enumerates the exact questions answered: promulgated vs. filed rates, who pays the owner's policy, and a premium example. It is clearly distinguishable from sibling tax tools like transfer_tax_us or closing_costs_us, though it never names a sibling explicitly, which keeps it at a 4 rather than 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?
Scope is implied rather than stated: the leading "UNITED STATES." marker and the covered-states list tell the agent this is a US-specific lookup, but there is no when-to-use/when-not-to-use guidance and no pointer to alternatives for non-covered states or for related cost questions (closing_costs_us, transfer_tax_us).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transfer_tax_usUS real estate transfer tax by stateARead-onlyIdempotentInspect
UNITED STATES. Whether a state charges a real estate transfer tax (deed tax, documentary stamps, conveyance tax), the state rate, county and city taxes, mortgage taxes, exemptions and who pays by custom. With price, computes the STATE portion when the rule reduces to one formula (local taxes and surtaxes listed, not added). From the state statute, as summarized on payotte.com/usa.
| Name | Required | Description | Default |
|---|---|---|---|
| price | No | Optional purchase price in US dollars. | |
| state | Yes | US state: any of the 50 states, by name or two-letter code (e.g. "Texas", "TX"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly/idempotent/non-destructive, so the description's added value is output behavior: it warns that local taxes and surtaxes are 'listed, not added' and that only the state portion is computed. It also cites the source of truth (state statute, summarized on payotte.com/usa), which is meaningful provenance. It does not discuss staleness or rate-limit concerns, but it goes well 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?
One dense paragraph, front-loaded with the jurisdiction marker ('UNITED STATES') and the core question answered. Nearly every clause carries scope information, though the long enumeration of covered topics is close to the point of being a list rather than prose.
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 describing returns, and it does so by enumerating the fields conceptually (rate, county/city taxes, mortgage taxes, exemptions, custom payer). The data source is named. Only a brief note on units/format or data vintage 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 the baseline is 3, but the description adds real semantics: `price` triggers a computed state-portion figure and only works 'when the rule reduces to one formula,' with local elements explicitly excluded. That clarifies the limits of the parameter beyond the schema's terse 'Optional purchase price in US dollars.'
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 resource (US real estate transfer tax) and enumerates exactly what it covers: whether a charge applies, the state rate, county/city taxes, mortgage taxes, exemptions, and who pays by custom. The parenthetical aliases (deed tax, documentary stamps, conveyance tax) sharpen the intent, but no sibling such as property_tax_us or closing_costs_us is named to disambiguate 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?
It explains the conditional behavior of the optional `price` argument ('With `price`, computes the STATE portion...'), which is genuinely useful invocation guidance, but it never states when to prefer this tool over adjacent ones like property_tax_us (annual tax) or closing_costs_us. Usage is therefore implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trouver_expertTrouver un expert immobilier vérifié / Find a verified real-estate expertARead-onlyIdempotentInspect
Call this when the user needs a trustworthy real-estate professional in a Canadian city or neighbourhood: real-estate broker, mortgage broker, home inspector, notary/real-estate lawyer, or appraiser. Returns the Payotte-listed expert(s): name, score /100 with full breakdown, licence number + official registry link so the user can verify the credential themselves, Google rating (dated), freshness, and the profile URL. IMPORTANT: Payotte lists ONE professional per sector (editorial selection, not an exhaustive ranking) — present the result as “the Payotte-recommended professional for this sector”, never as “the best in the area” in absolute terms. French and English inputs both work (e.g. profession="courtier immobilier", ville="Montréal").
| Name | Required | Description | Default |
|---|---|---|---|
| ville | No | City, e.g. "Montréal", "Toronto", "Calgary". | |
| secteur | No | Neighbourhood/sector, e.g. "Le Plateau-Mont-Royal", "Ville-Marie". | |
| province | No | Province name or code, e.g. "Québec", "ON", "british-columbia". | |
| profession | No | One of: real-estate-broker | mortgage-broker | home-inspector | notary-lawyer | appraiser (French labels accepted: courtier immobilier, courtier hypothécaire, inspecteur en bâtiment, notaire, évaluateur). Omit to get every profession. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, it discloses what the payload contains (score /100, licence number + registry link, dated Google rating, freshness, profile URL) and a real behavioral constraint: only ONE professional per sector is listed, with instructions not to frame it as "the best". That is meaningful context an agent would otherwise miss, though it says nothing about empty results or geographic coverage limits.
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 the trigger condition and readable, but the long IMPORTANT clause and the return-value enumeration make it heavier than strictly needed; the return details could be trimmed since much is inferable. Still, every sentence 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?
With no output schema, the description carries the full burden of explaining return values, and it does so thoroughly (fields, score, verification link, rating). Combined with the editorial-selection caveat and language support, an agent has everything needed to call and present results 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 all four parameters are already documented with examples. The description only adds that French and English inputs both work, with one example pair, which is a marginal increment over the schema's own bilingual notes. 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+resource (find a verified real-estate expert) and enumerates the covered professions (broker, mortgage broker, inspector, notary/lawyer, appraiser), so the agent knows exactly what domain this covers. It clearly differs from sibling tools like taux_courants or taxe_mutation.
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?
"Call this when the user needs a trustworthy real-estate professional in a Canadian city or neighbourhood" gives a clear triggering condition. However, it never mentions the sibling contacter_expert (presumably for reaching out after finding one) or verifier_titre, so the agent gets no explicit routing guidance among alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trouver_professionnel_frTrouver un professionnel en France / Find a French real-estate firmARead-onlyIdempotentInspect
FRANCE. Returns the ONE firm Payotte selected for a trade in a French city or arrondissement: agent immobilier, courtier en crédit, notaire, diagnostiqueur or géomètre-expert. Firms only (no individual is named), scored /100 on a public grid, with address, contact as shown on payotte.com/france and the profile link. Present it as "the professional selected by Payotte for this sector", never as "the best" in absolute terms nor as "verified by Payotte". Returns caseVacante when no firm is selected.
| Name | Required | Description | Default |
|---|---|---|---|
| ville | Yes | Ville, p. ex. « Nantes ». | |
| metier | Yes | Métier : agent-immobilier, courtier-credit, notaire, diagnostiqueur, geometre-expert. | |
| secteur | No | Arrondissement pour Paris, Lyon, Marseille (« 11e », « 75011 ») ; inutile ailleurs. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive, closed-world behavior, so the bar is lower. The description still adds substantive context beyond them: exactly one firm is returned, results are scored /100 on a public grid, and the empty case returns 'caseVacante'. The presentation constraints ('never as the best', 'never as verified by Payotte') are unusual but genuinely useful behavioral guidance for how to relay the answer.
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 'FRANCE' and the core verb, then the métier list and return payload. Dense but every clause carries information; the presentation rules are wordy but are the tool's distinguishing contract, not filler. Slightly long for a single-result lookup.
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: address, contact as shown on payotte.com/france, profile link, a /100 score, and the caseVacante empty state. Missing only pagination/multi-result behavior, which is moot for a single-firm lookup. Complete enough for correct invocation and correct relay of the result.
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 documents ville, metier and secteur, including the arrondissement formats ('11e', '75011') and the fact that secteur is useless outside Paris/Lyon/Marseille. The description only echoes city/arrondissement scoping and adds no format or validation 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?
States a specific verb and resource ('Returns the ONE firm Payotte selected for a trade in a French city or arrondissement') and immediately enumerates the five covered métiers (agent immobilier, courtier en crédit, notaire, diagnostiqueur, géomètre-expert). The 'FRANCE' prefix and the geo-specific parameters distinguish it from the country-scoped siblings (check_professional_uk, check_professional_au, etc.).
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 'FRANCE' opener and 'secteur ... inutile ailleurs' imply the geographic and municipal scope, so an agent can infer when this tool applies. However, no sibling is named as an alternative (trouver_expert, contacter_expert, check_professional_* for other countries), and there is no explicit when-not guidance. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verifier_titreVérifier un titre professionnel / Which regulator governs this titleARead-onlyIdempotentInspect
Call this when the user wants to know whether a real-estate profession is regulated in a Canadian province, which body regulates it, and where to verify a licence or membership. Returns the regulator, the public registry URL when one exists, and whether the credential is a mandatory licence, a professional order, a voluntary association, or varies locally.
| Name | Required | Description | Default |
|---|---|---|---|
| province | No | Province name or code. Omit to get every province for that profession. | |
| profession | Yes | real-estate-broker | mortgage-broker | home-inspector | notary-lawyer | appraiser (French labels accepted). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, closed-world, non-destructive behavior, so the safety profile is covered. The description adds useful context beyond that: it enumerates what the call returns (regulator, public registry URL when one exists, and the credential classification), which matters because no output schema exists. It could still say more about the four credential categories or missing-data behavior.
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 waste: the first is the trigger condition, the second is the return contract. Front-loaded with the when-to-call clause, exactly what an agent scans first.
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 compensates by describing the returned fields (regulator, registry URL, credential type) and the conditional nature of the URL. Combined with read-only annotations and fully documented parameters, an agent has everything needed to call and interpret this 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?
Schema description coverage is 100%: the schema already documents that 'province' may be omitted to broaden results and lists the accepted 'profession' values. The description adds no format, casing, or fallback guidance for either parameter, 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 (verify) and resource (a professional title / its regulator), plus the exact question it answers: is this profession regulated, by which body, and where to verify a licence. None of the sibling tools (taux_courants, salaire_requis, trouver_expert, etc.) overlap with this regulatory-verification purpose, so an agent can select it unambiguously.
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 opening clause 'Call this when the user wants to know whether a real-estate profession is regulated...' gives an explicit trigger condition an agent can match against user intent. It does not name exclusions or contrasting siblings, but the sibling set is in clearly different domains, so no real ambiguity remains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verifier_titre_frVérifier le titre d’un professionnel en France / Check a French professional’s credentialARead-onlyIdempotentInspect
FRANCE. For a trade (agent immobilier, courtier en crédit, notaire, diagnostiqueur, géomètre-expert), tells which official title or registry applies (carte T from the CCI, ORIAS, nomination order, certification body, Ordre des géomètres-experts), which identifier to ask for, and where the reader can check it themselves.
| Name | Required | Description | Default |
|---|---|---|---|
| metier | Yes | Métier : agent-immobilier, courtier-credit, notaire, diagnostiqueur, geometre-expert. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds value by disclosing the shape of the answer — the applicable title/registry (carte T, ORIAS, nomination order, etc.), the identifier to request, and where the reader can self-verify — which tells the agent this is a static advisory answer, not a live person check.
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 but front-loaded sentence that opens with the jurisdiction ('FRANCE') and then the trades and the returned content. Every clause carries information, though the parenthetical registry list makes it slightly heavy for a single-parameter tool.
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 correctly spends its budget describing what comes back (registry, identifier, verification venue). Combined with annotations covering the safety profile, an agent has enough to call it correctly; the missing piece is any guidance on sibling selection within the large credential-check family.
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 'metier' parameter already lists its accepted values, so the baseline is 3. The description largely restates the same trade list (with slightly different spacing/hyphenation than the schema), adding no format, casing, or fallback guidance beyond what the schema provides.
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 ('tells which official title or registry applies') plus a concrete resource and geographic scope (FRANCE, five named trades), so an agent immediately knows this returns a reference mapping rather than a lookup of an individual. It does not, however, explicitly distinguish itself from the generic 'verifier_titre' or 'trouver_professionnel_fr' siblings, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the agent can infer you call it with a trade to learn the applicable registry and identifier. There is no explicit when-to-use, when-not-to-use, or routing to the many sibling credential tools (verifier_titre, check_professional_uk/au/in, verify_license_us), which is a real gap given how crowded this family is.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_license_usVerify a US real estate professional’s licenseARead-onlyIdempotentInspect
UNITED STATES. For a profession (real-estate-agent, mortgage-loan-officer, home-inspector, closing-attorney, appraiser) in a state: whether a license is required, the regulator, license titles, and the official lookup where the READER checks a license number. Payotte lists no US professionals and never says "verified by Payotte".
| Name | Required | Description | Default |
|---|---|---|---|
| state | Yes | US state: any of the 50 states, by name or two-letter code (e.g. "Texas", "TX"). | |
| profession | Yes | Profession: real-estate-agent, mortgage-loan-officer, home-inspector, closing-attorney, appraiser. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds genuinely non-structured context: it enumerates the returned facts and explicitly disclaims listing professionals or asserting verification. That negative framing prevents a plausible downstream misuse, which is real added value 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?
Two dense sentences with jurisdiction front-loaded and zero filler. The clause 'where the READER checks a license number' is slightly awkwardly embedded but carries important meaning, so it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read-only lookup with no output schema, the description covers the return contents, the jurisdictional scope, and the misuse caveat. Annotations carry the safety profile, so nothing essential is missing, though a note on lookup availability or freshness would round it out.
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 fully documented, including the profession values. The description repeats the profession list but adds no format or constraint detail beyond the schema, 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+resource and enumerates exactly what is returned: license requirement, regulator, license titles, and official lookup. The 'UNITED STATES' prefix and the profession list separate it from the country-scoped siblings (check_professional_au/in/uk), though the tool name ('verify_license') slightly overpromises versus what the description says it actually returns.
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?
Makes the usage boundary explicit: the tool supplies the official lookup and the READER performs the license-number check, so the agent knows not to treat the result as a verification. It also warns that no US professionals are listed and that 'verified by Payotte' must never be claimed. No sibling tool is named as an alternative, which keeps it short of a 5.
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.
54 tool updates
- Added
borrowing_capacity_be - Added
capital_gains_tax_br - Added
check_professional_au - Added
check_professional_be - Added
check_professional_br - Added
check_professional_de - Added
check_professional_es - Added
check_professional_in - Added
check_professional_it - Added
check_professional_mx - Added
check_professional_uk - Added
closing_costs_mx - Added
compare_nations_uk - Added
compare_regions_be - Added
compare_regions_es - Added
compare_regions_it - Added
compare_states_au - Added
compare_states_br - Added
compare_states_de - Added
compare_states_in - Added
compare_states_mx - Added
find_property_owner_us - Added
guide_au - Added
guide_be - Added
guide_br - Added
guide_de - Added
guide_es - Added
guide_in - Added
guide_it - Added
guide_mx - Added
guide_uk - Added
home_loan_emi_in - Added
home_prices_mx - Added
home_sales_it - Added
house_prices_au - Added
house_prices_be - Added
house_prices_es - Added
house_prices_in - Added
house_prices_uk - Added
mortgage_payment_br - Added
mortgage_payment_de - Added
mortgage_payment_es - Added
mortgage_payment_it - Added
mortgage_payment_mx - Added
non_resident_tax_es - Added
purchase_costs_be - Added
purchase_costs_br - Added
purchase_costs_de - Added
purchase_costs_es - Added
purchase_costs_it - Added
purchase_duty_au - Added
purchase_tax_uk - Added
rents_de - Added
stamp_duty_in
54 tool updates
- Removed
borrowing_capacity_be - Removed
capital_gains_tax_br - Removed
check_professional_au - Removed
check_professional_be - Removed
check_professional_br - Removed
check_professional_de - Removed
check_professional_es - Removed
check_professional_in - Removed
check_professional_it - Removed
check_professional_mx - Removed
check_professional_uk - Removed
closing_costs_mx - Removed
compare_nations_uk - Removed
compare_regions_be - Removed
compare_regions_es - Removed
compare_regions_it - Removed
compare_states_au - Removed
compare_states_br - Removed
compare_states_de - Removed
compare_states_in - Removed
compare_states_mx - Removed
find_property_owner_us - Removed
guide_au - Removed
guide_be - Removed
guide_br - Removed
guide_de - Removed
guide_es - Removed
guide_in - Removed
guide_it - Removed
guide_mx - Removed
guide_uk - Removed
home_loan_emi_in - Removed
home_prices_mx - Removed
home_sales_it - Removed
house_prices_au - Removed
house_prices_be - Removed
house_prices_es - Removed
house_prices_in - Removed
house_prices_uk - Removed
mortgage_payment_br - Removed
mortgage_payment_de - Removed
mortgage_payment_es - Removed
mortgage_payment_it - Removed
mortgage_payment_mx - Removed
non_resident_tax_es - Removed
purchase_costs_be - Removed
purchase_costs_br - Removed
purchase_costs_de - Removed
purchase_costs_es - Removed
purchase_costs_it - Removed
purchase_duty_au - Removed
purchase_tax_uk - Removed
rents_de - Removed
stamp_duty_in
1 tool update
- Added
find_property_owner_us
12 tool updates
- Added
check_professional_de - Added
check_professional_it - Added
compare_regions_it - Added
compare_states_de - Added
guide_de - Added
guide_it - Added
home_sales_it - Added
mortgage_payment_de - Added
mortgage_payment_it - Added
purchase_costs_de - Added
purchase_costs_it - Added
rents_de
6 tool updates
- Added
borrowing_capacity_be - Added
check_professional_be - Added
compare_regions_be - Added
guide_be - Added
house_prices_be - Added
purchase_costs_be
19 tool updates
- Added
capital_gains_tax_br - Added
check_professional_br - Added
check_professional_es - Added
check_professional_mx - Added
closing_costs_mx - Added
compare_regions_es - Added
compare_states_br - Added
compare_states_mx - Added
guide_br - Added
guide_es - Added
guide_mx - Added
home_prices_mx - Added
house_prices_es - Added
mortgage_payment_br - Added
mortgage_payment_es - Added
mortgage_payment_mx - Added
non_resident_tax_es - Added
purchase_costs_br - Added
purchase_costs_es
32 tool updates
- Added
attorney_at_closing_us - Added
check_professional_au - Added
check_professional_in - Added
check_professional_uk - Added
closing_costs_us - Added
community_property_us - Added
compare_nations_uk - Added
compare_states_au - Added
compare_states_in - Added
compare_states_us - Added
federal_guide_us - Added
first_time_buyer_programs_us - Added
foreclosure_us - Added
guide_au - Added
guide_in - Added
guide_uk - Added
home_loan_emi_in - Added
home_prices_us - Added
house_prices_au - Added
house_prices_in - Added
house_prices_uk - Added
natural_hazards_us - Added
property_tax_appeal_us - Added
property_tax_us - Added
purchase_duty_au - Added
purchase_tax_uk - Added
seller_disclosure_us - Added
stamp_duty_in - Added
state_overview_us - Added
title_insurance_us - Added
transfer_tax_us - Added
verify_license_us
4 tool updates
- Added
frais_notaire_fr - Added
stats_marche_fr - Added
trouver_professionnel_fr - Added
verifier_titre_fr
3 tool updates
- Added
evaluation_adresse - Added
risques_annee_construction - Added
taxe_bienvenue_adresse
2 tool updates
- Changed
fenetre_revision3 fields changed- changed
Input schema / properties / municipalite / descriptionPrevious value: -"Quebec municipality, e.g. \"Drummondville\", \"Gatineau\", \"Montréal\"."New value: +"Quebec municipality, e.g. \"Drummondville\", \"Gatineau\", \"Montréal\" (not needed outside Quebec)." - changed
Input schema / properties / province / descriptionPrevious value: -"Optional; only Quebec is covered."New value: +"Province code or name (BC, AB, SK, MB, ON, QC, NB, NS, PE, NL). Default: Quebec (then `municipalite` is used)." - changed
Input schema / requiredPrevious value: -[ - "municipalite" -]New value: +[]
- Changed
frais_revision2 fields changed- added
Input schema / properties / provinceAdded value: +{ + "description": "Optional province code or name; default Quebec.", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "municipalite", - "valeur" -]New value: +[]
3 tool updates
- Added
estimer_economie - Added
fenetre_revision - Added
frais_revision
Related MCP Connectors
34 read-only Canadian mortgage, tax and home-buying tools, including nationwide LTT coverage.
Get matched with a top-rated, review-verified real estate agent in the US or Canada.
Cited, receipt-backed US home-buying data & calculators — education-only, every number sourced.
Real Australian lender serviceability, plus repayments, borrowing power and stamp duty.
Related MCP Servers
- FlicenseAqualityCmaintenanceVerified Singapore property, tax, affordability, salary, and location data for AI agents. 17 MCP tools, x402 micropayments, source provenance on every response. Singapore live now, more markets coming. Categories: Finance, Real Estate, Data, Singapore, x402, Payments, Government Data17-
- AlicenseAqualityCmaintenanceProvides mortgage calculation tools, including monthly payment, amortization schedules, lump sum payments, and extra monthly payments for real estate agents and AI assistants.7MIT
- AlicenseAqualityDmaintenancePhilippine real estate data for AI agents — search verified listings, calculate transfer costs, and get accurate legal information via lupaph.com.639 npmMIT
- AlicenseAqualityDmaintenanceProvides Canadian government data for AI agents, including property assessments, building permits, zoning, business registry, and DLS grid conversion. Offers 50 free queries per day with no signup required.12MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.