Skip to main content
Glama
Ownership verified

Server Details

FR/EN tools for French rental, frontalier & home-employment (CCN 3239) — sourced, dated answers.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.4/5 across 8 of 8 tools scored.

Server CoherenceA
Disambiguation4/5

Each tool is tied to a specific legal or payroll calculation, and the names clearly indicate their target: salary, rent revision, tenant notice, DPE restrictions, quasi-resident status, zone-tendue lookup, family allowances, and health insurance. Some overlap exists because rent revision and DPE checks both involve F/G rent freezes, and tenant notice relies on zone-tendue data, but descriptions keep boundaries clear.

Naming Consistency5/5

All tool names follow the same snake_case verb_noun pattern with a concise legal/domain object. The verbs vary by nature of action—calculate_, check_, compare_—but each is consistent and semantically meaningful.

Tool Count5/5

Eight tools is a well-scoped number for a specialist compliance server. Each tool handles a distinct calculation or legal lookup, and none feels redundant or purely decorative.

Completeness4/5

The set covers the main rental-revision, tenant-notice, DPE-restriction, zone-tendue, and cross-border worker salary/benefit comparisons well. Minor gaps remain around related compliance details such as rental deposits, landlord-side termination, or deeper Swiss tax filing checks, but they are not fatal to the tool set’s stated purpose.

Available Tools

10 tools
calculate_assistant_maternel_end_of_contractAssistant maternel (assmat) end of contract — retrait d'enfant, démission, préavis, indemnité (CCN 3239)A
Read-only
Inspect

End of an assistant maternel (assmat) contract with a parent-employer: retrait d'enfant or resignation, notice, indemnity, Pajemploi documents, for the parent or the assistant maternel. · Fin de contrat d'assistant maternel (assmat) avec un parent employeur : retrait d'enfant ou démission, préavis, indemnité de rupture, documents Pajemploi, pour le parent comme pour l'assistant maternel. — Same engine as calculate_home_employment_end_of_contract with regime pre-set to assistant_maternel (socle spécifique): notice by length of care (art. 120: 8 days / 15 days / 1 month, outside the trial period), withdrawal indemnity (art. 121.1: 1/80 of gross salaries excluding entretien/repas/km, from 9 months of care), rupture conventionnelle NOT available (CASF L.423-2), last Pajemploi declaration, 6-month settlement contest window, documents with who produces and who receives each. NOT for a garde d'enfant à domicile (nounou at the family's home) — that is regime garde_domicile on the generic tool. Applies the Convention collective IDCC 3239 (verified on Légifrance 2026). Deterministic formulas — no AI, no assessment of any person or motif.

ParametersJSON Schema
NameRequiredDescriptionDefault
partyYesWho is asking: 'employer' (particulier employeur) or 'employee' (salarié / assistant maternel). Wording only — the figures are identical for both.
as_of_dateNoSeniority reference date when the letter has not been sent yet (planning). Ignored when notification_date is given.
end_reasonYesClosed category matching the letter: 'employer_termination' (licenciement / retrait d'enfant), 'resignation' (démission), 'mutual_termination' (rupture conventionnelle — not available for assistants maternels).
start_dateYesContract start (ISO).
am_monthly_grossNoAssistant maternel: monthly gross (mensualisation), EXCLUDING indemnités d'entretien, repas, kilométriques.
notification_dateNoISO date of the FIRST PRESENTATION (or handover) of the letter that ends the contract — the notice runs from it. For a rupture conventionnelle: the signature date. Omit for durations only.
serious_misconductNoThe letter states faute grave or faute lourde (a category chosen by the user — the tool does not assess it). Removes the notice and the indemnity by rule.
am_total_gross_paidNoAssistant maternel: optional total gross salaries paid since the start (art. 121.1 base). Defaults to mensualisation × complete months.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint=true, but the description goes well beyond structured data: it states the calculation is deterministic ('no AI, no assessment of any person or motif'), advances the applicable convention (IDCC 3239 verified on Légifrance 2026), and discloses the non-availability of rupture conventionnelle. This prevents misuse of a network tool as a legal judgment or open-ended approximation tool.

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?

The description is front-loaded with the purpose and immediately names the sibling tool. The legal version is lengthy, but each segment adds a needed constraint or discloses an exclusion, and the French duplicate serves the bilingual domain. Overall it is longer than the bare minimum but well-structured and not redundant from an informational perspective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a legal calculator with 8 parameters and no output schema, the description is unusually complete: it covers scope, excluding modality, output-like elements (last Pajemploi declaration, docs and who receives/provides, contest window), legal formula, and alternative routing to the generic tool. An agent has all signs needed to choose the tool and understand the result shape.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the baseline is 3, but the description adds meaningful legal and calculation context: it names the 1/80 rule based on gross salaries excluding entretien/repas/km, the 8/15-day/1-month notice thresholds under article 120, and the 9-month care condition. This helps the agent understand how params like am_total_gross_paid and start_date will drive the computation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's verb and resource: it calculates end-of-contract outcomes for an assistant maternel with a parent-employer (retrait d'enfant, démission, préavis, indemnité, Pajemploi documents). It also differentiates itself from the sibling generic tool by name: 'Same engine as calculate_home_employment_end_of_contract with regime pre-set to assistant_maternel.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description is explicit about when to use this tool versus alternatives: it names the generic sibling calculate_home_employment_end_of_contract, and explains that a 'garde d'enfant à domicile' should go to the generic tool with regime garde_domicile. It also excludes 'rupture conventionnelle NOT available', giving clear selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calculate_home_employment_end_of_contractHome employment end of contract — notice, calendar, indemnity (CCN 3239)A
Read-only
Inspect

