Skip to main content
Glama

Server Details

Statutory employer cost by country, before any Employer of Record (EOR) fee.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 23 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
eorscope/eorscope-mcp
GitHub Stars
0
Server Listing
eorscope-mcp

TDQS

A4.4/5.0

Scored across 14 tools

Disambiguation4/5

Each tool has a distinct computational purpose, and descriptions aggressively scope them with explicit 'Use this when' / 'Do not use when' cross-references (e.g. compare_countries vs compare_offers split on same-salary vs per-country salary). The only real overlap is the compute/display pairs (employer_cost vs show_ledger, compare_offers/compare_countries vs show_compare), which could still tempt an agent to call the wrong one, though the descriptions state that the show_* tools compute the figures themselves.

Naming Consistency4/5

All names are lowercase snake_case and readable, with no style mixing. However, the convention is not uniformly verb_noun: it alternates between verb-led names (compare_offers, reconcile_quote, show_ledger, list_countries, cost_next_year) and bare noun phrases (employer_cost, employment_terms, fx_stress, max_salary_for_budget, contractor_rate_equivalent, scheduled_changes).

Tool Count5/5

14 tools sits comfortably in the well-scoped range and each one covers a genuinely different question (single-country cost, multi-country comparison, reverse budget solve, FX risk, statutory terms, scheduled changes, quote audit, structure comparison, two display widgets). Nothing appears redundant at the count level.

Completeness4/5

The surface covers the cost lifecycle well: forward cost, comparisons, future-dated costs, announced changes, budget inversion, quote verification, and visualization. Minor gaps remain — no employee net-pay/income-tax view (explicitly excluded), no historical cost version beyond next-year, and the comparison tools exclude EOR fees, so there is no all-in multi-country cost including fees.

Available Tools

14 tools
compare_countriesEmployer cost of one salary in several countriesA
Read-only
Inspect

Use this when the user wants the statutory employer cost of the same gross salary in 2 to 10 countries (e.g. "employer cost of 70k in Poland, Portugal and Spain", "combien coûte un salaire de 60 000 en Irlande et aux Pays-Bas"). Before any Employer of Record fee; rows come back in the order requested, not ranked. Do not use when each country has its own salary (use compare_offers). Data snapshot 2026-10-22. Cost comparison, not legal or tax advice.

NameRequiredDescriptionDefault
countriesYes
salary_usdYesGross salary in USD, a year unless salary_period is "month", applied to every country
salary_periodNoWhether the salary is a year (default) or a month. Pass a monthly salary as the user gives it, with "month": the statutory number of monthly payments of the country (13th, 14th month) is applied, see salary_basis in the answer.year
payments_per_yearNoWith salary_period "month" only: the total number of monthly salaries the contract pays in a year, statutory ones included (e.g. 14). Omit to use the statutory number of the country.

Output Schema

NameRequiredDescription
metaYes
widgetNo
readingYes
summaryYes
countriesYes
salary_annual_usdNo
salary_monthly_usdNo

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnly/non-destructive annotations, it discloses three things an agent could not infer: results exclude Employer of Record fees, rows return in request order rather than ranked, and the data is a dated snapshot. It also adds a scope disclaimer ('cost comparison, not legal or tax advice') that matters for how an agent frames the answer.

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

Conciseness5/5

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

Roughly five short sentences, zero filler. The core intent and the numeric scope lead, then the sibling exclusion, then the caveats — a well front-loaded structure where every sentence carries information.

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?

With an output schema present and annotations covering safety, the description supplies exactly the missing layer: scope boundaries, the sibling decision rule, data currency, and exclusions from the returned figures. Nothing an agent needs in order to call this correctly is absent.

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 coverage is 75%, with countries, salary_usd and salary_period already well documented in the schema. The description reinforces the 2–10 country bound and the 'same salary applied to all' semantics, but adds nothing about salary_period or payments_per_year beyond what the schema says, so the baseline 3 applies.

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 states a specific verb and resource — the statutory employer cost of one identical gross salary across 2 to 10 countries — and gives a concrete example. It also explicitly distinguishes itself from the closest sibling (compare_offers) so an agent can route without opening either schema.

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

Usage Guidelines5/5

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

It names the triggering intent with natural-language examples in two languages, and states an explicit exclusion rule: 'Do not use when each country has its own salary (use compare_offers).' That is a when/when-not/alternative triple.

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

compare_offersEmployer cost of job offers in several countriesA
Read-only
Inspect

Use this when the user has job offers or candidates in 2 to 6 countries, each with its own gross salary (in USD or the local currency), and wants the total employer cost of each (e.g. "candidate A in Poland at 240,000 PLN, candidate B in Portugal at 45k: what does each cost the company?"). A monthly offer is passed with salary_period "month", which applies each country's statutory 13th or 14th month (e.g. "un candidat à 3 000 par mois à Madrid et un autre à 60 000 par an à Dublin"). Returns salary plus statutory employer charges, before any Employer of Record fee, the difference and ratio of each total to the smallest one, and the contribution ceilings each salary reaches. Rows come back in the order given. Do not use when the salary is the same in every country (use compare_countries). Data snapshot 2026-10-22. Cost comparison, not legal or tax advice.

NameRequiredDescriptionDefault
offersYesOne offer per country, 2 to 6 countries, each with its own salary

Output Schema

NameRequiredDescription
metaYes
offersYes
widgetNo
readingYes
summaryYes
smallest_totalYes

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavior beyond that: what the totals include (statutory employer charges, excluding EoR fees), how monthly salaries trigger the statutory 13th/14th month, row ordering, and a data snapshot date. However, with an output schema present and annotations covering safety, these additions are helpful context rather than filling a disclosure gap, so a 3 is warranted.

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?

Front-loaded with the 'Use this when' trigger and the exclusion, which is the right ordering. It is somewhat long and repeats the monthly-salary point twice with two long parenthetical examples, a small amount of redundancy for an otherwise tight single paragraph.

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 an output schema exists, the description need not explain return values, yet it still sketches them (totals, ratio to smallest, contribution ceilings) which only helps. For a read-only comparison tool with a fully documented schema, nothing an agent needs to call it correctly is missing.

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 every nested field (salary, country, salary_period, salary_currency, payments_per_year) is already documented in the schema. The description reinforces the monthly case and gives currency examples ('240,000 PLN'), but adds no semantics the schema does not already carry. Baseline 3 applies.

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 names a specific operation (compute total employer cost) over a specific input (2-6 country/salary offers) and immediately names the sibling it is not: 'Do not use when the salary is the same in every country (use compare_countries)'. An agent can distinguish it from compare_countries, compare_structures or employer_cost 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.

Usage Guidelines5/5

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

It gives explicit entry conditions (multiple offers in 2-6 countries, each with its own gross salary), an explicit exclusion plus the alternative tool to use instead, and two worked natural-language examples including one in French. Nothing about selection is left to inference.

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

compare_structuresEOR, own entity or contractor costA
Read-only
Inspect

Use this when the user is deciding between hiring through an Employer of Record, setting up their own entity, or engaging contractors in a country and wants the cost of each over 1 to 5 years (e.g. "from how many employees should we open an entity in Poland instead of using an EOR?"). Uses the fees and entity costs the user enters plus the statutory employer charges, and gives the headcount at which entity costs and EOR fees cross. Costs only: it does not say whether a contractor arrangement is lawful. Data snapshot 2026-10-22. Cost comparison, not legal or tax advice.

NameRequiredDescriptionDefault
yearsNoHorizon in years
salaryNoGross salary, a year unless salary_period is "month". Omit to use the country's example salary.
countryYesISO 3166-1 alpha-2 code ("DE") or country name ("Germany")
headcountNoNumber of employees
assumptionsNoOverride an adjustable assumption the country declares, e.g. {"basic_share_of_gross": 0.6}. See `assumptions` in an employer_cost answer.
salary_periodNoWhether the salary is a year (default) or a month. Pass a monthly salary as the user gives it, with "month": the statutory number of monthly payments of the country (13th, 14th month) is applied, see salary_basis in the answer.year
salary_currencyNoCurrency of `salary`: USD, or the local currency of the countryUSD
entity_setup_usdNoOne-off entity set-up cost in USD, from the user
entity_annual_usdNoYearly entity running cost in USD (payroll, accounting, filings), from the user
eor_fee_usd_monthYesThe EOR fee the user has been quoted, in USD per employee per month, as the user gives it
payments_per_yearNoWith salary_period "month" only: the total number of monthly salaries the contract pays in a year, statutory ones included (e.g. 14). Omit to use the statutory number of the country.
contractor_fee_usd_monthNoA contractor platform fee, if the user has one, in USD per employee per month, as the user gives it

Output Schema

NameRequiredDescription
metaYes
salaryYes
caveatsYes
countryYes
summaryYes
break_evenYes
your_inputsYes
salary_basisNo
employer_costYes
per_month_usdYes
cumulative_usdYes
over_horizon_usdYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover read-only/non-destructive/closed-world, and the description adds genuine context: the method (user-entered fees plus statutory employer charges), the computed output (crossover headcount), the data snapshot date 2026-10-22, and a clear 'cost comparison, not legal or tax advice' boundary. It does not discuss currency/rate assumptions or how the statutory charges are sourced, leaving a little undisclosed.

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?

Front-loaded with the trigger scenario, then the method, then the scope exclusions and data vintage. Five sentences, all load-bearing — the example query and the 'costs only' caveat each prevent a distinct class of misuse.

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 12 parameters, a nested assumptions object, annotations, and an output schema, the description carries its share: it states the horizon, the method, the crossover output, the cost-only boundary, and data freshness. It does not explain the assumptions override keys or the USD-vs-local currency interaction, though the schema points to the employer_cost answer for the former.

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

Parameters5/5

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

Schema coverage is 100%, so parameters are already documented, yet the description adds framing that explains why the inputs exist: entity setup and annual costs and EOR/contractor fees come 'from the user' as quoted, while statutory employer charges are filled in by the tool. That mapping of user-supplied vs computed inputs is exactly the semantics an agent needs when deciding what to ask the user for.

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?

States a specific comparison (EOR vs own entity vs contractor) with a defined output — total cost over a 1-5 year horizon and the headcount crossover point. The example question ('from how many employees should we open an entity in Poland instead of using an EOR?') makes the tool's distinct role unmistakable against siblings like employer_cost or compare_countries.

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?

Opens with an explicit trigger ('Use this when the user is deciding between hiring through an EOR, setting up their own entity, or engaging contractors') and scopes the horizon to 1-5 years. It adds a clear exclusion (cost only, not lawfulness or legal/tax advice) but never names a sibling tool such as employer_cost as the alternative for a single-country cost breakdown, so routing depends on inference.

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

contractor_rate_equivalentContractor rate equivalent to an employeeA
Read-only
Inspect

