BestEOR: EOR pricing and employment costs
Server Details
Cited EOR provider fees, coverage and models, plus employer costs in 139 countries.
- Status
- Healthy
- Uptime
- 100.0% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
Each tool targets a distinct resource+action: listing providers (list_eor_providers), fetching one provider (get_eor_provider), comparing a few side by side (compare_eor_providers), estimating employment cost (estimate_eor_cost), and country statutory requirements (get_country_employment_costs). The provider-facing trio (list/get/compare) could superficially overlap, but descriptions clearly delineate bulk list vs. single detail vs. side-by-side comparison.
All names follow a consistent verb_noun snake_case pattern: compare_eor_providers, estimate_eor_cost, get_country_employment_costs, get_eor_provider, list_eor_providers. Verbs (compare, estimate, get, list) are predictable and nouns are clear.
Five tools is well-scoped for a niche domain focused on EOR pricing and employment costs. Each tool earns its place covering a distinct workflow: discover, inspect, compare, estimate, and check country rules.
The surface covers the main lifecycle: list/filter providers, get provider detail, compare providers, estimate costs, and retrieve country employment requirements. Minor gaps exist (e.g. no reverse gross/net salary calculator or curated country list), but core workflows are fully supported.
Available Tools
5 toolscompare_eor_providersCompare EOR providersARead-onlyIdempotentInspect
Compare two or three EOR providers side by side on published fee, country coverage, owned entities and delivery model, with primary sources and a link to the matching BestEOR.co comparison page.
| Name | Required | Description | Default |
|---|---|---|---|
| providers | Yes | Two or three provider names or slugs. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, closed-world, non-destructive), so the description's added value is its disclosure of what the comparison yields: published fees, country coverage, owned entities, delivery model, primary sources, and a BestEOR.co link. That sourcing detail is genuine behavioral context 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that puts the verb and comparison dimensions first and appends the sourcing detail. Dense but not padded; every clause maps to a concrete output dimension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and one fully documented parameter, the description compensates by enumerating what comes back (fee, coverage, entities, delivery model, sources, comparison link). An agent can decide whether to call it and what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'providers' parameter is fully documented (names or slugs, 2-3 items). The description's 'two or three EOR providers' merely restates the schema constraints, adding no syntax or format guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (compare), resource (EOR providers), and enumerates the exact comparison dimensions (published fee, country coverage, owned entities, delivery model). This clearly separates it from siblings like list_eor_providers and get_eor_provider, which retrieve rather than contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (comparing two or three providers) but gives no explicit when-to-use guidance relative to estimate_eor_cost or get_eor_provider, and no exclusions. A reader can infer intent from the verb, but the agent is not routed to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_eor_costEstimate EOR employment costARead-onlyIdempotentInspect
Estimate the annual and monthly cost of employing people in a country through an EOR: gross salary, plus the country's representative employer contribution rate, plus the EOR fee (a provider's published fee, or one you supply from a quote), plus other monthly costs. A budget illustration, not a payroll quote: contribution caps and thresholds are not applied.
| Name | Required | Description | Default |
|---|---|---|---|
| country | Yes | Country name, two-letter ISO code or slug. | |
| provider | No | EOR provider whose published fee to use, e.g. 'Deel'. | |
| employees | No | Number of employees on this salary (default 1). | |
| monthly_fee_usd | No | EOR fee per employee per month from a quote, in USD. Overrides the provider's published fee. | |
| annual_salary_usd | Yes | Annual gross salary per employee, in USD. | |
| other_monthly_costs_usd | No | Other costs per employee per month (benefits, allowances), in USD. Default 0. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/non-destructive, so safety is covered. The description adds real behavioral context beyond that: the calculation is an approximation that ignores contribution caps and thresholds, and the fee can come from a published provider rate or a user-supplied quote. It stops short of describing any output structure or edge behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core computation and followed by the essential accuracy caveat. No filler; every clause (cost components, fee source, cap caveat) earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only estimation tool with a fully-described schema and no output schema, the description conveys the return shape ('annual and monthly cost') and the accuracy limits. Nearly complete; only the absence of any pointer to related comparison tools leaves a small gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all six parameters are already documented. The description's mention of 'a provider's published fee, or one you supply from a quote' mirrors the schema's own override note for provider/monthly_fee_usd, adding little beyond what the schema states. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource ('estimate the annual and monthly cost of employing people in a country through an EOR') with an explicit breakdown of the computed components (gross salary, employer contribution, EOR fee, other monthly costs). It distinguishes itself functionally from get_country_employment_costs by including the EOR fee, though it never names a sibling tool directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The caveat 'A budget illustration, not a payroll quote: contribution caps and thresholds are not applied' tells the agent when this tool's output is appropriate and when it is not suitable for exact payroll. It does not, however, point to an alternative tool (e.g. compare_eor_providers) for the scenarios it excludes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_country_employment_costsCountry employment costsARead-onlyIdempotentInspect
Get what it costs and what the law requires to employ someone in a country: the employer's statutory contribution rate (or fixed amounts), minimum wage, annual leave, notice, severance, probation and other terms, each with its primary source. Accepts a country name, ISO 3166-1 alpha-2 code or slug, e.g. 'Germany', 'BR', 'united-kingdom'.
| Name | Required | Description | Default |
|---|---|---|---|
| country | Yes | Country name, two-letter ISO code or slug. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds non-trivial context beyond that: each statutory term is returned 'with its primary source', which tells the agent the response carries provenance. It stops short of disclosing legal-data freshness, coverage gaps, or error behavior for unknown countries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both front-loaded: the first defines exactly what is returned, the second defines accepted input formats. Every clause carries information an agent needs, with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing return values, and it does so by enumerating the fields and noting source citations. For a legal/compliance tool it is nearly complete, though it omits what happens for unsupported countries and how current the statutory data is.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter is already documented as a name, ISO code, or slug, so the baseline is 3. The description adds concrete accepted forms with examples ('Germany', 'BR', 'united-kingdom'), clarifying case/format expectations beyond the schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (Get) and precisely enumerates the returned resource: statutory contribution rates, minimum wage, annual leave, notice, severance, probation. This scope is clearly distinguishable from the sibling tools, which concern EOR providers and cost estimates, so an agent can route correctly without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the content of the returned data (employing someone in a country), but there is no explicit when-to-use statement and no named alternative such as estimate_eor_cost or compare_eor_providers. Nothing is misleading; the guidance is simply inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_eor_providerGet one EOR providerARead-onlyIdempotentInspect
Get one EOR provider's published fee (or quote-only terms), EOR country coverage, owned-entity footprint, delivery model, what it is best for, and the primary-source URL behind each figure. Accepts a name or slug, e.g. 'Deel', 'Remote', 'Globalization Partners', 'oyster-hr'.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Provider name or slug. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a read-only, idempotent, non-destructive, closed-world lookup, so safety needs no restating. The description adds real behavioral context by disclosing that fees may be quote-only rather than published and that every figure carries a primary-source URL.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with what is returned before the accepted input forms. The return-field enumeration is long but each element is informative, so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so by naming the data categories returned. The single required parameter is fully documented, though it does not say what happens for an unknown provider name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already says 'Provider name or slug', so baseline is 3. The description goes beyond it by clarifying that either form is accepted and giving four concrete example values, which is genuine added meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get') and resource ('one EOR provider') and enumerates the returned facets (published fee or quote-only terms, country coverage, owned-entity footprint, delivery model, best-for, source URL). The word 'one' clearly separates it from the list_eor_providers sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It documents accepted input forms with concrete examples ('Deel', 'oyster-hr'), which is useful, but never says when to choose this over list_eor_providers or compare_eor_providers. Usage is implied by the singular 'one provider' framing rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_eor_providersList EOR providersARead-onlyIdempotentInspect
List and filter the 85 employer of record (EOR) providers BestEOR.co tracks, with each one's published monthly fee per employee (or quote-only), countries covered, owned-entity footprint, delivery model and primary-source links. A fee ceiling or coverage minimum only matches providers that publish that figure.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum providers to return (default 20). | |
| model | No | Delivery model: owned-entity (own legal entities only), hybrid (own entities plus partners) or aggregator (local partners). | |
| sort_by | No | fee: cheapest published fee first (default); coverage: most countries first; name: alphabetical. | |
| min_countries | No | Only providers that state EOR coverage in at least this many countries. | |
| max_monthly_fee_usd | No | Only providers whose published starting fee per employee per month is at or below this, in USD. Quote-only providers are excluded when set. | |
| published_price_only | No | Only providers that publish a price. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish this as a safe, idempotent, closed-world read. The description goes beyond them by disclosing catalog size (85 providers), the fact that fees may be quote-only, and the non-obvious filter semantics that excluded providers are silently dropped rather than returned with nulls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the verb and resource; the returned-field list is dense but earns its place since there is no output schema. Slightly run-on, but no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully enumerates return fields, and all six parameters are documented in the schema. Minor gaps remain around result ordering defaults and whether unpriced providers surface at all, but nothing an agent needs to call it is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description generalizes the publish-only rule to both max_monthly_fee_usd and min_countries, while the schema only states it for the fee parameter. That clarification exceeds what the structured data provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (list/filter) and resource (the 85 EOR providers tracked by BestEOR.co) and enumerates the fields returned, so an agent can distinguish it from get_eor_provider or compare_eor_providers without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies the browse-and-filter use case and adds an important selection rule ('a fee ceiling or coverage minimum only matches providers that publish that figure'), which warns the agent that filtered results are a subset. It never names when to prefer compare_eor_providers or get_eor_provider instead, so routing 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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
list_eor_providers1 field changed- changed
Input schema / properties / limit / maximumPrevious value: -73New value: +85
1 tool update
- Changed
list_eor_providers1 field changed- changed
Input schema / properties / limit / maximumPrevious value: -74New value: +73
1 tool update
- Changed
list_eor_providers1 field changed- changed
Input schema / properties / limit / maximumPrevious value: -75New value: +74
1 tool update
- Changed
list_eor_providers1 field changed- changed
Input schema / properties / limit / maximumPrevious value: -67New value: +75
1 tool update
- Changed
list_eor_providers1 field changed- changed
Input schema / properties / limit / maximumPrevious value: -68New value: +67
1 tool update
- Changed
list_eor_providers1 field changed- changed
Input schema / properties / limit / maximumPrevious value: -62New value: +68
1 tool update
- Changed
list_eor_providers1 field changed- changed
Input schema / properties / limit / maximumPrevious value: -63New value: +62
5 tool updates
- First observed
compare_eor_providers - First observed
estimate_eor_cost - First observed
get_country_employment_costs - First observed
get_eor_provider - First observed
list_eor_providers
Related MCP Connectors
Statutory employer cost by country, before any Employer of Record (EOR) fee.
Global expansion intelligence: country info, expansion cost estimates, competitor analysis.
Cited official data: tax, VAT, CPI, policy rates, wages, holidays, FX. 128 countries+EU, 7 regions.
Cost of living, fair global pay, healthcare costs, nomad visas and tax residency. Free, no key.
Related MCP Servers
AlicenseAqualityBmaintenanceEnables looking up statutory employer contributions by country, published Employer of Record provider fees, and combined all-in hiring costs for a given salary and headcount. Ships an offline snapshot of 76 countries and 14 providers, returning sourced figures with methodology and freshness metadata.563 npm-- AlicenseNot gradedqualityBmaintenanceEnables 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
- FlicenseAqualityDmaintenanceMCP server for AI agents handling EOR & global hiring conversations. 8 tools: country EOR briefs, misclassification risk, EOR vs entity calculator, termination rules, statutory benefits, work visa paths, objection handlers.8-
- AlicenseAqualityDmaintenanceCost-of-living and quality-of-life comparison across ~165 cities: take-home pay, the equivalent salary you'd need, and the safety-net deltas (childcare, healthcare, vacation, parental leave).611 npm2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.