Skip to main content
Glama

get_country_eor_brief

Retrieve a country-specific EOR brief including legal framework, markup, setup costs, payroll complexity, and key compliance risks to evaluate employer of record options.

Instructions

Get country-specific EOR brief: legal framework, typical markup, entity setup cost/time, break-even employee count, payroll complexity, must-haves, common pitfalls, employer tax burden, employee protections.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
countryYes

Implementation Reference

  • src/main.ts:678-681 (registration)
    Tool registration in ListToolsRequestSchema handler — defines name, description, and inputSchema for the get_country_eor_brief tool.
      name: "get_country_eor_brief",
      description: "Get country-specific EOR brief: legal framework, typical markup, entity setup cost/time, break-even employee count, payroll complexity, must-haves, common pitfalls, employer tax burden, employee protections.",
      inputSchema: { type: "object", properties: { country: { type: "string", enum: Object.keys(COUNTRY_BRIEFS) } }, required: ["country"] }
    },
  • Handler in CallToolRequestSchema switch — extracts country from args, looks up COUNTRY_BRIEFS map, returns the brief as JSON.
    case "get_country_eor_brief": {
      const country = args?.country as string;
      const brief = COUNTRY_BRIEFS[country];
      if (!brief) throw new Error(`Unknown country: ${country}`);
      return { content: [{ type: "text", text: JSON.stringify({ module: "EOR Country Brief", ...brief }, null, 2) }] };
    }
  • TypeScript type definition for CountryBrief — shapes the data structure returned by get_country_eor_brief.
    type CountryBrief = {
      market: string;
      flag: string;
      legal_framework: string;
      typical_eor_markup: string;
      entity_setup_cost_usd: string;
      entity_setup_time: string;
      typical_eor_breakeven_employees: string;
      payroll_complexity: "Low" | "Medium" | "High" | "Very High";
      must_haves: string[];
      common_pitfalls: string[];
      tax_burden_employer: string;
      notable_employee_protections: string[];
    };
  • Data store — COUNTRY_BRIEFS map containing all country-specific EOR briefs keyed by country code, referenced by the handler.
    const COUNTRY_BRIEFS: Record<string, CountryBrief> = {
      uk: {
        market: "United Kingdom",
        flag: "🇬🇧",
        legal_framework: "Employment Rights Act 1996, Equality Act 2010. Post-Brexit, distinct from EU framework. IR35 rules govern contractor classification.",
        typical_eor_markup: "10-15% on top of gross payroll",
        entity_setup_cost_usd: "$8K-25K (UK Ltd company + setup + accountant retainer)",
        entity_setup_time: "2-6 weeks",
        typical_eor_breakeven_employees: "5-8 employees",
        payroll_complexity: "Medium",
        must_haves: [
          "PAYE registration with HMRC",
          "Workplace pension auto-enrolment (3% min employer contribution)",
          "Statutory sick pay, maternity/paternity coverage",
          "Right to work check (Brexit-strict)",
          "Employment contract within 2 months"
        ],
        common_pitfalls: [
          "IR35 misclassification — contractor/employee distinction is heavily enforced",
          "Forgetting workplace pension can trigger HMRC penalties up to £10K",
          "P45/P60 documentation must be issued correctly",
          "Sponsor licence required to hire non-UK nationals (took on extra weight post-Brexit)"
        ],
        tax_burden_employer: "13.8% Employer NI above £9,100 + 3% pension auto-enrol minimum",
        notable_employee_protections: [
          "Unfair dismissal rights kick in after 2 yrs continuous employment",
          "Statutory redundancy pay scales with tenure",
          "Holiday: 28 days minimum (incl. bank holidays)"
        ]
      },
      ireland: {
        market: "Ireland",
        flag: "🇮🇪",
        legal_framework: "Employment Equality Acts, Organisation of Working Time Act, multiple specific acts (e.g., Payment of Wages, Terms of Employment).",
        typical_eor_markup: "10-15%",
        entity_setup_cost_usd: "$6K-15K + ~€500/mo accountancy",
        entity_setup_time: "2-4 weeks",
        typical_eor_breakeven_employees: "4-6 employees",
        payroll_complexity: "Medium",
        must_haves: [
          "PAYE/PRSI registration with Revenue",
          "Pension scheme — mandatory auto-enrolment rolling out from 2026",
          "Written contract within 5 days of start (key terms)",
          "PRSI contributions"
        ],
        common_pitfalls: [
          "Auto-enrolment pension just launched — many employers underprepared",
          "EU GDPR + DPC scrutiny on HR data",
          "Bogus self-employment cases pursued by Revenue and WRC"
        ],
        tax_burden_employer: "11.05% Employer PRSI + pension contribution (auto-enrol scaling to 6% by 2034)",
        notable_employee_protections: [
          "Unfair Dismissal protection after 12 months",
          "Statutory sick pay introduced 2023",
          "20 days minimum holiday"
        ]
      },
      spain: {
        market: "Spain",
        flag: "🇪🇸",
        legal_framework: "Estatuto de los Trabajadores (Workers' Statute), Real Decreto Legislativo 2/2015. Strong worker protections.",
        typical_eor_markup: "12-18%",
        entity_setup_cost_usd: "$10K-30K + ongoing local accountant + local director",
        entity_setup_time: "6-12 weeks (NIE registrations, social security, tax)",
        typical_eor_breakeven_employees: "8-12 employees",
        payroll_complexity: "Very High",
        must_haves: [
          "Social Security registration (Seguridad Social)",
          "Industry-specific convenio colectivo compliance (collective agreement)",
          "Mandatory paga extra (extra payments June + December)",
          "Severance reserves (deduce risk)",
          "Time tracking law compliance (Real Decreto-ley 8/2019)"
        ],
        common_pitfalls: [
          "Convenios vary by industry AND region — wrong one applied = backpay liability",
          "Falsos autónomos (false self-employed) cases — Inspección de Trabajo aggressive",
          "Termination is expensive: 33-45 days/year worked",
          "Igualdad (equality) plans required for cos with 50+ employees"
        ],
        tax_burden_employer: "29-31% (employer social security incl. unemployment, training, pensions)",
        notable_employee_protections: [
          "Unfair dismissal compensation: 33 days/year (max 24 months)",
          "Strict night work and overtime rules",
          "30 calendar days minimum holiday + 14 public holidays"
        ]
      },
      germany: {
        market: "Germany",
        flag: "🇩🇪",
        legal_framework: "BGB (Civil Code), Kündigungsschutzgesetz (Termination Protection Act), Betriebsverfassungsgesetz (Works Council Act), Arbeitnehmerüberlassungsgesetz (AÜG) for staffing.",
        typical_eor_markup: "12-18%",
        entity_setup_cost_usd: "$15K-50K (GmbH €25K min capital + notary + tax adviser)",
        entity_setup_time: "8-16 weeks",
        typical_eor_breakeven_employees: "10-15 employees",
        payroll_complexity: "Very High",
        must_haves: [
          "Steuernummer (tax number) and Sozialversicherung registration",
          "Health insurance (statutory or private), pension, unemployment, long-term care insurance",
          "Works council (Betriebsrat) consultation rights at 5+ employees",
          "Detailed Arbeitsvertrag (employment contract) — must specify protective terms",
          "Datenschutzbeauftragter (DPO) at 20+ employees handling personal data"
        ],
        common_pitfalls: [
          "Scheinselbständigkeit (false self-employment) — multi-criteria test, fines up to €500K and back-payments",
          "AÜG licensing for staffing — without it, hires can be challenged",
          "Termination requires Sozialauswahl (social selection) for cos with 10+ employees",
          "Probezeit (probation) max 6 months, after that termination protection kicks in"
        ],
        tax_burden_employer: "~21% (split: pension 9.3%, unemployment 1.3%, health 7.3-8%, long-term care 1.7-2%)",
        notable_employee_protections: [
          "Strong termination protection after 6 months at 10+ employee orgs",
          "20-30 days minimum vacation",
          "Continued pay during sickness (6 weeks employer-paid)",
          "Works council can block major HR decisions"
        ]
      },
      france: {
        market: "France",
        flag: "🇫🇷",
        legal_framework: "Code du Travail. Among most employee-protective in Europe. CDI (permanent) heavily preferred over CDD (fixed).",
        typical_eor_markup: "13-20%",
        entity_setup_cost_usd: "$12K-35K (SARL/SAS + commercial registry + ongoing comptable)",
        entity_setup_time: "6-12 weeks",
        typical_eor_breakeven_employees: "8-12 employees",
        payroll_complexity: "Very High",
        must_haves: [
          "URSSAF social security registration",
          "Convention collective (industry-wide collective agreement) compliance",
          "Mutuelle (health complement) employer-paid 50% min",
          "Comité Social et Économique (CSE) at 11+ employees",
          "Document Unique d'Évaluation des Risques (workplace risk assessment)"
        ],
        common_pitfalls: [
          "Travail dissimulé (concealed work / contractor misclassification) — 3 yrs prison + heavy fines possible",
          "35-hour week + RTT compliance",
          "Termination process is procedural — wrong steps invalidate it entirely",
          "CDD strict justification or auto-converts to CDI"
        ],
        tax_burden_employer: "~42-45% (highest in EU — unemployment, pension, family allowance, training)",
        notable_employee_protections: [
          "Termination procedure required: written notice, hearing, justification",
          "30 days vacation + 11 public holidays + RTT",
          "Right to disconnect (Loi Travail 2016)",
          "Maternity 16-26 weeks paid"
        ]
      },
      netherlands: {
        market: "Netherlands",
        flag: "🇳🇱",
        legal_framework: "Burgerlijk Wetboek Boek 7 (Civil Code), Wet werk en zekerheid (Work and Security Act).",
        typical_eor_markup: "10-15%",
        entity_setup_cost_usd: "$8K-20K (BV + notary + ongoing accountant)",
        entity_setup_time: "4-8 weeks",
        typical_eor_breakeven_employees: "5-8 employees",
        payroll_complexity: "Medium",
        must_haves: [
          "Belastingdienst (tax authority) registration",
          "Pension via Pensioenfonds (industry pension fund often mandatory)",
          "Holiday allowance: 8% on top of salary, paid in May",
          "30% ruling for international hires (tax-advantaged)"
        ],
        common_pitfalls: [
          "Wet DBA — false self-employment law; ZZP/contractor relationships scrutinized",
          "Transition payment (transitievergoeding) on dismissal: 1/3 month salary per year",
          "Industry CAOs (collective agreements) often mandatory by sector"
        ],
        tax_burden_employer: "~20-25% (social security, pension, unemployment)",
        notable_employee_protections: [
          "Transition payment due on most terminations regardless of fault",
          "20 days minimum vacation",
          "Strong sick pay obligations (employer pays 70% for up to 2 yrs)"
        ]
      },
      nordics: {
        market: "Nordics (Sweden, Denmark, Norway, Finland)",
        flag: "🇸🇪",
        legal_framework: "Each country has own framework but shares Nordic Model: collective agreements (kollektivavtal), strong unions, high taxes, strong worker protections.",
        typical_eor_markup: "10-15%",
        entity_setup_cost_usd: "$10K-30K per country",
        entity_setup_time: "4-10 weeks per country",
        typical_eor_breakeven_employees: "5-10 employees",
        payroll_complexity: "High",
        must_haves: [
          "Country-specific tax/social security registration (e.g. Skatteverket in Sweden)",
          "Union/collective agreement compliance — most workplaces are covered",
          "Pension contributions (e.g. ITP in Sweden ~31.5%)",
          "5+ weeks vacation standard"
        ],
        common_pitfalls: [
          "Treating all 4 countries as one — they have separate systems",
          "Skipping union dialogue (kollektivavtal) — major reputational issue",
          "Norway is non-EU/EEA member — different rules"
        ],
        tax_burden_employer: "Sweden ~31.4% (social fee), Denmark lower (~0.5% but higher individual taxes), Norway ~14.1%, Finland ~22%",
        notable_employee_protections: [
          "Robust union representation rights",
          "5+ weeks vacation",
          "Long parental leave (Sweden 480 days shared)",
          "High sickness benefit"
        ]
      },
      mexico: {
        market: "Mexico",
        flag: "🇲🇽",
        legal_framework: "Ley Federal del Trabajo (LFT). 2021 reform restricted outsourcing — now must use REPSE-registered providers.",
        typical_eor_markup: "12-18%",
        entity_setup_cost_usd: "$8K-25K (S de RL + IMSS, INFONAVIT, SAT registration)",
        entity_setup_time: "6-12 weeks",
        typical_eor_breakeven_employees: "8-12 employees",
        payroll_complexity: "High",
        must_haves: [
          "IMSS (social security) and INFONAVIT (housing) registration",
          "Aguinaldo (Christmas bonus) of 15 days minimum",
          "Profit sharing (PTU): 10% of profits to workforce",
          "REPSE registration for any specialized services provider"
        ],
        common_pitfalls: [
          "2021 outsourcing reform criminalized non-REPSE providers",
          "Indemnización constitucional: 3 months salary on unjustified termination",
          "Vacaciones doubled in 2023 reform: now 12 days starting year 1"
        ],
        tax_burden_employer: "~25-35% (IMSS, INFONAVIT, SAR, state payroll tax 2-3%)",
        notable_employee_protections: [
          "PTU profit sharing required",
          "Aguinaldo Christmas bonus mandatory",
          "Vacation premium 25% on top of vacation pay"
        ]
      },
      brazil: {
        market: "Brazil",
        flag: "🇧🇷",
        legal_framework: "CLT (Consolidação das Leis do Trabalho). Among most complex labor codes globally.",
        typical_eor_markup: "15-25%",
        entity_setup_cost_usd: "$15K-50K (Ltda + multiple registrations + local director)",
        entity_setup_time: "10-20 weeks",
        typical_eor_breakeven_employees: "12-20 employees",
        payroll_complexity: "Very High",
        must_haves: [
          "CNPJ + INSS + FGTS (severance fund) registrations",
          "13th salary (Christmas bonus = 1 month extra)",
          "Vacation + 1/3 vacation bonus",
          "FGTS deposit: 8% of salary monthly to govt fund",
          "eSocial reporting (real-time payroll/HR data)"
        ],
        common_pitfalls: [
          "PJ/MEI (contractor) misclassification = vínculo empregatício recognition with full back-payment of employee rights",
          "Termination is expensive: FGTS + 40% penalty + aviso prévio",
          "Labor courts heavily favor employees"
        ],
        tax_burden_employer: "~30-40% (INSS, FGTS, salário-educação, RAT, terceiros)",
        notable_employee_protections: [
          "13th salary mandatory",
          "30 days vacation + 1/3 bonus",
          "FGTS gives 40% severance penalty on dismissal without cause",
          "Stability for pregnant workers, union reps, etc."
        ]
      },
      india: {
        market: "India",
        flag: "🇮🇳",
        legal_framework: "Industrial Disputes Act, Shops & Establishments Act (state-level), Code on Wages 2019, EPF/ESI laws. Wide regional variation.",
        typical_eor_markup: "10-15%",
        entity_setup_cost_usd: "$5K-15K (Pvt Ltd + GST + EPF + ESI registrations)",
        entity_setup_time: "6-10 weeks",
        typical_eor_breakeven_employees: "10-15 employees",
        payroll_complexity: "High",
        must_haves: [
          "PAN, TAN, GST registration",
          "EPF (Provident Fund): 12% employer + 12% employee contribution",
          "ESI (Employee State Insurance) for salaries below threshold",
          "Gratuity reserves: 4.81% of basic salary",
          "Professional Tax (state-level)"
        ],
        common_pitfalls: [
          "State-level Shops & Establishments Acts vary widely",
          "Misclassification of consultants vs employees increasingly enforced",
          "Termination of \"workmen\" requires government permission at 100+ employees"
        ],
        tax_burden_employer: "~22-25% (EPF + gratuity + ESI + LWF)",
        notable_employee_protections: [
          "Gratuity payable after 5 yrs of service",
          "Statutory bonus 8.33-20% for eligible employees",
          "Maternity 26 weeks paid"
        ]
      },
      japan: {
        market: "Japan",
        flag: "🇯🇵",
        legal_framework: "Labor Standards Act, Labor Contract Act. Very employee-protective. Lifetime employment culturally embedded.",
        typical_eor_markup: "12-18%",
        entity_setup_cost_usd: "$10K-30K (KK or Godo Kaisha + capital + Hanko + tax adviser)",
        entity_setup_time: "8-12 weeks",
        typical_eor_breakeven_employees: "8-15 employees",
        payroll_complexity: "High",
        must_haves: [
          "Social Insurance (健康保険 + 厚生年金 + 雇用保険 + 労災)",
          "Bonus expectations (typically 2-5 months/year extra)",
          "Detailed employment contract (Rōdō Jōken Tsūchisho)",
          "Mandatory medical checkup annually"
        ],
        common_pitfalls: [
          "Termination is extremely difficult — courts almost always side with employee",
          "PIPs and resign-by-mutual-agreement is common workaround",
          "Outsourcing to gyōmu itaku (contractor) heavily scrutinized for ' disguised employment'"
        ],
        tax_burden_employer: "~15-16% (split with employee; pension, health, unemployment, accident)",
        notable_employee_protections: [
          "Termination requires \"objectively reasonable grounds\" — practically impossible without cause",
          "Bonus expectations baked into compensation expectations",
          "Strict overtime rules (45 hr/mo max overtime ordinarily)"
        ]
      },
      singapore: {
        market: "Singapore",
        flag: "🇸🇬",
        legal_framework: "Employment Act, CPF Act, Employment of Foreign Manpower Act. Pro-business, English-language, fast.",
        typical_eor_markup: "8-12%",
        entity_setup_cost_usd: "$3K-10K (Pte Ltd + ACRA + nominee director if no local)",
        entity_setup_time: "1-3 weeks (fastest in this list)",
        typical_eor_breakeven_employees: "3-5 employees",
        payroll_complexity: "Low",
        must_haves: [
          "ACRA (Companies Act) + CPF (Central Provident Fund) registration",
          "CPF contributions: 17% employer + 20% employee for citizens/PRs (under 55)",
          "Work pass (Employment Pass / S Pass) for foreigners",
          "Skills Development Levy (SDL) 0.25% min"
        ],
        common_pitfalls: [
          "Foreign Worker Levy / quotas for non-EP holders",
          "MOM (Ministry of Manpower) vigilant on undocumented work",
          "Contractor misclassification cases growing under IRAS scrutiny"
        ],
        tax_burden_employer: "~17-17.5% (CPF + SDL); zero CPF for foreigners on EP/S Pass",
        notable_employee_protections: [
          "Termination relatively flexible vs other Asia-Pacific markets",
          "7-14 days annual leave statutory minimum (often topped up)",
          "Maternity 16 weeks paid (govt + employer)"
        ]
      }
    };