Use this when the user asks what day or hour rate a contractor would need to cost the same as an employee in a country, or wants to set a contractor rate against the full cost of employment (e.g. "what daily rate equals an 80k employee in Germany?"). The employee's annual cost (gross salary plus statutory employer charges, plus an Employer of Record fee if the user gives one) is divided by working days, by default 260 weekdays minus the country's statutory paid leave and public holidays, both adjustable. Costs only: it does not say whether a contractor arrangement is lawful or how to classify a worker. Data snapshot 2026-10-22. Cost comparison, not legal or tax advice.

NameRequiredDescriptionDefault
salaryNoGross salary, a year unless salary_period is "month". Omit to use the country's example salary.
countryYesISO 3166-1 alpha-2 code ("DE") or country name ("Germany")
assumptionsNoOverride an adjustable assumption the country declares, e.g. {"basic_share_of_gross": 0.6}. See `assumptions` in an employer_cost answer.
working_daysNoWorking days a year, replacing the default calculation
hours_per_dayNoHours per working day
salary_periodNoWhether the salary is a year (default) or a month. Pass a monthly salary as the user gives it, with "month": the statutory number of monthly payments of the country (13th, 14th month) is applied, see salary_basis in the answer.year
paid_leave_daysNoPaid leave days a year. Omit to use the country's statutory minimum.
public_holidaysNoPublic holidays falling on weekdays. Omit to use the number recorded for the country.
salary_currencyNoCurrency of `salary`: USD, or the local currency of the countryUSD
eor_fee_usd_monthNoAn EOR fee to add to the employee cost, in USD per employee per month, as the user gives it
payments_per_yearNoWith salary_period "month" only: the total number of monthly salaries the contract pays in a year, statutory ones included (e.g. 14). Omit to use the statutory number of the country.

Output Schema

NameRequiredDescription
metaYes
salaryYes
caveatsYes
countryYes
summaryYes
annual_costYes
salary_basisNo
working_daysYes
employer_costYes
hours_per_dayYes
equivalent_rateYes

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the readOnly annotations by disclosing the computation method (annual cost incl. statutory employer charges and optional EOR fee, divided by working days), the default working-day basis (260 minus statutory leave and holidays), the data snapshot date, and a scope disclaimer. These are exactly the behavioral details an agent needs to trust and frame the answer.

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

Conciseness4/5

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

Four sentences, front-loaded with the trigger and example, then the formula, then scope exclusions and date. Dense but every sentence carries signal; only the trailing disclaimer could be trimmed slightly.

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 an 11-parameter tool with an output schema and full param descriptions, the description supplies the remaining gaps: methodology, defaults derivation, data vintage, and scope limits. Nothing an agent needs to invoke or interpret it correctly is missing.

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 coverage the baseline is 3; the description adds real meaning by explaining that working_days defaults from 260 minus country leave/holidays, that both are adjustable, and that the EOR fee only applies when the user supplies one. It doesn't clarify salary_period/payments_per_year interplay, but that is already handled in 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?

States a specific verb+resource: converting an employee's total annual cost into a contractor day/hour rate, with a concrete example query. It is clearly distinct from siblings like employer_cost or compare_offers, which don't produce a contractor-rate equivalent.

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?

Opens with an explicit trigger ('Use this when the user asks what day or hour rate a contractor would need...') and includes exclusions ('it does not say whether a contractor arrangement is lawful or how to classify a worker'). The agent knows both when to call it and what it must not be used to answer.

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

cost_next_yearEmployer cost at a future dateA
Read-only
Inspect

Use this when the user budgets an employee for next year or a future date and asks how the statutory employer cost will move (e.g. "what will this hire in Brazil cost the employer in January 2027?"). Returns the cost today and at that date (by default 1 January of next year), at the same gross salary and exchange rate, applying only the enacted dated changes recorded for the country; changes announced in a budget come in a separate, flagged variant, and dates deduced from a source are flagged. A country whose changes are not tracked yet gets today's cost and "not yet tracked", never a projection. Amounts given in the local currency come back in it, with the USD in brackets. Data snapshot 2026-10-22. Cost comparison, not legal or tax advice.

NameRequiredDescriptionDefault
salaryNoGross salary, a year unless salary_period is "month". Omit to use the country's example salary.
countryYesISO 3166-1 alpha-2 code ("DE") or country name ("Germany")
on_dateNoDate of the projection, YYYY-MM-DD. Omit for 1 January of the year after the data snapshot.
assumptionsNoOverride an adjustable assumption the country declares, e.g. {"basic_share_of_gross": 0.6}. See `assumptions` in an employer_cost answer.
salary_periodNoWhether the salary is a year (default) or a month. Pass a monthly salary as the user gives it, with "month": the statutory number of monthly payments of the country (13th, 14th month) is applied, see salary_basis in the answer.year
salary_currencyNoCurrency of `salary`: USD, or the local currency of the countryUSD
payments_per_yearNoWith salary_period "month" only: the total number of monthly salaries the contract pays in a year, statutory ones included (e.g. 14). Omit to use the statutory number of the country.

Output Schema

NameRequiredDescription
metaYes
flagsNo
salaryYes
countryYes
currentYes
on_dateYes
readingYes
summaryYes
coverageNo
trackingYes
projectedYes
salary_basisNo
researched_onNo
with_budget_announcedNo

TDQS

A4.5/5.0
Behavior5/5

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