End of a home-employment contract in France (particulier employeur ↔ salarié: cleaner, carer, garde d'enfant à domicile, assistant maternel): notice, dates, indemnity, documents, for either party. · Fin de contrat d'emploi à domicile (particulier employeur ↔ salarié, assistant maternel) : préavis, calendrier, indemnité, documents, pour l'employeur comme pour le salarié. — Notice duration by seniority (art. 162.4.1 dismissal / 162.6 resignation / 120 assistant maternel), earliest entretien préalable date (art. 161.1.1.1 — 4th jour ouvrable counted from the day after presentation; the Code du travail dismissal procedure does not apply to the particulier employeur), notice end computed from the FIRST PRESENTATION of the letter, dismissal indemnity (art. 163.1: 1/4 month per year up to 10 years then 1/3, from 8 months, best of the 12- or 3-month average) or assistant-maternel withdrawal indemnity (art. 121.1: 1/80 of gross salaries, from 9 months), rupture conventionnelle windows (blocked for assistants maternels, CASF L.423-2), paid-leave reminder, last CESU/Pajemploi declaration date, 6-month settlement contest window, and the end-of-contract documents with who produces and who receives each. Same numbers whichever party calls. Applies the Convention collective IDCC 3239 (verified on Légifrance 2026). Deterministic formulas — no AI, no assessment of any person or motif.

ParametersJSON Schema
NameRequiredDescriptionDefault
partyYesWho is asking: 'employer' (particulier employeur) or 'employee' (salarié / assistant maternel). Wording only — the figures are identical for both.
regimeYes'home_employee' (salarié du particulier employeur: cleaner, carer, housekeeper…), 'garde_domicile' (child care at the family's home — same rules as home_employee), 'assistant_maternel' (childminder at her own home, agréée — or use calculate_assistant_maternel_end_of_contract).
as_of_dateNoSeniority reference date when the letter has not been sent yet (planning). Ignored when notification_date is given.
end_reasonYesClosed category matching the letter: 'employer_termination' (licenciement / retrait d'enfant), 'resignation' (démission), 'mutual_termination' (rupture conventionnelle — not available for assistants maternels).
start_dateYesContract start (ISO).
hourly_grossNoGross hourly rate in € (home employee / garde à domicile).
weekly_hoursNoWeekly hours (mensualisation = hourly × hours × 52 / 12).
am_monthly_grossNoAssistant maternel: monthly gross (mensualisation), EXCLUDING indemnités d'entretien, repas, kilométriques.
convocation_dateNoEmployer termination only: first presentation of the convocation à l'entretien préalable → earliest entretien date (CCN art. 161.1.1.1).
notification_dateNoISO date of the FIRST PRESENTATION (or handover) of the letter that ends the contract — the notice runs from it. For a rupture conventionnelle: the signature date. Omit for durations only.
avg_3_months_grossNoOptional — average gross monthly pay over the last 3 months (the more favourable average is used).
serious_misconductNoThe letter states faute grave or faute lourde (a category chosen by the user — the tool does not assess it). Removes the notice and the indemnity by rule.
am_total_gross_paidNoAssistant maternel: optional total gross salaries paid since the start (art. 121.1 base). Defaults to mensualisation × complete months.
avg_12_months_grossNoOptional — average gross monthly pay over the last 12 months (art. 163.1 reference).
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Though annotations already mark readOnlyHint true, the description adds substantial behavioral context: notice runs from the FIRST PRESENTATION, results are deterministic with no AI and no assessment of persons or motifs, and the same figures are returned whichever party calls. These details set correct expectations about the tool's limits and assumptions.

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?

The description is dense but well structured: it leads with purpose, then lists all legal topics in one high-information paragraph, and ends with verification and determinism notes. It is longer than average, and the bilingual opening repeats content, but the density is justified for a complex legal calculator and every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a highly complex legal computation with 14 parameters and no output schema, the description is unusually complete. It covers notice, indemnity, rupture conventionnelle restrictions, paid leave, CESU/Pajemploi declaration, contest window, beneficiary of documents, applicable law, and verification source. Important exclusions and behavioral constraints are also stated, leaving little ambiguity about what the agent should pose as inputs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 explaining the legal formulas behind the parameters: dismissal indemnity (considered 1/4 month per year, then 1/3, from the 8th month, best of 12/3-month average), assistant-maternel indemnity (1/80 gross from the 9th month), and the earliest entretien préalable date calculation. It does not explicitly walk through all 14 parameter names, but functionally links the formulas to the relevant inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the verb and resource: it calculates the end of a home-employment contract in France and enumerates the concrete deliverables: notice, dates, indemnity, and documents. It also narrows the scope to CCN 3239 and lists the relevant categories (cleaner, carer, garde d'enfant, assistant maternel), so it is easy to distinguish from salary, rent, and other calculators.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states clear applicable context: both parties, particular employer ↔ salaried employee, home employment under IDCC 3239, with specific mention that the general Code du travail dismissal procedure does not apply. It does not explicitly list alternatives in the prose, but the schema tells the user to use calculate_assistant_maternel_end_of_contract in one embedded paraphrase; the distinction is present in the tool definition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calculate_net_swiss_salaryNet Swiss salary calculator (frontalier)A
Read-only
Inspect

Net Swiss salary for a cross-border worker. · Salaire suisse net pour un frontalier. — Converts a gross annual Swiss salary (CHF) to net, deducting the employee shares of AVS/AI/APG, AC (chômage), LPP (2nd pillar) and NBU (non-occupational accident) for the given border canton. Deterministic Swiss payroll rules — no AI. Returns annual + monthly net and the deduction breakdown, with the data year of the rates used.

ParametersJSON Schema
NameRequiredDescriptionDefault
ageYesEmployee age (affects LPP rate).
cantonYesSwiss border canton (GE, VD, JU, NE, BS, VS).
gross_chf_annualYesGross annual salary in CHF.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations include readOnlyHint=true, and the description aligns by indicating a calculation ('Converts') with no side effects. It adds value by detailing the output (annual + monthly net, deduction breakdown, data year) and emphasizing deterministic rules (no AI), which goes beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficient, with a clear lead sentence, a translated version, and a concise explanation of method and outputs. It is slightly verbose due to bilingual text but still well-organized and front-loaded with the core purpose.

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?

Given the complexity of Swiss payroll and no output schema, the description adequately explains the return format and the payroll components. It lacks edge-case details (e.g., salary caps) but is sufficient for an agent to understand scope and results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters, so baseline is 3. The description enriches parameter meaning by listing the specific deductions (AVS/AI/APG, AC, LPP, NBU) and tying them to the canton, which clarifies how canton and age affect the calculation beyond the schema's brief statements.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: converting a gross annual Swiss salary to net for cross-border workers, with a specific verb ('converts') and resource ('gross salary to net'). It distinguishes itself from siblings like rent or tenant tools by focusing on salary and cross-border context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly indicates usage for cross-border workers in specific cantons, and mentions deterministic rules, but does not explicitly state when to prefer this over alternatives or exclusions. Context is clear, but no direct when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calculate_rent_revisionFrench rent revision calculator (IRL indexation)A
Read-only
Inspect

New rent after the yearly IRL increase; F/G homes are frozen. · Nouveau loyer après la révision IRL annuelle ; les biens F/G sont gelés. — Computes the legally revised rent for a French residential lease using the INSEE IRL (indice de référence des loyers): new rent = current rent × (IRL of the lease's reference quarter ÷ IRL of the SAME quarter one year earlier), loi n° 89-462 art. 17-1. The reference quarter (trimestre de référence IRL) is the one written in the lease — pass it as reference_quarter. Two legal limits are enforced: the revision must be claimed within ONE YEAR of the lease anniversary or it is forfeited for that year, and it is BLOCKED for DPE class F or G (rent freeze since 25 August 2022, loi n° 2022-1158 art. 159) — pass dpe_class to get that check. Deterministic INSEE data + fixed formula — no AI. France métropolitaine.

ParametersJSON Schema
NameRequiredDescriptionDefault
dpe_classNoDwelling's DPE class, if known — F or G blocks the revision (rent freeze).
current_rentYesCurrent monthly rent excluding charges (hors charges), in euros.
reference_quarterYesThe IRL reference quarter named in the lease (trimestre de référence). Accepts forms like '2026-T2', 'T2 2026', 'Q2 2026'.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint annotation, the description discloses deterministic behavior ('Deterministic INSEE data + fixed formula — no AI'), the legal basis (loi n° 89-462 art. 17-1), and specific enforced limits (one-year forfeiture, DPE F/G freeze since 25 August 2022). This provides substantial operational transparency that annotations alone would not convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with a concise bilingual summary, then delivers the formula, legal limits, parameter guidance, and determinism note in a structured sequence. Every sentence carries necessary information with no filler — it is long but dense and well-organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (legal formula, multiple constraints, data source), the description covers all essential aspects: inputs, formula, legal limits, DPE freeze, geographic scope, and deterministic nature. No output schema exists, but the output is clearly implied as the new rent amount in euros. This is complete for an agent to select and invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds meaningful context: it explains that reference_quarter comes from the lease, that dpe_class triggers the freeze check, and clarifies that current_rent is 'hors charges'. These clarifications reinforce the schema's descriptions and add legal purpose, but they don't add new syntax or format details beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'Computes the legally revised rent for a French residential lease using the INSEE IRL' with the exact formula. It distinguishes itself from sibling tools (e.g., Swiss salary calculator, DPE restriction checker) by specifying the French rent revision context and the specific legal calculation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool: for computing legally revised rent under French law, with special handling for the one-year claim limit and DPE F/G freeze. It explains when to pass dpe_class for the freeze check. However, it doesn't explicitly name alternative tools or state when not to use it, 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.

calculate_tenant_notice_periodTenant notice period (préavis) calculator — French residential leaseA
Read-only
Inspect

Tenant's notice period to end a French lease (préavis). · Délai de préavis du locataire pour résilier un bail. — Computes the tenant's notice period for terminating a French residential lease (loi n° 89-462 art. 15): furnished = always 1 month; unfurnished = 3 months, reduced to 1 month in a zone tendue commune (first-list perimeter, resolved automatically from insee_code/commune) or on a statutory ground (art. 15 I, 1° à 5° incl. 3° bis). Returns the end date computed de quantième à quantième from the RECEPTION date, plus which justificatifs must accompany the letter. Deterministic legal formula — no AI involved. France métropolitaine rules.

ParametersJSON Schema
NameRequiredDescriptionDefault
communeNoCommune name, e.g. 'Lyon'. Used when insee_code is not provided.
ground_idNoStatutory ground for the reduced 1-month notice on an unfurnished lease (art. 15 I).
insee_codeNoINSEE commune code (5 chars, e.g. 75056 for Paris, 2A004 for Ajaccio). Preferred when known — skips name resolution.
lease_typeYes'vide' = unfurnished, 'meuble' = furnished
code_postalNo5-digit postal code — disambiguates homonym communes.
zone_tendueNoExplicit zone-tendue (first list) flag if already known — otherwise resolved from insee_code/commune.
reception_dateNoISO date the LANDLORD RECEIVES the notice (LRAR reception, remise en main propre, or acte de commissaire) — never the sending date.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, and the description reinforces this by labeling the computation 'Deterministic legal formula — no AI involved.' It adds valuable behavioral context beyond annotations: the reception-date emphasis (never the sending date), the automatic zone-tendue resolution, and the return of justificatifs. This exceeds the baseline for tools with annotations.

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?

The description is dense but well-organized, using a semicolon-separated enumeration and clear cause-effect statements. It front-loads the purpose and then provides necessary legal details. The bilingual intro is slightly redundant, but every sentence conveys essential information, keeping it appropriately concise for the complexity.

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?

With no output schema, the description must convey what the function returns, and it does: 'the end date computed ... plus which justificatifs must accompany the letter.' It also covers the legal grounding, the zone-tendue resolution, and the scope (France métropolitaine). It lacks explicit error-handling notes (e.g., what happens with invalid dates), but for a deterministic calculator the description is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 100% of parameters, so the baseline is 3. The description adds significant semantic value: it explains how lease_type dictates the base period, how ground_id and zone_tendue interact to reduce it, and clarifies the crucial nuance of reception_date (landlord receives, not sent). This goes well beyond the schema's raw field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool computes the tenant's notice period for terminating a French residential lease, with specific rules (furnished = 1 month, unfurnished = 3 months with reductions). It names the legal reference (loi n° 89-462 art. 15) and distinguishes itself from sibling tools (e.g., calculate_rent_revision, check_zone_tendue) by its explicit scope and outputs (end date and justificatifs).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates when to use the tool: for calculating tenant notice periods in France métropolitaine, and even notes it automatically resolves zone tendue, avoiding the need for separate calls. However, it does not explicitly name alternative tools or state when NOT to use it (e.g., for other legal jurisdictions or other lease types), which would push it to a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_dpe_rental_restrictionsDPE rental restrictions — letting ban, rent freeze, DPE validityA
Read-only
Inspect

French rental limits by DPE class: letting ban, rent freeze, DPE validity. · Restrictions locatives selon la classe DPE : interdiction de louer, gel des loyers, validité du DPE. — Given a dwelling's DPE class (A–G), returns the French rental restrictions in force: letting ban status and date (loi n° 2021-1104 Climat et Résilience — G banned since 2025, F from 2028, E from 2034, France métropolitaine), the F/G rent freeze (in force since 25 Aug 2022), and — when dpe_issue_date is provided — whether the DPE itself is still valid (10-year rule + the 2013–2021 transitional expiries). Deterministic rules from official thresholds — no AI involved.

ParametersJSON Schema
NameRequiredDescriptionDefault
dpe_classYesEnergy class from the dwelling's DPE.
dpe_issue_dateNoISO issue date of the DPE — enables the validity check.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes beyond the readOnlyHint annotation by detailing the exact rules and thresholds: 'G banned since 2025, F from 2028, E from 2034', the rent freeze since 25 Aug 2022, and the 10-year validity rule with transitional expiries. It also assures 'Deterministic rules from official thresholds — no AI involved,' which sets expectations. This thoroughly aligns with the readOnlyHint and adds significant behavioral context.

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?

The description is dense but every sentence carries specific information: the summary line, the detailed breakdown of each restriction, and the legal references. It front-loads the main purpose and then expands. It could be slightly trimmed, but given the complexity of the rules, the length is justified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description must explain what is returned, and it does: letting ban status and date, rent freeze, and DPE validity. It covers all three main aspects with precise dates and conditions, and notes the deterministic nature. For a tool with two parameters and clear rules, this is comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for both parameters, so the schema already explains them. The description adds meaning by linking dpe_issue_date to the validity check ('when dpe_issue_date is provided — whether the DPE itself is still valid') and implicitly defines the DPE class range 'A–G'. It enriches the semantics without restating the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: it returns French rental restrictions (letting ban, rent freeze, DPE validity) based on a DPE class. The verb 'returns' and resource 'French rental restrictions' are specific, and it distinguishes itself from sibling tools that focus on Swiss salary, rent revision, etc., which are unrelated domains.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool: when a dwelling's DPE class is known and French rental restrictions are needed. It mentions France métropolitaine for the letting ban, and the optional dpe_issue_date for validity. It doesn't explicitly state alternatives, but siblings are obviously different topics, so no confusion arises. Could be improved by explicitly stating not to use for non-French properties.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_geneva_quasi_residentGeneva quasi-resident status check (frontalier)A
Read-only
Inspect

Geneva quasi-resident status (≥90% income taxed in CH). · Statut de quasi-résident genevois (≥90% des revenus imposés en CH). — Tells a Geneva cross-border worker whether they qualify as a quasi-résident — i.e. at least ~90% of the household's worldwide income is taxable in Switzerland — which unlocks itemised deductions on the Geneva tax return. Deterministic threshold rule — no AI. Returns eligibility, the share, the threshold, and the data year.

ParametersJSON Schema
NameRequiredDescriptionDefault
swiss_incomeYesIncome taxable in Switzerland (same currency as total_income).
total_incomeYesTotal worldwide household income (same currency).
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and openWorldHint=false. The description adds valuable behavioral context: it is a deterministic threshold rule, explicitly states 'no AI', and lists the exact return values (eligibility, share, threshold, data year). No contradiction with annotations.

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?

The description is compact and front-loaded with the key threshold, followed by user applicability and return values. It includes a redundant French duplicate of the opening phrase, which costs a little conciseness, but overall every major point is stated efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter deterministic calculator with no output schema, the description is complete: it states the rule, the eligibility criterion, the benefit, and the exact outputs. No additional context is needed to invoke or interpret the result.

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%, so swiss_income and total_income are already fully documented in the schema. The description adds conceptual framing (household worldwide income, taxable in Switzerland) but does not provide additional parameter-level detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: it tells a Geneva cross-border worker whether they qualify as a quasi-resident. It names the specific verb/resource/scope and distinguishes itself from sibling tools like calculate_net_swiss_salary and check_zone_tendue.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly identifies the target user and context: Geneva cross-border workers considering itemised deductions. It does not explicitly name alternatives or state when not to use it, but the context is specific enough to guide selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_zone_tendueZone tendue status of a French communeA
Read-only
Inspect

Is a commune in zone tendue, and which list (reduced tenant notice, or tax only)? · Une commune est-elle en zone tendue, et sur quelle liste (préavis réduit, ou fiscal seulement) ? — Checks whether a French commune is in the 'zone tendue' perimeter and — crucially — WHICH one: the first list (décret n° 2013-392 annex, 1,434 communes, agglomérations >50k) where the tenant's reduced 1-month notice applies, or the wider TLV tax perimeter added in 2023 where ONLY fiscal measures apply (widely mislabelled 'zone tendue' — the reduced notice does NOT apply there). Deterministic dataset lookup on DILA reference data (service-public.fr simulator dataset) — no AI involved. Provide insee_code, or commune (+ code_postal to disambiguate).

ParametersJSON Schema
NameRequiredDescriptionDefault
communeNoCommune name, e.g. 'Lyon'. Used when insee_code is not provided.
insee_codeNoINSEE commune code (5 chars, e.g. 75056 for Paris, 2A004 for Ajaccio). Preferred when known — skips name resolution.
code_postalNo5-digit postal code — disambiguates homonym communes.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint=true and openWorldHint=false annotations, the description adds valuable behavioral context: it is a 'deterministic dataset lookup on DILA reference data (service-public.fr simulator dataset) — no AI involved.' It also discloses the real-world consequences of each list, making the tool's behavior and semantic boundary much clearer.

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?

The description is information-dense and front-loaded with the core question, then the critical caveat about the two lists. There is minor redundancy from the bilingual repetition of the opening question, but overall every substantive piece of the explanation earns its place given the tool's complexity.

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?

Given the absence of an output schema, the description adequately conveys what the caller should expect conceptually: membership in the zone tendue perimeter and which list applies. It also covers the data source, determinism, and input disambiguation needs. It does not specify the exact output shape, but for a boolean/list lookup the semantic outcome is clear enough.

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% and the schema already explains the commune name, INSEE code preference, and postal-code disambiguation. The description essentially restates this guidance ('Provide insee_code, or commune (+ code_postal to disambiguate)') without adding new parameter-level meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Checks whether a French commune is in the zone tendue perimeter' and immediately distinguishes the two lists (reduced notice vs. tax-only). This clearly separates the tool from sibling tools and makes its exact scope unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear usage context by explaining the critical distinction between the two 'zone tendue' lists and warns that the wider TLV perimeter is often mislabelled. It also tells the caller how to provide input ('Provide insee_code, or commune (+ code_postal to disambiguate)'), though it does not explicitly compare against sibling tools or state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_family_allowancesFamily allowances — Swiss vs French (frontalier)A
Read-only
Inspect

Family allowances: Swiss vs French for a frontalier. · Allocations familiales : Suisse ou France pour un frontalier. — Compares the monthly/annual family allowances a cross-border worker's household is due under the Swiss canton's rules vs French CAF, and the EU 883/2004 differential top-up when the spouse works in France. Deterministic official allowance tables — no AI. Returns Swiss annual + monthly base (CHF), CAF monthly (EUR), the differential, and the data year.

ParametersJSON Schema
NameRequiredDescriptionDefault
cantonYesSwiss border canton (GE, VD, JU, NE, BS, VS).
childrenYesThe children (at least one).
spouse_works_in_franceNoDoes the spouse work in France? (triggers the EU differential).
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true inferring a safe read operation. The description adds that it's 'Deterministic official allowance tables — no AI', which explains the computation nature. It also describes the return values (Swiss annual/monthly in CHF, CAF monthly in EUR, differential, year). It doesn't mention any side effects, but for a read-only deterministic calculator, this is adequate. It adds value beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first states the purpose and outputs, second adds deterministic nature and return specifics. Every word serves a purpose, no redundancy.

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?

The tool has 3 parameters (all described in schema), no output schema, but the description explicitly lists the returned values (Swiss annual/monthly in CHF, CAF monthly in EUR, differential, data year). It also mentions the deterministic nature and the EU regulation. For a calculation tool with clear inputs, this is complete enough. Could have mentioned edge cases (e.g., max children, age limits) but schema covers those. Overall adequate.

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%, so the parameters are well-documented in the schema. The description adds context about the differential top-up and spouse working in France, which matches the parameter. But it doesn't add significant meaning beyond the schema descriptions. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool compares Swiss vs French family allowances for a frontalier, specifies the differential top-up, and lists the exact outputs. It uses a specific verb ('compares') and resource ('family allowances for a frontalier'), and it's distinct from siblings which deal with other legal/financial calculations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for frontaliers with children comparing Swiss vs French allowances concrete. It doesn't explicitly mention when not to use it or alternatives, but the purpose is specific enough that it's clear this is for cross-border workers. Given the sibling tools are unrelated (net salary, rent revision, etc.), the context is sufficient. It could have explicitly stated 'use this if you are a frontalier with children' but it's implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_lamal_cmuFrontalier health cover — LAMal vs CMUA
Read-only
Inspect

Frontalier health cover: LAMal (CH) vs CMU/PUMa (FR). · Couverture santé frontalier : LAMal (CH) ou CMU (FR). — Estimates the monthly cost of the two health-insurance options a France–Switzerland cross-border worker chooses between (droit d'option): Swiss LAMal (in CHF) vs French CMU/PUMa (in EUR, a % of income). Dependants are priced by age band (0-18 child, 19-25 young adult, 26+ adult). Deterministic official premium/rate tables — no AI. Returns both monthly figures + the data year.

ParametersJSON Schema
NameRequiredDescriptionDefault
ageYesWorker's age.
cantonYesSwiss border canton (GE, VD, JU, NE, BS, VS).
salary_chfYesAnnual Swiss salary in CHF.
children_agesNoAges of dependants (optional) — priced by band (≤18 / 19-25 / 26+).
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint annotation, the description discloses that the tool is deterministic (official premium/rate tables, no AI) and states the return value includes both monthly figures and the data year. This adds valuable behavioral context not covered by annotations.

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?

The description is a single, information-dense sentence with clear structure (front-loaded with purpose, then details). The French repetition is redundant but not harmful. No filler words; every clause contributes to understanding the tool's function and outputs.

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?

Given the absence of an output schema, the description explains that returns monthly CAF figures for both options plus data year, and mentions age bands for dependants. It also notes deterministic tables, covering all key aspects. It does not explain the exact calculation, but that is not required for selecting and invoking the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 adds meaning by explaining dependant pricing bands (0-18 child, 19-25 young adult, 26+ adult), which is not explicit in the schema. It also clarifies that the annual salary is in CHF and canton is a border canton, enhancing parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool estimates monthly costs for two health-insurance options (LAMal vs CMU) for cross-border workers, with specific verbs and resource scope. It is distinct from all sibling tools which cover salary, rent, tenure, DPE, quasi-residence, zone tendue, and family allowances, so no confusion arises.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description specifies the exact context: France–Switzerland cross-border workers with droit d'option, choosing between Swiss LAMal and French CMU/PUMa. It does not explicitly mention alternatives or when not to use, but the context is clear enough for an agent to select this tool over siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Accounting MCP server for the French LMNP tax status (furnished rentals, e.g. Airbnb hosts). 44 tools to manage properties, income and expenses, compute component-based depreciation and fiscal results, and generate the official French tax return (2031/2033) and FEC accounting export.
    44
    3
    AGPL 3.0

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources