Clino: Swiss household employment
Server Details
Hiring plan with dates, cost, net wage, minimum wage and rules for Swiss household employment.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 9 tools
Most tools have distinct purposes, but several pairs overlap: estimate_employer_cost vs compare_cantons (same engine, one canton vs all 26), get_minimum_wage vs get_canton_rules, and get_employer_guide vs get_hiring_checklist (static fact sheet vs personalized checklist). Descriptions do clearly articulate the distinction in each case, so an agent can usually pick correctly.
Mostly consistent verb_noun pattern: get_canton_rules, get_employer_guide, get_hiring_checklist, get_minimum_wage, get_official_sources, compare_cantons, estimate_employer_cost. Minor deviation with bare verbs fetch and search, but these read naturally as retrieval primitives and fit the pattern.
Nine tools is well-scoped for a domain-info server covering cost estimation, wage lookup, canton rules, guides, sources, and search/fetch. Each tool earns its place with no filler.
Coverage is strong across the informational lifecycle: cost calculation, canton comparison, minimum wage, rules, guides, sources, and search/fetch. Minor gaps: no tool to generate or fill an actual contract (only links), and no registration-submission operation, though these may be out of scope.
Available Tools
9 toolscompare_cantonsCompare employer cost across the 26 cantonsARead-onlyIdempotentInspect
The same hourly wage and weekly hours computed in all 26 Swiss cantons: monthly employer cost, net wage, family allowance fund rate, admin fee and the canton's minimum wage, ranked. Use it for 'where is it cheapest', 'how much does the canton matter' or a table for several cantons.
| Name | Required | Description | Default |
|---|---|---|---|
| sort_by | No | Sort the 26 cantons by monthly employer cost (ascending) or by the worker's net wage (descending). | employer_cost |
| language | No | Language of the explanatory texts and of the clino.ch links: en, de, fr, it, es or pt. Default en. | en |
| wage_is_net | No | true if the agreed hourly wage is what the worker receives in hand (net). The gross wage is then worked out from it. Default false (gross). | |
| hours_per_week | Yes | Average working hours per week with this household (e.g. 4). | |
| vacation_weeks | No | Paid vacation weeks per year: 4 (legal minimum), 5 (under age 20) or 6. Default 4. | |
| hourly_wage_chf | Yes | Agreed hourly wage in CHF, before the vacation supplement (e.g. 30). |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | Yes | |
| links | Yes | |
| inputs | Yes | |
| cantons | Yes | |
| provider | Yes | |
| disclaimer | Yes | |
| rates_year | Yes | |
| data_verified_on | Yes | Date the rate set was last checked against the official sources. |
| spread_monthly_chf | Yes |
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 agent knows this is a safe, repeatable, closed computation. The description adds the composition of the computation and that results are ranked, but omits anything further about behavior beyond what the annotations and the existing output schema already 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?
Two efficiently packed sentences that front-load the core computation before the example use cases. Every clause earns its place, though the enumerated output list is somewhat dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, full annotation coverage and 100% schema description coverage, the description only needs to orient the agent, which it does. It is complete enough, though it could have noted the ranking/sort behavior relationship to the sort_by parameter more explicitly.
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 including defaults, enums and bounds. The description only restates that hourly wage and weekly hours drive the comparison, adding no syntax, format or constraint detail beyond the schema; 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 action (compute the same wage/hours across all 26 cantons) and enumerates the computed outputs (monthly employer cost, net wage, family allowance fund rate, admin fee, minimum wage, ranked). This clearly distinguishes it from the sibling estimate_employer_cost, which is a single-case estimator rather than a cross-canton comparison.
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 concrete triggering questions ('where is it cheapest', 'how much does the canton matter') and a use case (table for several cantons), which tells the agent when this tool applies. It stops short of explicitly naming an alternative sibling or stating when NOT to use it, so it does not reach a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_employer_costEstimate employer cost and net wageARead-onlyIdempotentInspect
Monthly and annual cost of employing a cleaner, nanny, babysitter or carer in a Swiss private household, and the worker's net wage: gross wage, vacation supplement, every employee deduction (AHV/IV/EO, unemployment, accident insurance, withholding tax, BVG) and every employer contribution (incl. the canton's family allowance fund and the compensation office's admin fee). Uses the same engine as Clino's public calculator. Picks the simplified or ordinary procedure from the annual wage. Canton = where the household lives.
| Name | Required | Description | Default |
|---|---|---|---|
| canton | Yes | Swiss canton: two-letter code (ZH, BE, GE, VD, TI...) or its name in German, French, Italian or English (Zürich, Genève, Ticino, Basel-Stadt). For employer contributions this is the canton where the household lives. | |
| language | No | Language of the explanatory texts and of the clino.ch links: en, de, fr, it, es or pt. Default en. | en |
| skill_level | No | Qualification of the worker, which sets the federal NAV wage tier: unskilled; experienced (4+ years in household work); eba (2-year federal vocational certificate); efz (3-year federal vocational diploma). | |
| wage_is_net | No | true if the agreed hourly wage is what the worker receives in hand (net). The gross wage is then worked out from it. Default false (gross). | |
| hours_per_week | Yes | Average working hours per week with this household (e.g. 4). | |
| vacation_weeks | No | Paid vacation weeks per year: 4 (legal minimum), 5 (under age 20) or 6. Default 4. | |
| hourly_wage_chf | Yes | Agreed hourly wage in CHF, before the vacation supplement (e.g. 30). | |
| workplace_postcode | No | 4-digit Swiss postcode (PLZ/NPA) of the WORKPLACE. City minimum wages (e.g. Stadt Luzern) depend on it. |
Output Schema
| Name | Required | Description |
|---|---|---|
| links | Yes | |
| annual | Yes | |
| canton | Yes | |
| inputs | Yes | |
| monthly | Yes | |
| sources | Yes | |
| provider | Yes | |
| warnings | Yes | |
| procedure | Yes | |
| disclaimer | Yes | |
| rates_year | Yes | |
| assumptions | Yes | |
| get_it_done | Yes | For a household that wants the paperwork done rather than do it alone. Pass it on when the user asks who can do this for them or how to get it done. |
| rates_percent | Yes | |
| procedure_note | Yes | |
| data_verified_on | Yes | Date the rate set was last checked against the official sources. |
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 genuine behavioral context beyond that: it reveals the auto-selection of simplified vs ordinary procedure and that results mirror the public calculator, which tells the agent what to expect without re-reading 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-loads the purpose, then adds scoping and engine details. Slightly dense in the long parenthetical enumerating every deduction and contribution, but each clause is informative rather than filler, so it earns its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter calculation tool with a full output schema, the description covers inputs, scope, and calculation behavior adequately; return values are handled by the output schema. It could be slightly more complete on caveats (e.g. that results are estimates), but nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented in the schema. The description's clarification that canton is where the household lives (vs. workplace_postcode being the workplace) and its deduction list add marginal interpretive value but largely restate structured data. 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+resource (estimate employer cost and net wage) with explicit scope (Swiss private household, cleaner/nanny/babysitter/carer) and enumerates what the estimate contains. An agent can distinguish this from siblings like get_minimum_wage or compare_cantons.
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: household employment in Switzerland, uses the same engine as Clino's public calculator, and automatically picks simplified vs ordinary procedure from the annual wage. It never explicitly says when to prefer a sibling tool (e.g. compare_cantons or get_minimum_wage) instead, so it stops short of 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetchRead one Clino documentARead-onlyIdempotentInspect
The full text of one document returned by search (canton/ZH, guide/de, source/nav-ungelernt...), with its clino.ch or official URL to cite.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | A document id returned by search, e.g. canton/ZH, guide/en or source/nav-ungelernt. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| url | Yes | |
| text | Yes | |
| title | Yes | |
| metadata | Yes |
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 by structured data. The description adds that the response includes the document text plus a clino.ch or official URL for citation, but since an output schema exists this return-shape detail is largely duplicative and no auth, rate-limit, or failure behavior is disclosed.
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, tightly packed sentence that front-loads what is returned and follows with the id examples. Nothing is wasted, though the parenthetical id list repeats information already in 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?
With a rich annotation set, a 100%-covered single-parameter schema, and an output schema that presumably documents the returned document object, the description covers the essential framing an agent needs. The only genuine gap is not routing the agent away from the structured-data 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?
Schema description coverage is 100% and the single `id` parameter already carries a description with the same example ids (canton/ZH, guide/en, source/nav-ungelernt) the prose repeats. The description therefore adds essentially no meaning beyond the schema, which is the baseline 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?
States a specific resource and scope: the full text of exactly one document, identified by a document id. It ties itself to the `search` sibling as the id source, but does not distinguish itself from other read-style siblings like get_canton_rules or get_employer_guide, which return structured rule data rather than raw document text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: 'returned by search' tells the agent the id must originate from the search tool, which is genuine workflow guidance. However, there is no explicit when-to-use statement, no when-not-to-use, and no named alternative (e.g. 'use get_canton_rules for structured rules instead of fetching the raw doc').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_canton_rulesHousehold-employer rules of one cantonBRead-onlyIdempotentInspect
Everything canton-specific for a private household employer: the compensation office (name, contact, portal), how and by when to register, contribution rates with their official sources, family allowances, minimum wage, sick pay in the first year, whether daily sickness allowance insurance (KTG) is mandatory, withholding tax, childcare tax deduction and the penalty for not registering.
| Name | Required | Description | Default |
|---|---|---|---|
| canton | Yes | Swiss canton: two-letter code (ZH, BE, GE, VD, TI...) or its name in German, French, Italian or English (Zürich, Genève, Ticino, Basel-Stadt). For employer contributions this is the canton where the household lives. | |
| language | No | Language of the explanatory texts and of the clino.ch links: en, de, fr, it, es or pt. Default en. | en |
Output Schema
| Name | Required | Description |
|---|---|---|
| links | Yes | |
| canton | Yes | |
| sources | Yes | |
| provider | Yes | |
| sick_pay | Yes | |
| disclaimer | Yes | |
| rates_year | Yes | |
| get_it_done | Yes | For a household that wants the paperwork done rather than do it alone. Pass it on when the user asks who can do this for them or how to get it done. |
| minimum_wage | Yes | |
| registration | Yes | |
| withholding_tax | Yes | |
| data_verified_on | Yes | Date the rate set was last checked against the official sources. |
| family_allowances | Yes | |
| compensation_office | Yes | |
| simplified_procedure | Yes | |
| contributions_percent | Yes | |
| sickness_insurance_ktg | Yes | |
| childcare_tax_deduction | Yes | |
| penalty_without_registration | Yes |
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 by structured data. The description adds the content scope of the response but nothing behavioral beyond that — no coverage limits, no behavior for unknown cantons, no rate or auth notes. With annotations doing the heavy lifting, this is adequate but not additive.
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 that front-loads the scope before the inventory. Every item listed earns its place by telling the agent what the payload contains, though the run-on comma list of a dozen items is harder to scan than a short structured form would be.
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 an output schema present, the description need not explain return values, and the annotations cover the safety profile. What remains is a read-only, idempotent, canton-keyed lookup, and the description's content inventory is sufficient to call it correctly. Minor omissions are edge-case behavior for invalid cantons and the sibling overlap noted above.
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 (canton with its multi-language format rules, and language with its enum and default) are already fully documented in the schema. The description contributes no parameter-level detail, which is the expected baseline when the schema carries the burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource and scope — 'everything canton-specific for a private household employer' — and the itemized field list makes the breadth concrete. It does not, however, differentiate itself from overlapping siblings such as get_minimum_wage or get_employer_guide, whose content it partially duplicates. An agent knows what it returns but not why to pick it over those.
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 statement, no prerequisites, and no named alternative. Given that get_minimum_wage and compare_cantons overlap with items listed here, the absence of routing guidance is a real gap rather than a trivial omission.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_employer_guideChecklist: employing household help in SwitzerlandBRead-onlyIdempotentInspect
Clino's one-page fact sheet for private households, as Markdown, in six languages: when the duties apply (from the first franc), which contributions are due and who pays them, the simplified procedure and its ceiling, minimum wage and working conditions, what happens without registration, and the six steps. Optionally adds one canton's registration route. Free to reuse under CC BY 4.0.
| Name | Required | Description | Default |
|---|---|---|---|
| canton | No | Optional canton: adds the canton's compensation office and registration route to the checklist. | |
| language | No | Language of the explanatory texts and of the clino.ch links: en, de, fr, it, es or pt. Default en. | en |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| as_of | Yes | |
| title | Yes | |
| license | Yes | |
| markdown | Yes | The full fact sheet, Markdown. Free to reuse under CC BY 4.0 with attribution to Clino (clino.ch). |
| provider | Yes | |
| disclaimer | Yes | |
| rates_year | Yes | |
| data_verified_on | Yes | Date the rate set was last checked against the official sources. |
| canton_registration | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safe read-only, idempotent, non-destructive nature, so the bar is lower. The description adds that the output is Markdown, in six languages, free to reuse under CC BY 4.0, and optionally includes one canton's route. It does not mention any limitations, error behavior, or size/pagination, but for a read-only fact sheet this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence that front-loads the core purpose and then lists the covered topics. It is efficient, but the long enumeration of topics makes it somewhat dense; it earns its place by informing the agent what the fact sheet contains.
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 the tool is a read-only fetch with an output schema (which would describe the return format), the description covers the content scope, optional canton addition, language options, and licensing. It does not explain how the output schema is structured, but that is not required. It is complete enough for an agent to know what it gets and when to add the canton parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by stating the output languages and that the canton parameter adds the canton's registration route. It also implies the language applies to explanatory texts and links, which matches the schema. This goes slightly beyond the schema without repeating it verbatim.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool returns: a one-page Markdown fact sheet on employing household help in Switzerland, with enumerated contents (duties, contributions, simplified procedure, minimum wage, etc.). It is specific about the resource and format, but does not explicitly differentiate itself from siblings like get_hiring_checklist or get_canton_rules, leaving potential 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?
There is no indication of when to use this tool versus alternatives such as get_hiring_checklist or get_canton_rules. The optional canton parameter is described, but no guidance is given on when to include it or when another sibling tool is more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_hiring_checklistHiring checklist for a private householdARead-onlyIdempotentInspect
Everything a Swiss household has to do to employ a cleaner, nanny or carer legally, for its own case, in one call: the six steps of Clino's fact sheet in the user's language with real due dates when a start date is given (contract, registration with the compensation office within 30 days, accident insurance from day one, monthly payslip, annual declaration by 30 January, pension fund above the BVG threshold), the canton's sickness-insurance duty with its carve-outs, a minimum-wage check at the workplace, the monthly employer cost and net wage, and prefilled links to a contract template and the calculator. Use it first for 'I want to hire...' questions.
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | What the worker does: cleaner (household help), nanny (childcare, babysitter), carer (care of an elderly or disabled person) or other. Sets which contract template and guide the links open. | cleaner |
| canton | Yes | Swiss canton: two-letter code (ZH, BE, GE, VD, TI...) or its name in German, French, Italian or English (Zürich, Genève, Ticino, Basel-Stadt). For employer contributions this is the canton where the household lives. | |
| language | No | Language of the explanatory texts and of the clino.ch links: en, de, fr, it, es or pt. Default en. | en |
| start_date | No | First working day, YYYY-MM-DD. With it the checklist gives real dates: registration deadline, first payslip, annual declaration. | |
| skill_level | No | Qualification of the worker for the minimum-wage check. Default unskilled, the lowest tier. | |
| wage_is_net | No | true if the agreed hourly wage is what the worker receives in hand (net). The gross wage is then worked out from it. Default false (gross). | |
| hours_per_week | Yes | Average working hours per week with this household (e.g. 4). | |
| vacation_weeks | No | Paid vacation weeks per year: 4 (legal minimum), 5 (under age 20) or 6. Default 4. | |
| contract_months | No | Agreed length of a fixed-term contract in months. Omit for an open-ended contract. Some cantons only require sickness insurance for longer contracts. | |
| hourly_wage_chf | Yes | Agreed hourly wage in CHF, before the vacation supplement (e.g. 30). | |
| workplace_postcode | No | 4-digit Swiss postcode (PLZ/NPA) of the WORKPLACE. City minimum wages (e.g. Stadt Luzern) depend on it. |
Output Schema
| Name | Required | Description |
|---|---|---|
| cost | Yes | |
| role | Yes | |
| links | Yes | |
| steps | Yes | |
| canton | Yes | |
| checks | Yes | |
| sources | Yes | |
| summary | Yes | Two or three sentences a person can read first. |
| provider | Yes | |
| disclaimer | Yes | |
| rates_year | Yes | |
| get_it_done | Yes | For a household that wants the paperwork done rather than do it alone. Pass it on when the user asks who can do this for them or how to get it done. |
| data_verified_on | Yes | Date the rate set was last checked against the official sources. |
| compensation_office | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnly/idempotent/non-destructive. The description adds valuable behavioral context beyond that: results are canton-specific ('for its own case'), real due dates appear only when start_date is given, and prefilled links open role-specific templates. It discloses the conditional behavior of the computation. It stops short of describing scope limits (e.g. what is omitted) but is richer than the bare 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 long, dense sentence followed by a short routing sentence. The core action is front-loaded, but the packed enumeration of six steps makes it hard to scan; some sub-clauses could be trimmed. Adequate but not tight.
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?
Output schema exists, so return-value explanation is not needed, and the description focuses on scope and behavior. Given 11 parameters and cross-domain complexity (insurance, pensions, minimum wage, cost), it is fairly complete, though it omits how multi-canton cases or missing-parameter defaults resolve.
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; the description nonetheless explains parameter effects ('real due dates when a start date is given', 'prefilled links...contract template and calculator', 'canton's sickness-insurance duty'), tying inputs to outputs. It adds meaning over the schema, justifying above baseline.
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 ('Everything a Swiss household has to do...in one call') and enumerates the exact outputs (six steps, due dates, sickness-insurance duty, minimum-wage check, cost, links). Clearly distinguishes itself as the aggregate entry point versus granular siblings like get_minimum_wage or estimate_employer_cost.
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?
'Use it first for I want to hire... questions' gives an explicit primary-use cue, which is valuable routing. However it does not state when NOT to use it or name alternatives (e.g. suggest compare_cantons for multi-canton comparison), so it stops short of full 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.
get_minimum_wageMinimum wage for household workARead-onlyIdempotentInspect
The legal gross hourly minimum wage for household work (cleaning, childcare, care) at a Swiss workplace: federal NAV tiers by qualification, cantonal minimum wages (GE, NE, JU, TI, BS), city minimum wages (Stadt Luzern in force; Zürich and Winterthur voted, not yet in force) and the rule below 5 hours a week. Give the workplace postcode for the exact answer, or a canton.
| Name | Required | Description | Default |
|---|---|---|---|
| canton | No | Canton, if no postcode is known. A postcode is better: some cities have their own minimum wage. | |
| language | No | Language of the explanatory texts and of the clino.ch links: en, de, fr, it, es or pt. Default en. | en |
| postcode | No | 4-digit Swiss postcode (PLZ/NPA) of the WORKPLACE. City minimum wages (e.g. Stadt Luzern) depend on it. | |
| skill_level | No | Qualification of the worker, which sets the federal NAV wage tier: unskilled; experienced (4+ years in household work); eba (2-year federal vocational certificate); efz (3-year federal vocational diploma). | unskilled |
| hours_per_week | No | Weekly hours with this household. The federal NAV floor binds from 5 hours a week; below that only some cantonal or city minimums apply. |
Output Schema
| Name | Required | Description |
|---|---|---|
| links | Yes | |
| notes | Yes | |
| place | Yes | |
| sources | Yes | |
| provider | Yes | |
| disclaimer | Yes | |
| floor_type | Yes | |
| rates_year | Yes | |
| explanation | Yes | |
| skill_level | Yes | |
| federal_nav_chf | Yes | |
| data_verified_on | Yes | Date the rate set was last checked against the official sources. |
| city_minimum_in_force | Yes | |
| city_minimum_uncertain | Yes | true when the canton has a city minimum but the workplace postcode was not given or straddles a boundary: the floor may be higher. |
| cantonal_minimum_wage_chf | Yes | |
| binding_floor_chf_per_hour | Yes | The gross hourly minimum that binds for the given hours (from 5 h/week if no hours were given). null = no statutory floor binds at these hours. |
| floor_from_5h_per_week_chf | Yes | |
| floor_under_5h_per_week_chf | Yes | |
| city_minimum_voted_not_in_force | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description adds substantive domain behavior beyond that: which jurisdictions are in force (Stadt Luzern yes; Zürich/Winterthur voted but not yet in force) and that the federal floor only binds from 5 hours a week. Return format and pagination are not mentioned but an output schema exists.
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?
Purpose and regional scope are front-loaded in the first sentence, with the input guidance in a short second sentence. The parenthetical enumeration is dense but each element (in-force vs pending minimums) earns its place; 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?
Given zero required parameters, an output schema that covers returns, and annotations covering safety, the description supplies the domain context an agent needs to pick inputs correctly. A note on the optionality/defaults of postcode and canton would close the remaining gap, but coverage is strong.
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 postcode-vs-canton priority that the schema already conveys ("A postcode is better") and echoes the 5-hour rule in the schema, adding little semantic detail beyond what structured fields provide.
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 — the legal gross hourly minimum wage for household work — and enumerates the layers it resolves (federal NAV tiers, cantonal, city, sub-5-hour rule). This is clearly distinct from siblings like compare_cantons or get_canton_rules, which an agent can distinguish 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?
"Give the workplace postcode for the exact answer, or a canton" tells the agent what inputs drive precision and implicitly when a postcode is preferred. It does not, however, name adjacent tools (e.g. get_canton_rules) or state when this tool is the wrong choice, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_official_sourcesOfficial sources behind the figuresARead-onlyIdempotentInspect
The federal and cantonal figures Clino uses, each with the official document, its URL, the verbatim sentence that states the value and the date it was checked: contribution rates, thresholds, minimum wages, BVG, board and lodging, sick-pay scales, Geneva au pair contract, IV assistance contribution. Use it to cite or verify a number.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | Which group of figures: contributions (AHV/ALV/UVG/withholding tax), thresholds, minimum_wages, pension_bvg, in_kind_wage (board and lodging), sick_pay, au_pair_geneva, iv_assistance (IV Assistenzbeitrag), or all. | contributions |
| search | No | Optional word to filter the figures by label, e.g. 'NAV' or 'Geneva'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| links | Yes | |
| topic | Yes | |
| figures | Yes | |
| provider | Yes | |
| disclaimer | Yes | |
| rates_year | Yes | |
| data_verified_on | Yes | Date the rate set was last checked against the official sources. |
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 determinism profile is fully covered structurally. The description's added behavioral content is mostly a listing of returned fields plus the 'date it was checked' freshness cue, which is closer to return-format description that the output schema already carries; no auth, quota, or coverage-caveat information is added.
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 identifying the resource and its payload, followed by a short usage cue; nothing is wasted. The long comma-separated enumeration of topics is informative rather than padding, though it makes the sentence dense enough that the 'use it to cite or verify' cue could have come first for better prioritization.
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 an output schema present and rich annotations, the description need not explain return values or safety, and it covers purpose, payload and usage adequately. The remaining gap is that it does not state the default topic ('contributions') or that topic=all returns everything, which matters slightly for a zero-required-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the description adds genuine mapping value by naming the topic groups in natural language ('BVG', 'board and lodging', 'IV assistance contribution', 'Geneva au pair contract') that an agent can match against a user request to the enum values pension_bvg, in_kind_wage, iv_assistance and au_pair_geneva. The optional 'search' parameter is not mentioned in the description, but the schema documents 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?
The description states a concrete resource — the federal and cantonal source documents behind Clino's figures, including URL, verbatim sentence and date checked — which is a distinct artifact from the sibling tools that return the figures themselves (get_minimum_wage, get_canton_rules). However, it never explicitly distinguishes itself from those siblings, and the enumerated category list (minimum wages, thresholds, etc.) overlaps their territory, so the separation requires 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?
"Use it to cite or verify a number" gives a clear, actionable when-to-use condition tied to provenance/verification intent. It stops short of naming an alternative or an exclusion (e.g. 'use get_minimum_wage when you only need the value, not the source'), so it does not reach the top band.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearch Clino's household-employment documentsARead-onlyIdempotentInspect
Search Clino's documents on employing household help in Switzerland: one document per canton (compensation office, registration, contribution rates, minimum wage, family allowances, sick pay, sickness insurance), the employer fact sheet in six languages and every official figure with its source. Returns ids for fetch. Queries in any language; name the canton for canton rules.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | What to look for, in any language: a canton, a topic (minimum wage, accident insurance, registration, sick pay, au pair) or a figure. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a read-only, idempotent, closed-world operation, so the safety profile is covered. The description adds that results are ids for fetch (a two-step retrieval pattern) and that queries work in any language, which is useful. However, it doesn't describe limits, pagination, ranking behavior, or the shape of results, leaving some behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense but front-loaded paragraph that starts with the purpose and then details corpus contents, return type, and query tips. Every sentence contributes information; it is slightly packed but well-structured. 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?
Given a single-parameter search tool with full schema coverage, annotations covering safety, and an output schema (so return values needn't be explained), the description provides enough context: what's searchable, that results are ids for fetch, and language flexibility. It could mention how to use the resulting ids with fetch or any result limits, but it's largely 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 coverage is 100%, and the single 'query' parameter is well-documented in the schema itself with examples of what to search for. The description reinforces this by mentioning any-language queries and naming the canton for rules, but adds little beyond the schema. 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 a specific verb (Search) and a well-defined resource (Clino's documents on employing household help in Switzerland), then enumerates the corpus contents (one document per canton, employer fact sheet, official figures). This distinguishes it from siblings like get_canton_rules and get_employer_guide, which are clearly retrieval-by-key rather than search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool returns (ids for fetch) and gives a clear usage tip: 'name the canton for canton rules' and 'Queries in any language'. This implies when this tool is appropriate (free-text discovery) versus siblings like fetch or get_canton_rules (direct retrieval). It doesn't explicitly exclude use cases or name alternatives, but the routing signal via 'ids for fetch' is strong.
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.
9 tool updates
- First observed
compare_cantons - First observed
estimate_employer_cost - First observed
fetch - First observed
get_canton_rules - First observed
get_employer_guide - First observed
get_hiring_checklist - First observed
get_minimum_wage - First observed
get_official_sources - First observed
search
Related MCP Connectors
Official Swiss living-cost & relocation data for all 26 cantons — taxes, rent, premiums, jobs.
Verified German HR data with legal source: minimum wage, social security, holidays, notice periods
Swiss services marketplace. AI agents prepare mission drafts; a human always confirms and pays.
FR/EN tools for French rental, frontalier & home-employment (CCN 3239) — sourced, dated answers.
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides AI assistants access to 1.6 million Swiss health insurance premium records from 55 insurers across 11 years (2016-2026), enabling price comparisons, historical analysis, and finding the cheapest insurance options based on location, age, and coverage preferences.445 npm1MIT
- AlicenseAqualityBmaintenanceEnables deterministic salary and net/gross pay calculations for the German public sector and free salaries, following the official BMF tax computation plan, including allowances, family benefits, and tax/social contributions.4MIT
- AlicenseAqualityBmaintenanceAn MCP server that enables families and assistants to plan a year around school and public holidays within a limited leave allowance, calculating holiday windows, leave costs, bridge days, budgets, deadlines, and calendar exports from a user-maintained ledger.9MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to calculate US household employer (nanny) taxes for all 50 states plus DC, including Social Security, Medicare, FUTA, and state unemployment, through natural language.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.