The description adds substantial behavioral context beyond the annotations: only enacted dated changes are applied, budget-announced changes are a separate flagged variant, deduced dates are flagged, untracked countries return today's cost plus 'not yet tracked' rather than a projection, and currency formatting is specified. These details materially affect interpretation of results.

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 dense and front-loaded, beginning with the usage trigger and then layering projection rules, edge cases, and output currency behavior. Every sentence carries operational value, including the snapshot date and disclaimer, with no filler.

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 complex projection tool with an output schema, the description covers the important unknowns: what changes are included, how unenacted or deduced changes are treated, how untracked countries behave, and what currency the response uses. Nothing an agent needs in order to invoke or interpret the tool correctly appears to be missing.

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 all parameters are already documented in the schema. The description reinforces a few behaviors, such as same gross salary and exchange rate and default date behavior, but does not add meaningful parameter semantics beyond the structured schema. 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 states a specific verb and resource: projecting statutory employer cost to a future date. It clearly distinguishes this from a current-cost lookup by explaining that it returns both today's cost and the future cost, applying only enacted dated changes. An agent can identify the scope without needing sibling schemas.

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 a clear triggering scenario: the user budgets an employee for next year or a future date and asks how employer cost will move. It also explains edge cases such as untracked countries and budget-announced changes. It stops short of explicitly naming employer_cost as the alternative for present-day cost, so it lacks full when-not guidance.

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

employer_costEmployer cost of an employee in a countryA
Read-only
Inspect

Use this when the user asks what an employee costs the employer in a country beyond the gross salary: employer social security contributions, payroll taxes, pension, health or accident insurance, mandatory levies, or the total cost of employment (e.g. "how much does it cost to employ a developer in Germany at 80k", "employer charges in Spain", "coût employeur d'un salarié en Pologne"). Returns each statutory employer contribution with its rate, base, ceiling, source (official wherever one exists) and check date, then the monthly and annual total and its percent of gross, before any Employer of Record fee. A total the country declares as a floor or a ceiling is written "at least" or "at most". A monthly salary is passed as the user gives it, with salary_period "month": the country's statutory 13th or 14th month is then applied (e.g. "a hire at 4,000 a month in Madrid", "un salarié payé 2 500 par mois à Lisbonne"). Do not use for an employee's net pay or income tax, for legal advice, or for the fees of a provider. Amounts given in the local currency come back in it, with the USD in brackets. Data snapshot 2026-10-22. Cost comparison, not legal or tax advice.

NameRequiredDescriptionDefault
salaryNoGross salary, a year unless salary_period is "month". Omit to use the country's example salary.
countryYesISO 3166-1 alpha-2 code ("DE") or country name ("Germany")
assumptionsNoOverride an adjustable assumption the country declares, e.g. {"basic_share_of_gross": 0.6}. See `assumptions` in an employer_cost answer.
include_notesNoInclude the long legal note behind each line
salary_periodNoWhether the salary is a year (default) or a month. Pass a monthly salary as the user gives it, with "month": the statutory number of monthly payments of the country (13th, 14th month) is applied, see salary_basis in the answer.year
salary_currencyNoCurrency of `salary`: USD, or the local currency of the countryUSD
payments_per_yearNoWith salary_period "month" only: the total number of monthly salaries the contract pays in a year, statutory ones included (e.g. 14). Omit to use the statutory number of the country.

Output Schema

NameRequiredDescription
metaYes
linesYes
salaryYes
widgetNo
countryYes
summaryYes
assumptionsYes
not_in_totalYes
salary_basisNo
employer_costYes
included_in_gross_salaryNo

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already establish readOnly and non-destructive behavior, and the description adds substantial context: per-contribution rates, bases, ceilings, sources, check dates, totals, floor/ceiling wording, local-currency return with USD in brackets, and the data snapshot date. It also discloses the 13th/14th month treatment and that results exclude Employer of Record fees.

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 long but front-loaded and logically ordered: purpose, output contents, special-case rules, exclusions, and data caveats. The multiple parenthetical example queries add some bulk, but every sentence carries useful routing or behavioral information.

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 seven parameters, a nested assumptions object, and an output schema, the description is complete enough for correct invocation. It covers the calculation basis, currency behavior, unusual salary period handling, total-cost definitions, and the important disclaimer that this is a cost comparison rather than legal or tax advice.

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, but the description usefully reinforces salary_period semantics: monthly salaries are passed as given and the country's statutory extra months are applied. It also gives a concrete assumptions override example, though much of the remaining parameter detail is already in 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?

States a specific verb and resource: computes the employer-side cost of an employee in a country, including social security, payroll taxes, pension, insurance, and levies. It clearly distinguishes itself from siblings like compare_countries and max_salary_for_budget by focusing on a single country's statutory employer burden.

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?

Gives explicit when-to-use cues with concrete example queries in multiple languages, plus strong exclusions: not for net pay, income tax, legal advice, or provider fees. It does not explicitly route the agent to a named sibling for related alternative tasks, which keeps it just short of a 5.

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

employment_termsStatutory employment termsA
Read-only
Inspect

Use this when the user, hiring in a country, asks about statutory minimums: paid leave days, public holidays, maximum probation, notice period, 13th-month payment or other mandatory payments (e.g. "how many days of leave in Brazil", "is there a 13th month in Mexico"). Each term comes with its source and check date. Do not use for legal advice on a specific dismissal, contract dispute or visa. Data snapshot 2026-10-22. Cost comparison, not legal or tax advice.

NameRequiredDescriptionDefault
countryYesISO 3166-1 alpha-2 code ("DE") or country name ("Germany")

Output Schema

NameRequiredDescription
metaYes
termsYes
countryYes
readingYes
summaryYes
salary_paymentsYes
statutory_extrasYes
extra_month_paymentsNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already establish this as a safe, closed-world read. The description adds real context beyond them: each term carries its source and check date, and the data snapshot is dated 2026-10-22, telling the agent how fresh and how auditable results are. It does not state coverage limits (which countries have data), which would have earned a 5.

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

Conciseness4/5

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

Front-loaded with the trigger condition, then examples, then exclusions — good ordering with no filler. The trailing 'Cost comparison, not legal or tax advice' reads as boilerplate that is slightly off-topic for a statutory-terms tool rather than a cost comparison.

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 values need no explanation, and the description covers scope, exclusions and data currency. The only omission is country coverage — whether every country is supported or where list_countries fits — which an agent might reasonably want before calling.

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?

A single parameter at 100% schema coverage, with the schema already specifying ISO 3166-1 alpha-2 or country name. The description adds no format or edge-case guidance beyond that, so the baseline 3 applies.

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?

States a specific verb and resource ('statutory minimums') and enumerates the exact dimensions covered: paid leave, public holidays, probation, notice period, 13th-month pay. This clearly separates it from the compare_* siblings, which are about cost comparison rather than statutory facts.

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?

Explicit trigger ('when the user, hiring in a country, asks about statutory minimums'), two concrete example queries, and an explicit exclusion ('Do not use for legal advice on a specific dismissal, contract dispute or visa'). Nothing is left for the agent to infer.

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

fx_stressExchange-rate stress testA
Read-only
Inspect

Use this when the user pays, or plans to pay, an employee in local currency and asks about exchange-rate risk or a USD budget (e.g. "what if the real moves 10%", "risque de change sur un salaire en pesos"). Returns the USD cost (gross salary plus statutory employer charges, before any Employer of Record fee) at the official exchange rate of the data snapshot, with its date and source, and if the local currency moves by 5, 10 or 20 percent either way; with a USD budget, the headroom in each case and the move at which the budget is reached. Do not use for currency conversion alone. Data snapshot 2026-10-22. Cost comparison, not legal or tax advice.

NameRequiredDescriptionDefault
countryYesISO 3166-1 alpha-2 code ("DE") or country name ("Germany")
budget_usdNoAnnual budget in USD for salary plus employer charges, if the user has one
assumptionsNoOverride an adjustable assumption the country declares, e.g. {"basic_share_of_gross": 0.6}. See `assumptions` in an employer_cost answer.
salary_localYesGross salary in the local currency of the country, a year unless salary_period is "month"
salary_periodNoWhether the salary is a year (default) or a month. Pass a monthly salary as the user gives it, with "month": the statutory number of monthly payments of the country (13th, 14th month) is applied, see salary_basis in the answer.year
payments_per_yearNoWith salary_period "month" only: the total number of monthly salaries the contract pays in a year, statutory ones included (e.g. 14). Omit to use the statutory number of the country.

Output Schema

NameRequiredDescription
metaYes
budgetNo
countryYes
readingYes
summaryYes
scenariosYes
salary_basisNo
employer_costYes
exchange_rateYes
total_annual_localYes
salary_annual_localYes
total_at_official_rateYes

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the readOnly/destructive annotations, it discloses the data snapshot date (2026-10-22), the rate basis (official rate of the snapshot, with source and date returned), exactly what cost components are included (gross plus statutory employer charges, excluding EOR fee), and a scope disclaimer ('Cost comparison, not legal or tax advice'). It also previews the response shape: cost at each move and the breakeven move for a budget.

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?

Information is front-loaded: when to use, then what is returned, then the exclusion, snapshot date, and disclaimer. It is a dense single block and the return-value sentence is long, but nearly every clause carries decision-relevant content.

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?

With a full output schema, 100 percent parameter documentation, and annotations covering safety, the description still supplies the pieces structured fields cannot: the snapshot vintage, the rate source, cost-component boundaries, and the breakeven-move behavior. An agent has everything needed to decide and call correctly.

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 coverage is 100 percent, so all six parameters are already documented, including the country/salary/budget roles and the assumptions override. The description only implies the budget parameter's effect on output (headroom) and adds nothing about salary_period, payments_per_year, or override semantics, so it sits at the baseline.

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?

States a specific operation on a specific resource: returns USD cost at the official rate plus the USD cost under 5/10/20 percent moves, and budget headroom if a budget is supplied. It also carves out a boundary ('Do not use for currency conversion alone'), which separates it from the plain cost and comparison siblings such as employer_cost or compare_offers.

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 trigger is explicit and even quoted bilingually ('pays, or plans to pay, an employee in local currency... asks about exchange-rate risk or a USD budget'), and an exclusion is given for pure conversion. What is missing is naming the sibling to use instead for baseline employer cost or for finding the max affordable salary, which would complete the routing picture.

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

list_countriesCountries coveredA
Read-only
Inspect

Use this when the user asks which countries EOR Scope covers, or wants the countries of a region (Europe, Asia, Latin America...) with ISO code, currency, an example salary and the statutory employer cost at that salary. Do not use for the detailed cost of one country (use employer_cost). Data snapshot 2026-10-22. Cost comparison, not legal or tax advice.

NameRequiredDescriptionDefault
regionNoFilter by region, e.g. "Europe", "Asia", "Latin America"

Output Schema

NameRequiredDescription
metaYes
countYes
readingYes
summaryYes
countriesYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false. The description adds useful context beyond them: the returned fields, the data snapshot date, and a cost-comparison/legal-advice disclaimer.

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?

Front-loads the main use case, then the exclusion, then freshness and disclaimer context. Each sentence carries useful information with no repetition.

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 one optional parameter, a present output schema, and clear read-only annotations, the description supplies everything needed: use case, exclusions, return contents, snapshot date, and scope disclaimer.

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?

The single optional region parameter is fully documented in the schema, so the schema does the heavy lifting. The description reinforces regional filtering and gives examples, but adds little syntax or behavior beyond the schema description.

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?

