Clino: Swiss household employment
Server Details
Hiring plan with dates, cost, net wage, minimum wage and rules for Swiss household employment.
- Status
- Healthy
- Uptime
- 100.0% over 36 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- salvador-creator/clino-mcp
- GitHub Stars
- 0
- Server Listing
- Clino MCP Server
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 11 tools
Several tools are explicitly overlapping 'give me everything' calls: get_employment_package, get_hiring_checklist and get_employer_guide all return cost, minimum-wage check, contract pointers and canton links, and the descriptions themselves admit the single tools 'answer faster'. The bundling tools nest the same sub-answers (cost, minimum wage, contract terms) that also exist as standalone tools, so an agent has to reason carefully about which of four or five entry points to pick.
Ten of eleven tools follow a clear verb_noun pattern (get_canton_rules, get_contract_terms, estimate_employer_cost, compare_cantons). Only 'fetch' and 'search' break the pattern as bare verbs, which is a minor and readable deviation.
Eleven tools is well within a healthy range for a reference/calculator server of this scope. Each tool maps to a recognizable piece of the domain (cost, wage floor, contract, canton rules, sources, documents).
The surface covers the full read-only lifecycle a household employer needs: cost estimation, cross-canton comparison, minimum wage, contract terms, canton registration rules, deadlines/checklist, official citable sources, and document search plus fetch. Minor gaps (e.g. payslip or annual salary-declaration generation) fall outside a purely informational server's remit.
Available Tools
11 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 | |
| rates_percent | Yes | |
| paperwork_help | Yes | Only relevant when the user asks who can prepare the contract, registration and payslips for them. Not an answer to any other question. |
| 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 declare readOnly/idempotent/non-destructive/openWorld=false, so the safety profile is covered; the description adds real behavioral context by disclosing the calculation engine ('same engine as Clino's public calculator') and the automatic simplified-vs-ordinary procedure selection from annual wage. It stops short of saying whether results are authoritative, rounded, or subject to change.
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 primary outcome and tightly scoped to three short sentences with little waste. The first sentence is very dense with a long parenthetical deduction list, which is informative but heavy for a single 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?
An output schema exists, so return values need not be explained, and the input schema documents all 8 parameters thoroughly with annotations covering safety. The description supplies the remaining scenario context (Swiss private household, procedure selection, canton meaning) so an agent can call it correctly without guessing.
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%, including canton semantics, enum meanings for skill_level/language, and ranges, so the schema does the heavy lifting and baseline 3 applies. The description echoes the canton rule already documented in the schema and adds no new parameter-level detail (e.g. how hours_per_week and vacation_weeks interact with the procedure switch).
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 precisely enumerates what is computed (monthly/annual employer cost plus the worker's net wage) and itemizes the components (gross wage, vacation supplement, AHV/IV/EO, BVG, family allowance fund, admin fee), which clearly separates it from rule-lookup siblings like get_canton_rules or get_minimum_wage. It never names a sibling explicitly, so it stops short of full differentiation.
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 scenario (employing a cleaner/nanny/carer in a Swiss private household) rather than stated as a when-to-use rule, and no alternative tool is named or excluded. The line 'Canton = where the household lives' is useful context but is parameter-level guidance, not tool-selection guidance.
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 | |
| minimum_wage | Yes | |
| registration | Yes | |
| paperwork_help | Yes | Only relevant when the user asks who can prepare the contract, registration and payslips for them. Not an answer to any other question. |
| 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 covered. The description adds genuine context by disclosing the breadth and the authoritative nature of the payload ('with their official sources'), which the annotations do not convey. It does not address caching, data freshness, or behavior on an unknown/unrecognized canton, so it stops short of rich 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?
A single front-loaded sentence opens with the scope ('Everything canton-specific for a private household employer') and then enumerates the payload. Every clause is substantive content, not filler, though the long enumeration runs to the edge of being a data dump rather than a description.
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?
An output schema exists, so return-value documentation is not required, and the description still pre-summarizes the returned domains. With 100% schema coverage on both parameters and a safety profile fully carried by annotations, the only real omission is guidance on when to prefer the narrower sibling 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%, with the canton parameter's accepted formats (two-letter code or name in four languages) and the language enum fully documented in the schema. The description adds no parameter-level meaning of its own, not even clarifying which canton applies. Baseline 3 is appropriate when the schema carries the full 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 (canton-specific household-employer rules) and enumerates the exact content domains returned: compensation office, registration, contribution rates, family allowances, minimum wage, sick pay, KTG, withholding tax, childcare deduction, penalty. It implicitly separates itself from compare_cantons by scoping to one canton, though it never states that contrast explicitly. An agent can tell what it fetches 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?
There is no when-to-use guidance, no prerequisites, and no mention of the obvious overlapping siblings such as compare_cantons (multi-canton), get_minimum_wage (a single domain this tool also covers), or get_official_sources. The agent must infer routing from content overlap alone. Usage is only implied by the scope phrase 'one canton'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_contract_termsEmployment contract terms in one cantonARead-onlyIdempotentInspect
What the employment contract of a cleaner, nanny, carer or au pair in a Swiss private household has to say in one canton, from the canton's standard employment contract for household work (NAV / CTT / CNL) and the Code of Obligations: probation and its notice, notice after probation by service year, paid vacation weeks (by age), full-time week, overtime, night and Sunday supplements, paid public holidays, 13th month wage, hours register, maternity leave and sick pay in the first year. Every term carries its article and the instrument's verbatim sentence, and whether a written contract may deviate. Also what must be confirmed in writing (Art. 330b OR) and a link to Clino's free contract generator, prefilled with the figures given. Use it for 'write me an employment contract', 'what notice period applies', 'how many weeks of vacation', 'is overtime paid extra'.
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | What the worker does: cleaner, nanny (childcare), carer (care of an elderly or disabled person), au_pair or other. Sets which contract generator the link opens; au_pair in Geneva adds the au pair contract's own rules. | cleaner |
| canton | Yes | Swiss canton where the household lives: two-letter code (ZH, GE, VD...) or its name. The standard employment contract (NAV/CTT) of the WORKPLACE governs; that is this canton unless workplace_postcode places the work in another one. | |
| language | No | Language of the explanatory texts and of the clino.ch links: en, de, fr, it, es or pt. Default en. | en |
| lives_in | No | true if the worker lives in the household (board and lodging). Neuchâtel's standard contract only covers live-in staff, and Vaud gives them a longer notice. | |
| start_date | No | First working day, YYYY-MM-DD, to prefill the contract and date the end of the probation. | |
| worker_age | No | Age of the worker in years, for the vacation entitlement (more weeks under 20 and, in some cantons, from 50 or 60). Never a birthdate. | |
| hours_per_week | No | Average weekly hours, to prefill the contract generator. | |
| hourly_wage_chf | No | Agreed gross hourly wage in CHF, to prefill the contract generator. | |
| monthly_wage_chf | No | Agreed gross monthly wage in CHF instead of an hourly wage (nanny, carer), or the au pair's pocket money. | |
| 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 | |
| terms | Yes | |
| canton | Yes | The canton whose standard employment contract governs (the workplace). |
| sources | Yes | |
| summary | Yes | Two or three sentences a person can read first. |
| provider | Yes | |
| disclaimer | Yes | |
| rates_year | Yes | |
| written_terms | Yes | What the employer must confirm in writing even without a signed contract. |
| au_pair_geneva | Yes | Only for an au pair working in Geneva: the CTT-TPMaj addendum. |
| paperwork_help | Yes | Only relevant when the user asks who can prepare the contract, registration and payslips for them. Not an answer to any other question. |
| governing_rules | 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?
While annotations already declare the tool as read-only, idempotent, and non-destructive, the description adds valuable context beyond them: each term includes its legal article, verbatim sentence, deviation rules, written confirmation requirements, and a prefilled contract generator link. It stops short of covering performance or error behavior, but that is minor for a safe read operation.
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 long but well-structured: it front-loads the core purpose, then lists covered terms, explains output details, and ends with usage examples. It is dense with information and no sentence feels wasted, though it could be slightly tighter.
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's complexity (10 parameters, 1 required), the presence of an output schema, and annotations, the description is complete. It explains what the tool does, what the output contains, and gives clear usage examples, leaving no critical gaps for an agent 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 description coverage is 100%, so all parameters are fully documented in the schema. The description itself adds no additional meaning about parameter usage or interactions beyond what the schema already provides, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (retrieves) and resource (employment contract terms for household work in one canton), and enumerates the exact terms covered (probation, vacation, overtime, etc.). This clearly distinguishes it from siblings like get_canton_rules or get_employer_guide by focusing on the contract's substantive terms.
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 provides explicit example queries ('write me an employment contract', 'what notice period applies', etc.) that tell the agent when to use it. However, it does not name alternative tools or state when not to use it, leaving a small gap in routing guidance.
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_employment_packageEmployment package for a private householdARead-onlyIdempotentInspect
Everything a Swiss private household needs to employ a cleaner, nanny or carer legally, in one call, from the canton, the weekly hours and the gross hourly wage: the employment plan grouped by deadline (before the first working day, in the first month, every year) with real dates when a start date is given; the monthly and annual employer cost and the worker's net wage with every deduction and contribution; the minimum-wage check at the workplace; the terms the employment contract must contain under the canton's standard employment contract (probation, notice, vacation weeks, supplements, public holidays, 13th month, sick pay), each with its article; the official sources and prefilled clino.ch links (contract generator, calculator, canton guide). Use it when the user wants the complete package or a file to keep; for one question (only the cost, only the minimum wage, only the contract) the single tools answer faster. The output keys are fixed. The workplace must be in the household's canton.
| 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 every step of the plan gets its due date (registration deadline, first payslip, annual declaration) and the probation its last day. | |
| worker_age | No | Age of the worker in years. Sets the paid vacation weeks (more under 20 and, in some cantons, from 50 or 60), which the cost then prices. Never a birthdate. | |
| skill_level | No | Qualification of the worker for the minimum-wage check. Default unskilled, the lowest tier. | |
| hours_per_week | Yes | Average working hours per week with this household (e.g. 4). | |
| hourly_wage_chf | Yes | Agreed GROSS hourly wage in CHF, before the vacation supplement (e.g. 30). | |
| workplace_postcode | No | 4-digit Swiss postcode (PLZ/NPA) of the workplace, in the household's canton. City minimum wages (e.g. Stadt Luzern) depend on it. |
Output Schema
| Name | Required | Description |
|---|---|---|
| cost | Yes | |
| plan | Yes | The steps of get_hiring_checklist, grouped by when they are due. A step with applies false does not apply to this household; why says so. |
| role | Yes | |
| links | Yes | |
| canton | Yes | The canton where the household lives: its compensation office collects the contributions. |
| checks | Yes | |
| inputs | Yes | |
| sources | Yes | |
| summary | Yes | The plan, the cost, the wage check and the contract in a few sentences a person can read first. |
| provider | Yes | |
| disclaimer | Yes | |
| rates_year | Yes | |
| minimum_wage | Yes | |
| contract_terms | Yes | |
| paperwork_help | Yes | Only relevant when the user asks who can prepare the contract, registration and payslips for them. Not an answer to any other question. |
| 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 already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered; the description adds what the reader cannot infer: dates only materialize when start_date is supplied, output keys are fixed/stable, and the workplace-canton constraint acts as an input validation rule. It does not warn about payload size or latency for this aggregate call, which is the one behavioral trait left undisclosed.
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?
Content is front-loaded: the package contents come first, then the when-to-use routing rule, then the constraint. It is dense but nearly every clause earns its place; the single sprawling first sentence would scan better split into bullets, which is the only structural weakness.
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 needn't document return values, and the annotations cover safety. What remains for correct invocation — selection versus siblings, the start_date effect on dates, the fixed output contract, and the canton consistency constraint — is all stated.
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 defines all nine parameters including enum meanings and formatting. The description only restates the three required inputs and repeats the workplace-canton constraint already present in workplace_postcode's schema text, adding no new parameter-level meaning.
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: a single call that returns the full Swiss household-employment package (plan, cost, minimum-wage check, contract terms, sources) from canton, hours and wage. It enumerates the concrete sections produced, so an agent knows exactly what it gets without opening the output 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 names the selection rule: use it for the complete package or a file to keep; for a single question use the narrower tools, which 'answer faster' — directly routing against estimate_employer_cost, get_minimum_wage, get_contract_terms and get_employer_guide. It also states a precondition ('the workplace must be in the household's canton').
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 | |
| paperwork_help | Yes | Only relevant when the user asks who can prepare the contract, registration and payslips for them. Not an answer to any other question. |
| 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 already declare readOnlyHint, idempotentHint, and non-destructive, so the safety profile is covered. The description adds useful scope detail — it explains that real due dates appear only when start_date is given, and lists what each output covers. It doesn't state rate limits or caching, but for a read-only idempotent call this is reasonable.
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?
It is a single long run-on sentence listing outputs followed by a usage sentence. The scope is front-loaded and the usage rule is last, which is acceptable, but the enumeration is dense and could be split for 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?
With 11 parameters, an output schema, and full annotation coverage, the description supplies enough context to call the tool correctly — it names the required inputs implicitly (canton, wage, hours via their effects) and the usage trigger. It leaves a small gap on what happens without start_date and on failure modes, but the output schema covers returns.
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 restates some parameter effects (start_date driving real dates, canton, role, language) but adds no syntax or default information beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Everything a Swiss household has to do to employ... in one call') and enumerates the concrete outputs (six steps, canton sickness-insurance duty, minimum-wage check, monthly costs, prefilled links). An agent can distinguish this aggregation tool from siblings like estimate_employer_cost or get_canton_rules.
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 entry-point instruction: 'Use it first for "I want to hire..." questions.' That is a clear trigger, but it doesn't say when NOT to use it or which sibling to defer to for follow-up cost estimates or comparisons, so it stops short of a full when/when-not mapping.
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 date it was checked and, where recorded, the verbatim sentence that states the value: 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 profile is fully covered without the description. The description adds return-content detail (document, URL, check date, verbatim sentence), but discloses nothing about auth, limits or response shape beyond what the output schema provides.
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 resource, then the usage cue in a short second sentence. The long enumeration of figure categories is dense but earns its place by signalling coverage breadth; 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?
For a two-parameter, read-only lookup with a full output schema and complete annotations, the description covers purpose, scope and intended use adequately. It need not explain return values given the output schema, though the sibling-routing gap keeps it from being 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 enum values are already documented in the schema, so the description's topic list (contribution rates, thresholds, minimum wages, BVG, etc.) largely mirrors structured data. It adds only the nuance that the verbatim sentence is included "where recorded", which is marginal.
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 federal and cantonal figures behind Clino's numbers, along with their source documents. It conveys what the tool surfaces, but it never explicitly contrasts itself with overlapping siblings like get_minimum_wage or get_canton_rules, which also expose figures.
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 usage context, so the agent knows this is the provenance/citation path rather than the value lookup path. However, no alternative is named and no when-not condition is given, leaving the choice among get_minimum_wage, get_canton_rules and this tool to inference.
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.
2 tool updates
- Changed
estimate_employer_cost2 fields changed- added
Output schema / properties / monthly / properties / employee_deductions / properties / schaffhausen_sozialfondsAdded value: +{ + "$ref": "#/properties/monthly/properties/base_wage", + "description": "Schaffhausen only: employee share of the cantonal social fund (Sozialfonds, 0.04 % of the ALV wage)." +} - added
Output schema / properties / monthly / properties / employer_contributions / properties / schaffhausen_sozialfondsAdded value: +{ + "$ref": "#/properties/monthly/properties/base_wage", + "description": "Schaffhausen only: employer share of the cantonal social fund (Sozialfonds, 0.08 % of the ALV wage)." +}
- Changed
get_employment_package2 fields changed- added
Output schema / properties / cost / properties / monthly / properties / employee_deductions / properties / schaffhausen_sozialfondsAdded value: +{ + "$ref": "#/properties/cost/properties/monthly/properties/base_wage", + "description": "Schaffhausen only: employee share of the cantonal social fund (Sozialfonds, 0.04 % of the ALV wage)." +} - added
Output schema / properties / cost / properties / monthly / properties / employer_contributions / properties / schaffhausen_sozialfondsAdded value: +{ + "$ref": "#/properties/cost/properties/monthly/properties/base_wage", + "description": "Schaffhausen only: employer share of the cantonal social fund (Sozialfonds, 0.08 % of the ALV wage)." +}
2 tool updates
- Changed
get_contract_terms3 fields changed- changed
Output schema / properties / governing_rules / properties / binding / enumPrevious value: -[ - "imperative", - "dispositive", - "mixed", - "code_of_obligations" -]New value: +[ + "imperative", + "dispositive", + "mixed", + "no_worsening", + "code_of_obligations" +] - added
Output schema / properties / terms / properties / overtime / properties / no_supplement_exceptionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "legal_basis": { + "$ref": "#/properties/terms/properties/probation/properties/legal_basis" + }, + "quote": { + "$ref": "#/properties/terms/properties/probation/properties/quote" + }, + "rule": { + "type": "string" + } + }, + "required": [ + "rule", + "legal_basis", + "quote" + ], + "type": "object" + }, + { + "type": "null" + } + ], + "description": "Hours on which the instrument itself owes no overtime supplement (ZH/OW part-time staff, UR part-timers, LU 43rd to 45th hour); null where supplement_percent applies to every hour above the contract." +} - changed
Output schema / properties / terms / properties / overtime / requiredPrevious value: -[ - "supplement_percent", - "time_off_instead", - "hourly_cleaners_exempt", - "legal_basis", - "quote" -]New value: +[ + "supplement_percent", + "time_off_instead", + "hourly_cleaners_exempt", + "no_supplement_exception", + "legal_basis", + "quote" +]
- Changed
get_employment_package3 fields changed- changed
Output schema / properties / contract_terms / properties / governing_rules / properties / binding / enumPrevious value: -[ - "imperative", - "dispositive", - "mixed", - "code_of_obligations" -]New value: +[ + "imperative", + "dispositive", + "mixed", + "no_worsening", + "code_of_obligations" +] - added
Output schema / properties / contract_terms / properties / terms / properties / overtime / properties / no_supplement_exceptionAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "legal_basis": { + "$ref": "#/properties/contract_terms/properties/terms/properties/probation/properties/legal_basis" + }, + "quote": { + "$ref": "#/properties/contract_terms/properties/terms/properties/probation/properties/quote" + }, + "rule": { + "type": "string" + } + }, + "required": [ + "rule", + "legal_basis", + "quote" + ], + "type": "object" + }, + { + "type": "null" + } + ], + "description": "Hours on which the instrument itself owes no overtime supplement (ZH/OW part-time staff, UR part-timers, LU 43rd to 45th hour); null where supplement_percent applies to every hour above the contract." +} - changed
Output schema / properties / contract_terms / properties / terms / properties / overtime / requiredPrevious value: -[ - "supplement_percent", - "time_off_instead", - "hourly_cleaners_exempt", - "legal_basis", - "quote" -]New value: +[ + "supplement_percent", + "time_off_instead", + "hourly_cleaners_exempt", + "no_supplement_exception", + "legal_basis", + "quote" +]
2 tool updates
- Changed
estimate_employer_cost1 field changed- added
Output schema / properties / monthly / properties / employer_contributions / properties / vaud_pc_famillesAdded value: +{ + "$ref": "#/properties/monthly/properties/base_wage", + "description": "Vaud only: employer share of PC Familles (family supplementary benefits, LPCFam)." +}
- Changed
get_employment_package1 field changed- added
Output schema / properties / cost / properties / monthly / properties / employer_contributions / properties / vaud_pc_famillesAdded value: +{ + "$ref": "#/properties/cost/properties/monthly/properties/base_wage", + "description": "Vaud only: employer share of PC Familles (family supplementary benefits, LPCFam)." +}
2 tool updates
- Changed
estimate_employer_cost3 fields changed- added
Output schema / properties / rates_percent / properties / admin_fee_is_upper_boundAdded value: +{ + "description": "True where the office publishes only a ceiling of its wage-sum scale (Valais): the real rate can be lower.", + "type": "boolean" +} - added
Output schema / properties / rates_percent / properties / admin_fee_of_contributions / descriptionAdded value: +"The compensation office's admin fee rate for this annual wage, in % of the AHV/IV/EO contributions." - changed
Output schema / properties / rates_percent / requiredPrevious value: -[ - "ahv_iv_eo_each_side", - "unemployment_alv_each_side", - "family_allowance_fund_employer", - "occupational_accident_employer", - "non_occupational_accident_employee", - "withholding_tax_simplified", - "admin_fee_of_contributions" -]New value: +[ + "ahv_iv_eo_each_side", + "unemployment_alv_each_side", + "family_allowance_fund_employer", + "occupational_accident_employer", + "non_occupational_accident_employee", + "withholding_tax_simplified", + "admin_fee_of_contributions", + "admin_fee_is_upper_bound" +]
- Changed
get_canton_rules2 fields changed- added
Output schema / properties / contributions_percent / properties / admin_fee_is_upper_boundAdded value: +{ + "description": "True where the office charges by a wage-sum scale (Valais): the rate given is its top rate, a small payroll pays less.", + "type": "boolean" +} - changed
Output schema / properties / contributions_percent / requiredPrevious value: -[ - "ahv_iv_eo_each_side", - "unemployment_alv_each_side", - "family_allowance_fund_employer", - "family_allowance_fund_employee", - "admin_fee_of_contributions", - "admin_fee_of_gross_wage_approx", - "geneva_maternity_amat_each_side", - "withholding_tax_simplified" -]New value: +[ + "ahv_iv_eo_each_side", + "unemployment_alv_each_side", + "family_allowance_fund_employer", + "family_allowance_fund_employee", + "admin_fee_of_contributions", + "admin_fee_of_gross_wage_approx", + "admin_fee_is_upper_bound", + "geneva_maternity_amat_each_side", + "withholding_tax_simplified" +]
1 tool update
- Added
get_employment_package
1 tool update
- Added
get_contract_terms
3 tool updates
- Changed
estimate_employer_cost3 fields changed- removed
Output schema / properties / get_it_doneRemoved value: -{ - "additionalProperties": false, - "description": "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.", - "properties": { - "link": { - "description": "Clino sign-up, prefilled with this case (canton, wage, hours).", - "type": "string" - }, - "price": { - "type": "string" - }, - "provider": { - "const": "Clino", - "type": "string" - }, - "what": { - "description": "What Clino prepares, in the requested language. The household signs, submits and pays itself.", - "type": "string" - } - }, - "required": [ - "provider", - "what", - "price", - "link" - ], - "type": "object" -} - added
Output schema / properties / paperwork_helpAdded value: +{ + "additionalProperties": false, + "description": "Only relevant when the user asks who can prepare the contract, registration and payslips for them. Not an answer to any other question.", + "properties": { + "link": { + "description": "Clino page explaining how it works.", + "type": "string" + }, + "provider": { + "const": "Clino", + "type": "string" + }, + "what": { + "description": "What Clino prepares, in the requested language. The household signs, submits and pays itself.", + "type": "string" + } + }, + "required": [ + "provider", + "what", + "link" + ], + "type": "object" +} - changed
Output schema / requiredPrevious value: -[ - "canton", - "procedure", - "procedure_note", - "inputs", - "monthly", - "annual", - "rates_percent", - "warnings", - "assumptions", - "sources", - "links", - "get_it_done", - "rates_year", - "data_verified_on", - "disclaimer", - "provider" -]New value: +[ + "canton", + "procedure", + "procedure_note", + "inputs", + "monthly", + "annual", + "rates_percent", + "warnings", + "assumptions", + "sources", + "links", + "paperwork_help", + "rates_year", + "data_verified_on", + "disclaimer", + "provider" +]
- Changed
get_canton_rules3 fields changed- removed
Output schema / properties / get_it_doneRemoved value: -{ - "additionalProperties": false, - "description": "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.", - "properties": { - "link": { - "description": "Clino sign-up, prefilled with this case (canton, wage, hours).", - "type": "string" - }, - "price": { - "type": "string" - }, - "provider": { - "const": "Clino", - "type": "string" - }, - "what": { - "description": "What Clino prepares, in the requested language. The household signs, submits and pays itself.", - "type": "string" - } - }, - "required": [ - "provider", - "what", - "price", - "link" - ], - "type": "object" -} - added
Output schema / properties / paperwork_helpAdded value: +{ + "additionalProperties": false, + "description": "Only relevant when the user asks who can prepare the contract, registration and payslips for them. Not an answer to any other question.", + "properties": { + "link": { + "description": "Clino page explaining how it works.", + "type": "string" + }, + "provider": { + "const": "Clino", + "type": "string" + }, + "what": { + "description": "What Clino prepares, in the requested language. The household signs, submits and pays itself.", + "type": "string" + } + }, + "required": [ + "provider", + "what", + "link" + ], + "type": "object" +} - changed
Output schema / requiredPrevious value: -[ - "canton", - "compensation_office", - "registration", - "simplified_procedure", - "contributions_percent", - "family_allowances", - "minimum_wage", - "sick_pay", - "sickness_insurance_ktg", - "withholding_tax", - "childcare_tax_deduction", - "penalty_without_registration", - "sources", - "links", - "get_it_done", - "rates_year", - "data_verified_on", - "disclaimer", - "provider" -]New value: +[ + "canton", + "compensation_office", + "registration", + "simplified_procedure", + "contributions_percent", + "family_allowances", + "minimum_wage", + "sick_pay", + "sickness_insurance_ktg", + "withholding_tax", + "childcare_tax_deduction", + "penalty_without_registration", + "sources", + "links", + "paperwork_help", + "rates_year", + "data_verified_on", + "disclaimer", + "provider" +]
- Changed
get_hiring_checklist3 fields changed- removed
Output schema / properties / get_it_doneRemoved value: -{ - "additionalProperties": false, - "description": "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.", - "properties": { - "covers_steps": { - "description": "The step numbers above that Clino prepares.", - "items": { - "type": "number" - }, - "type": "array" - }, - "link": { - "description": "Clino sign-up, prefilled with this case (canton, wage, hours).", - "type": "string" - }, - "price": { - "type": "string" - }, - "provider": { - "const": "Clino", - "type": "string" - }, - "what": { - "description": "What Clino prepares, in the requested language. The household signs, submits and pays itself.", - "type": "string" - } - }, - "required": [ - "provider", - "what", - "price", - "link", - "covers_steps" - ], - "type": "object" -} - added
Output schema / properties / paperwork_helpAdded value: +{ + "additionalProperties": false, + "description": "Only relevant when the user asks who can prepare the contract, registration and payslips for them. Not an answer to any other question.", + "properties": { + "covers_steps": { + "description": "The step numbers above that Clino prepares.", + "items": { + "type": "number" + }, + "type": "array" + }, + "link": { + "description": "Clino page explaining how it works.", + "type": "string" + }, + "provider": { + "const": "Clino", + "type": "string" + }, + "what": { + "description": "What Clino prepares, in the requested language. The household signs, submits and pays itself.", + "type": "string" + } + }, + "required": [ + "provider", + "what", + "link", + "covers_steps" + ], + "type": "object" +} - changed
Output schema / requiredPrevious value: -[ - "canton", - "role", - "summary", - "checks", - "steps", - "cost", - "compensation_office", - "links", - "get_it_done", - "sources", - "rates_year", - "data_verified_on", - "disclaimer", - "provider" -]New value: +[ + "canton", + "role", + "summary", + "checks", + "steps", + "cost", + "compensation_office", + "links", + "paperwork_help", + "sources", + "rates_year", + "data_verified_on", + "disclaimer", + "provider" +]
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
Encontre babás por cidade e calcule o custo da contratação e o salário líquido no Brasil.
Verified German HR data with legal source: minimum wage, social security, holidays, notice periods
Find and book people for short on-site tasks in Switzerland. Free public pilot, early stage.
Swiss services marketplace. AI agents prepare mission drafts; a human always confirms and pays.
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.2488 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.41MIT
- 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 gradedqualityAmaintenanceEnables 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.