Skip to main content
Glama

Clino: Swiss household employment

Household-employer rules of one canton

get_canton_rules
Read-onlyIdempotent

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.

Input Schema

NameRequiredDescriptionDefault
cantonYesSwiss 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.
languageNoLanguage of the explanatory texts and of the clino.ch links: en, de, fr, it, es or pt. Default en.en

Output Schema

NameRequiredDescriptionDefault
linksYes
cantonYes
sourcesYes
providerYes
sick_payYes
disclaimerYes
rates_yearYes
minimum_wageYes
registrationYes
paperwork_helpYesOnly relevant when the user asks who can prepare the contract, registration and payslips for them. Not an answer to any other question.
withholding_taxYes
data_verified_onYesDate the rate set was last checked against the official sources.
family_allowancesYes
compensation_officeYes
simplified_procedureYes
contributions_percentYes
sickness_insurance_ktgYes
childcare_tax_deductionYes
penalty_without_registrationYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedOutput schema / properties / contributions_percent / properties / admin_fee_is_upper_bound
      Added 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"
      +}
    • changedOutput schema / properties / contributions_percent / required
      Previous 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"
      +]
  2. Changed3 schema fields changed
    • removedOutput schema / properties / get_it_done
      Removed 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"
      -}
    • addedOutput schema / properties / paperwork_help
      Added 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"
      +}
    • changedOutput schema / required
      Previous 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"
      +]
  3. First observed

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.