Names a specific verb and resource (list countries), states the EOR Scope coverage scope and regional filtering, and distinguishes the tool from employer_cost. An agent can identify it 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 Guidelines5/5

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

Explicitly says when to use it (user asks which countries are covered or wants countries in a region) and when not to use it (detailed country cost, use employer_cost). This is strong routing guidance against a relevant sibling.

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

max_salary_for_budgetGross salary that fits a hiring budgetA
Read-only
Inspect

Use this when the user has an all-in budget for a hire in a country and asks what gross salary it allows (e.g. "I have 100k a year for a hire in Germany, what salary can I offer?", "quel salaire brut pour un budget de 8 000 par mois en Espagne"). Returns the largest gross salary whose statutory employer cost (salary plus employer charges, plus an Employer of Record fee if the user gives one) stays within the budget, solved on the same ledger as employer_cost, so ceilings, floors, bands and fixed amounts are taken into account, and the monthly salary it stands for, paid the country's statutory number of times (13th, 14th month). Amounts given in the local currency come back in it, with the USD in brackets. Do not use for net pay. Data snapshot 2026-10-22. Cost comparison, not legal or tax advice.

NameRequiredDescriptionDefault
budgetYesTotal employer budget for one employee
countryYesISO 3166-1 alpha-2 code ("DE") or country name ("Germany")
assumptionsNoOverride an adjustable assumption the country declares, e.g. {"basic_share_of_gross": 0.6}. See `assumptions` in an employer_cost answer.
budget_periodNoWhether `budget` is per year or per monthyear
budget_currencyNoCurrency of `budget`: USD, or the local currency of the countryUSD
eor_fee_usd_monthNoAn EOR fee to take out of the budget first, in USD per employee per month, as the user gives it

Output Schema

NameRequiredDescription
metaYes
totalYes
budgetYes
countryYes
readingYes
summaryYes
max_salaryYes
employer_costYes
max_monthly_salaryYes

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover the safety profile (read-only, non-destructive, closed-world), and the description adds substantive behavior: employer charges plus optional EOR fee are deducted from the budget first, ceilings/floors/bands/fixed amounts are honored, the monthly salary is expressed at the country's statutory payment count, and currency round-tripping is stated. It also discloses the data snapshot date and the not-legal-advice caveat, which go well beyond structured fields.

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

Conciseness4/5

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

Front-loaded with the use case and quoted examples, then the mechanics, then caveats — a sensible order with no filler sentences. It is a dense single paragraph, but nearly every clause carries decision-relevant information.

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?

With annotations, a full input schema, and an output schema, the description supplies the remaining essentials: budget semantics, fee ordering, rounding/period behavior, and data freshness. Nothing an agent needs to invoke it correctly appears missing.

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 earns an extra point by clarifying that the budget is all-in and that eor_fee_usd_month is removed from the budget before solving, plus that local-currency input returns local currency with USD in brackets. It still leaves the `assumptions` override barely explained beyond the schema text.

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?

States a specific computation (largest gross salary whose statutory employer cost fits the budget) on a named resource, and ties itself to the employer_cost ledger, which distinguishes it from siblings. The inverse relationship to employer_cost is clear enough that an agent can pick correctly.

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?

Gives concrete trigger phrasing in two languages and an explicit exclusion ("Do not use for net pay"), which is strong when-to-use guidance. It does not name the alternative tool to use instead for net pay or for budget-free salary lookups, so routing is clear but not fully closed.

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

reconcile_quoteCheck an EOR or payroll quoteA
Read-only
Inspect

Use this when the user shares a quote, offer, invoice or cost breakdown from an Employer of Record, PEO or payroll provider and asks whether it is fair, correct, overpriced or what it includes (e.g. "here is my EOR quote for Germany: salary 5,900, employer contributions 1,350, fee 560 a month, is it honest?", "voici le devis de mon EOR, est-il correct ?"). Checks the quote lines against the statutory ledger of the country at the same salary: expected and quoted amount per statutory line, statutory lines missing from a detailed quote, charges with no statutory counterpart, and the gap split into fee lines, charges above the statutory ledger and the salary-line difference (often an exchange-rate margin). When the quote gives employer charges as one total, that total is compared with the statutory total and the expected line-by-line breakdown is returned. A monthly quote in a country paying more than 12 monthly salaries a year (e.g. 14 in Spain) is read against one monthly payment, the extra payments being owed outside its lines. Amounts given in the local currency come back in it, with the USD in brackets. Pass the amounts as written on the quote; the provider's name is never needed. Do not use without figures from the user. Data snapshot 2026-10-22. Cost comparison, not legal or tax advice.

NameRequiredDescriptionDefault
linesYes
periodNoWhether the quote line amounts are per month or per year (one employee)month
salaryYesGross salary the quote is for, a year unless salary_period is "month"
countryYesISO 3166-1 alpha-2 code ("DE") or country name ("Germany")
assumptionsNoOverride an adjustable assumption the country declares, e.g. {"basic_share_of_gross": 0.6}. See `assumptions` in an employer_cost answer.
salary_periodNoWhether the salary is a year (default) or a month. Pass a monthly salary as the user gives it, with "month": the statutory number of monthly payments of the country (13th, 14th month) is applied, see salary_basis in the answer.year
salary_currencyNoCurrency of `salary`: USD, or the local currency of the countryUSD
amounts_currencyNoCurrency of the quote line amountsUSD
payments_per_yearNoWith salary_period "month" only: the total number of monthly salaries the contract pays in a year, statutory ones included (e.g. 14). Omit to use the statutory number of the country.