Behavior3/5

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

No annotations provided, so the description must convey behavioral traits. It states what information is returned (legal framework, markup, etc.), implying a read-only operation. However, it does not explicitly confirm no side effects, authentication needs, or output format. This is adequate but not thorough.

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

Conciseness4/5

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

The description is a single sentence that efficiently conveys the tool's purpose and contents. It is front-loaded with the verb and resource. However, the list of contents could be better structured (e.g., bullet points) for readability. Overall, it is concise without excess.

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

Completeness4/5

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

Given the simplicity (one parameter, no output schema), the description covers the return content well. It mentions key aspects of an EOR brief. However, it does not specify the output format (e.g., JSON, text) or any limitations. For a brief tool, this is mostly complete, but minor gaps remain.

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

Parameters2/5

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

Schema description coverage is 0%, so the description should compensate. The description mentions 'country-specific' but does not add meaning to the 'country' parameter beyond the schema's enum list. It does not explain how the enum values map to countries or provide examples. The schema itself is clear, but the description offers no additional clarity.

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

Purpose5/5

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

The description clearly states the tool retrieves a country-specific EOR brief with a specific list of contents. It distinguishes itself from siblings like get_full_eor_pack or get_eor_vs_entity_calc by focusing on a concise brief. The verb 'get' and resource 'country-specific EOR brief' are explicit.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus siblings. While the description implies it is for a brief overview, it does not provide when-not-to-use or alternatives. Context from sibling names suggests distinctions, but the description does not articulate them.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/closermethod/eor-compliance-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server