Output Schema

NameRequiredDescription
metaYes
linesYes
salaryYes
countryYes
readingYes
summaryYes
salary_lineNo
missing_noteNo
quote_detailYes
salary_basisNo
gap_breakdownYes
per_month_usdYes
aggregate_linesNo
per_month_localNo
expected_breakdownNo
missing_from_quoteYes
not_in_statutory_ledgerYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations declare read-only, closed-world, non-destructive behavior. The description adds valuable context beyond annotations: how monthly quotes in 13/14-payment countries are interpreted, that local currency amounts are returned in local currency with USD in brackets, the data snapshot date, and a clear 'cost comparison, not legal or tax advice' disclaimer. 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?

Front-loads the when-to-use clause and then provides logical supporting details. However, it is lengthy with multiple examples and could be tightened; some sentences overlap in purpose. Still, every sentence contributes useful context for a complex tool.

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 9 parameters, nested objects, and an existing output schema, the description is complete: it covers when to use, what the tool checks, how currencies and payment periods are handled, and includes a data snapshot and disclaimer. An agent has enough to invoke it correctly without needing to consult siblings or external docs.

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 high (89%), so baseline is 3. The description adds meaningful guidance: 'Pass the amounts as written on the quote; the provider's name is never needed' and explains the interaction of salary_period with statutory payments (e.g., 14 salaries in Spain). This supplements the schema without duplicating it.

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?

States a specific verb ('checks') and resource ('quote lines against the statutory ledger of the country'), and details what it computes (expected vs quoted amounts, missing lines, non-statutory charges, gap split). This distinguishes it from siblings like compare_offers by focusing on validating a user-provided quote against statutory data.

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?

Explicitly says when to use ('when the user shares a quote... and asks whether it is fair, correct...') and includes a when-not condition ('Do not use without figures from the user'). However, it does not name alternative tools (e.g., employer_cost) for cases where the user lacks a quote, leaving routing to siblings implicit.

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

scheduled_changesScheduled employer contribution changesA
Read-only
Inspect

Use this when the user asks what is changing in a country's statutory employer contributions: new rates, ceilings, floors or thresholds, their effective dates, or measures announced in a budget (e.g. "employer contribution changes in Ireland in 2027", "hausse des cotisations patronales en Allemagne l'an prochain"). Each change comes with its status (enacted, or announced in a budget and not yet enacted), whether the date is stated in the source or deduced from it, and the source with a word-for-word quote and its reading date. A country whose changes are not tracked yet is answered "not yet tracked", which does not mean that nothing is scheduled. Data snapshot 2026-10-22. Cost comparison, not legal or tax advice.

NameRequiredDescriptionDefault
countryYesISO 3166-1 alpha-2 code ("DE") or country name ("Germany")

Output Schema

NameRequiredDescription
metaYes
changesYes
countryYes
pendingYes
readingYes
summaryYes
coverageNo
trackingYes
researched_onNo

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond readOnlyHint: it discloses that each change carries a status (enacted vs announced), whether the date is stated or deduced, and a word-for-word source quote with reading date. It also warns that 'not yet tracked' does not mean nothing is scheduled, and pins the data snapshot date — exactly the kind of epistemic caveats an agent needs to avoid overstating results.

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?

Front-loads the trigger condition before the return semantics, and every clause (status, deduced dates, quotes, snapshot date, disclaimer) carries information. It runs long and bundles the disclaimer into the same sentence as the data snapshot, but nothing is filler.

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?

An output schema exists, yet the description still summarizes the meaningful payload (status, date provenance, source quote) so the agent knows what it is getting. With one fully-documented parameter and annotations covering safety, nothing needed to call this correctly is missing.

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 coverage is 100% (ISO alpha-2 or country name), so the parameter is already fully documented. The description only refers to 'a country's' contributions and adds no format, ambiguity, or edge-case guidance beyond the schema, so baseline 3 applies.

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?

States a specific verb and resource: retrieving scheduled statutory employer contribution changes (rates, ceilings, floors, thresholds, effective dates, budget announcements). None of the siblings (compare_countries, cost_next_year, employer_cost) cover forward-looking statutory change tracking, so the boundary is implicit but unmistakable.

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?

Opens with an explicit trigger ('use this when the user asks what is changing...') and gives concrete multilingual query examples that make the intended intent recognition unambiguous. It stops short of naming which sibling to use instead for current-year rates or cost comparison, so the negative case is only covered by the 'cost comparison, not legal or tax advice' caveat.

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

show_compareShow the job offer comparisonA
Read-only
Inspect

Use this when the user wants the employer cost of job offers or salaries in 2 to 6 countries shown or displayed as a table they can read at a glance: for each country, the gross salary, statutory employer charges, total employer cost, difference and ratio to the smallest total, and contribution ceilings reached. It computes the figures itself: call it directly, with no data tool first, or after compare_offers or compare_countries with the arguments they return in widget. Inline up to 3 countries, full screen above. Takes the same offers as compare_offers. Data snapshot 2026-10-22. Cost comparison, not legal or tax advice.

NameRequiredDescriptionDefault
offersYesOne offer per country, 2 to 6 countries, each with its own salary

Output Schema

NameRequiredDescription
metaYes
offersYes
displayYes
readingYes
summaryYes
smallest_totalYes

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the read-only, non-destructive annotations, the description discloses what is computed (gross salary, statutory employer charges, total employer cost, difference and ratio to the smallest total, contribution ceilings) and notes the data snapshot date. It also clarifies that this is a cost comparison, not legal or tax advice, which is useful 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 front-loads the main usage condition and keeps the most important details early. It includes some extra clauses, but they generally earn their place by clarifying invocation order, display mode, data freshness, and legal scope.

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 rich annotations, full schema coverage, and presence of an output schema, the description is complete enough for correct invocation. It covers purpose, when to call, relationship to sibling tools, display behavior, computed outputs, data snapshot, and disclaimer.

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 offer fields are already well documented. The description adds limited parameter-level meaning by saying it takes the same offers as compare_offers and is limited to 2 to 6 countries, but most of that is also evident from 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 states a specific presentation action (showing employer cost of job offers or salaries as a readable table) with a precise scope of 2 to 6 countries. It clearly distinguishes this display tool from comparison siblings by saying it computes the figures itself and takes the same offers as compare_offers.

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?

It explicitly tells the agent when to use this tool (when the user wants employer cost shown or displayed as a table) and how to call it (directly with no data tool first, or after compare_offers or compare_countries with their widget arguments). It also gives display-mode guidance: inline up to 3 countries, full screen above.

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

show_ledgerShow the employer cost ledgerA
Read-only
Inspect

Use this when the user wants to see, display, keep, copy or export the line-by-line employer cost of one employee in a country as a table or card (e.g. "show me the breakdown", "display it as a table", "affiche le détail des cotisations patronales"). It computes the figures itself: call it directly, with no data tool first, or after employer_cost with the arguments employer_cost returns in widget. Displays the salary basis (a monthly salary times the statutory number of payments), one row per statutory line with its rate, base, floor or ceiling, source and check date, a monthly or annual view, a salary field to recalculate, and a CSV copy. Takes the same country, salary and assumptions as employer_cost. Data snapshot 2026-10-22. Cost comparison, not legal or tax advice.

NameRequiredDescriptionDefault
salaryNoGross salary, a year unless salary_period is "month". Omit to use the country's example salary.
countryYesISO 3166-1 alpha-2 code ("DE") or country name ("Germany")
assumptionsNoOverride an adjustable assumption the country declares, e.g. {"basic_share_of_gross": 0.6}. See `assumptions` in an employer_cost answer.
salary_periodNoWhether the salary is a year (default) or a month. Pass a monthly salary as the user gives it, with "month": the statutory number of monthly payments of the country (13th, 14th month) is applied, see salary_basis in the answer.year
salary_currencyNoCurrency of `salary`: USD, or the local currency of the countryUSD
payments_per_yearNoWith salary_period "month" only: the total number of monthly salaries the contract pays in a year, statutory ones included (e.g. 14). Omit to use the statutory number of the country.

Output Schema

NameRequiredDescription
metaYes
linesYes
salaryYes
countryYes
summaryYes
assumptionsYes
not_in_totalYes
salary_basisNo
salary_inputYes
scenario_urlYes
employer_costYes
included_in_gross_salaryNo

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the readOnly/destructive annotations it discloses what the output actually contains (salary basis, per-line rate, base, floor/ceiling, source and check date, monthly/annual toggle, recalculation field, CSV copy) and the data snapshot date 2026-10-22, plus an explicit non-advice disclaimer. This is substantive behavioral context an agent cannot get from 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?

Front-loaded with the use case, then invocation rule, then output contents — a sensible order. It is dense with stacked parentheticals and example phrases, so it runs long, but almost every clause carries information.

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?

An output schema exists, so return structure need not be explained, yet the description still tells the agent what will be rendered and that a CSV copy is available. Combined with the snapshot date and the 'computes figures itself' note, an agent has everything needed to call it correctly on the first try.

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 coverage is 100% and the schema already documents salary, country, assumptions, salary_period, salary_currency and payments_per_year including the monthly/statutory-payments interaction. The description's own parameter contribution is mostly the cross-tool rule that it accepts the same country/salary/assumptions as employer_cost, which is useful but marginal. 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?

States a concrete verb-and-resource: display the line-by-line employer cost of one employee in a country as a table or card. The split from employer_cost is explicit — that tool computes, this one renders the figures and computes them itself — so an agent can distinguish it from siblings without reading schemas.

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?

Gives explicit when-to-use triggers ('show me the breakdown', 'display it as a table', plus a non-English example) and an explicit invocation rule: call directly with no data tool first, or after employer_cost passing through the `widget` arguments. Alternatives and ordering are both spelled out.

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.

  1. 14 tool updates
    • First observedcompare_countries
    • First observedcompare_offers
    • First observedcompare_structures
    • First observedcontractor_rate_equivalent
    • First observedcost_next_year
    • First observedemployer_cost
    • First observedemployment_terms
    • First observedfx_stress
    • First observedlist_countries
    • First observedmax_salary_for_budget
    • First observedreconcile_quote
    • First observedscheduled_changes
    • First observedshow_compare
    • First observedshow_ledger

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables geographic parity analysis with 26 read-only tools covering purchasing power, salary localization, cost of living, nomad visas, tax residency, FIRE planning, and relocation costs.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to retrieve and compare verified country facts such as VAT/GST, public holidays, visas, tipping, and minimum wages across 70 countries, with automatic x402 micropayments in USDC on Base per call.
    107 npm
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Per-unit cost of 13 back-office tasks done by a person vs by software, in the US, Greece and Ukraine, with an official statistic behind every hourly wage. Bundled data, works offline.
    5
    45 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to plan and price household employment in Switzerland (cleaner, nanny, carer), returning hiring checklists with real deadlines, employer costs and net wages, minimum-wage checks, and rules for all 26 cantons through read-only tools. Every figure is tied to its official source document and verification date.
    CC BY-4.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.