Skip to main content
Glama

get_eor_objection_handler

Access battle-tested responses to eight common EOR sales objections, including cost, compliance, and competitor concerns, to overcome client hesitations.

Instructions

Handle EOR sales objections with battle-tested responses. 8 objection types: use_contractors_instead, not_ready_to_commit, too_expensive, we_have_entity, compliance_unclear, termination_concerns, data_privacy_worry, competitor_offer.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
objection_typeYes

Implementation Reference

  • Handler for 'get_eor_objection_handler' — looks up the objection type in EOR_OBJECTION_HANDLERS and returns the response object with module name.
    case "get_eor_objection_handler": {
      const objection = args?.objection_type as string;
      const handler = EOR_OBJECTION_HANDLERS[objection];
      if (!handler) throw new Error(`Unknown objection: ${objection}`);
      return { content: [{ type: "text", text: JSON.stringify({ module: "EOR Objection Handler", ...handler }, null, 2) }] };
    }
  • Tool registration/schema for 'get_eor_objection_handler' — defines input schema requiring objection_type enum of Object.keys(EOR_OBJECTION_HANDLERS).
    {
      name: "get_eor_objection_handler",
      description: "Handle EOR sales objections with battle-tested responses. 8 objection types: use_contractors_instead, not_ready_to_commit, too_expensive, we_have_entity, compliance_unclear, termination_concerns, data_privacy_worry, competitor_offer.",
      inputSchema: { type: "object", properties: { objection_type: { type: "string", enum: Object.keys(EOR_OBJECTION_HANDLERS) } }, required: ["objection_type"] }
    },
  • EOR_OBJECTION_HANDLERS data object containing 8 objection types (use_contractors_instead, not_ready_to_commit, too_expensive, we_have_entity, compliance_unclear, termination_concerns, data_privacy_worry, competitor_offer) with psychology, response, follow-up, and mistakes to avoid.
    const EOR_OBJECTION_HANDLERS: Record<string, any> = {
      use_contractors_instead: {
        objection: "We'll just hire as contractors instead of EOR",
        psychology: "Optimizing for cost without seeing misclassification risk",
        response: `That's a common path — the catch is misclassification risk. In Germany, France, Spain, Mexico, and Brazil, if a contractor is found to function as an employee (continuous work, exclusivity, subordination), the back-payment of social contributions, fines, and retroactive employee rights can be 5-10x what you saved.
    
    EOR removes that risk entirely. Worth a quick look at your specific exposure?`,
        high_risk_countries: ["germany", "france", "spain", "mexico", "brazil"],
        medium_risk_countries: ["uk", "netherlands", "japan", "nordics"],
        follow_up: "Offer free 15-min misclassification risk audit specific to their target country",
        mistake_to_avoid: "Don't fearmonger — name actual mechanisms (Scheinselbständigkeit in DE, falso autónomo in ES, vínculo empregatício in BR)"
      },
      not_ready_to_commit: {
        objection: "We're not ready to commit to a permanent hire in [country]",
        psychology: "Fear of getting stuck",
        response: `That's actually exactly when EOR is most useful. EOR lets you hire someone in [country] without a legal entity, AND you can terminate the arrangement with much lower risk than direct hire — typically 30-60 day notice depending on country.
    
    It's literally designed for the 'we want to test this market' situation. What's your timeline for getting this person started?`,
        follow_up: "Frame as 'low-commitment trial' rather than 'first step to bigger commitment'",
        mistake_to_avoid: "Don't push toward permanence — embrace the trial framing"
      },
      too_expensive: {
        objection: "EOR markup is too expensive vs direct hire",
        psychology: "Comparing apples to oranges — direct hire excludes setup costs",
        response: `Fair to ask. Quick math: setting up a legal entity in [country] typically costs $8K-50K upfront (lawyers, accountants, registration), takes 4-12 weeks, plus ongoing compliance ($1-3K/mo).
    
    EOR gets you compliant in 7-14 days for typically 10-15% markup. For 1-3 hires per country, EOR is dramatically cheaper. Break-even vs entity is usually 5-15 employees.
    
    How many hires are you planning in [country] over the next 12 months?`,
        follow_up: "Use their headcount projection to do live ROI math (use get_eor_vs_entity_calc)",
        mistake_to_avoid: "Don't argue percentage markup — argue total cost of ownership"
      },
      we_have_entity: {
        objection: "We already have a legal entity in [country], we don't need EOR",
        psychology: "Entity might be 'paper only' without operational HR/payroll",
        response: `That's great. Quick clarifying questions: does your entity have local payroll, statutory benefits administration, employment contract templates that comply with [country] labor law, and someone managing local HR queries from employees?
    
    If yes, EOR is unnecessary. If you're outsourcing any of that to local accountants or law firms, EOR often consolidates those costs into one bill — and reduces compliance risk.`,
        follow_up: "Use their answers to identify gaps where EOR adds value despite their entity",
        mistake_to_avoid: "Don't assume their entity is fully operational"
      },
      compliance_unclear: {
        objection: "I'm not sure if EOR is even legal/proper in [country]",
        psychology: "Risk-averse buyer wants reassurance",
        response: `Totally fair — and good instinct to ask. EOR is legally established and standard in [country]. The arrangement: the EOR provider is the legal employer of record (handling all compliance, taxes, social contributions, statutory benefits), and your company directs the employee's work.
    
    In [country] specifically, [country-specific framework: Germany's AÜG for staffing, France's portage salarial, Mexico's REPSE, etc.]
    
    I can share specific legal framework and case law. Want me to send that over?`,
        follow_up: "Send country-specific compliance whitepaper or send to their legal team",
        mistake_to_avoid: "Don't be vague about legal framework — name the actual statute"
      },
      termination_concerns: {
        objection: "What happens if we need to fire the EOR-hired employee?",
        psychology: "Fear of being stuck with an underperformer",
        response: `Termination through EOR is actually easier than through your own entity, in most cases. The EOR handles the legal process per [country] requirements — notice periods, severance calculations, documentation, exit interviews.
    
    The EOR's job is to make termination smooth and legally compliant for you. They have local employment law specialists.
    
    The country matters though — what country are we talking about? Termination in Germany or Brazil is more involved than in Singapore or Netherlands. Want me to walk through the specific country?`,
        follow_up: "Use get_termination_rules tool for country-specific timeline + cost",
        mistake_to_avoid: "Don't promise easy termination in countries where it's structurally difficult (DE, JP, BR)"
      },
      data_privacy_worry: {
        objection: "What about GDPR / data privacy? We're worried about HR data going through a third party.",
        psychology: "Compliance-aware buyer, often EU-based",
        response: `Excellent question — and exactly the right thing to worry about. Reputable EOR providers operate as data processors under GDPR, with Data Processing Agreements (DPAs) that specify exactly what they do with HR data.
    
    In Germany specifically, EORs need to comply with BDSG plus GDPR, plus often serve as the works council interlocutor.
    
    Want to see our standard DPA template? We can also customize for your specific data residency requirements.`,
        follow_up: "Send DPA template, offer privacy team alignment call",
        mistake_to_avoid: "Don't dismiss the concern — they're right to ask"
      },
      competitor_offer: {
        objection: "Deel/Remote/Velocity Global offered us a better price",
        psychology: "Negotiating, but also might be true",
        response: `Fair — they're solid players. Three things matter beyond price: country coverage depth, local HR expertise quality, and how they handle the messy stuff (terminations, disputes, audits).
    
    Three questions for you: 1) which countries are most important? 2) have you stress-tested their support response time? 3) what's their take on misclassification risk for your specific contractor situation?
    
    If they're truly cheaper AND better on all three, take their offer. If we differentiate on any of those, the price difference might be worth it.`,
        follow_up: "Always lean into discovery vs. price-matching",
        mistake_to_avoid: "Don't immediately discount — discover why they're shopping first"
      }
    };
  • src/main.ts:675-726 (registration)
    Server registration via ListToolsRequestSchema — registers all tools including 'get_eor_objection_handler' in the tools array array.
    server.setRequestHandler(ListToolsRequestSchema, async () => ({
      tools: [
        {
          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"] }
        },
        {
          name: "get_misclassification_risk",
          description: "Country-specific misclassification (false self-employment) risk analysis. Returns risk level, legal test, enforcement authority, typical penalty, retroactive liability period, recent enforcement examples, red flags, safer path.",
          inputSchema: { type: "object", properties: { country: { type: "string", enum: Object.keys(MISCLASSIFICATION_RISK) } }, required: ["country"] }
        },
        {
          name: "get_eor_vs_entity_calc",
          description: "Live calculation of EOR vs setting up your own legal entity given headcount + salary. Returns 1-yr and 3-yr cost comparison, recommendation, break-even estimate, pros/cons.",
          inputSchema: {
            type: "object",
            properties: {
              country: { type: "string", enum: Object.keys(COUNTRY_BRIEFS) },
              headcount: { type: "integer", minimum: 1 },
              annual_salary_usd: { type: "integer", minimum: 10000 }
            },
            required: ["country", "headcount", "annual_salary_usd"]
          }
        },
        {
          name: "get_termination_rules",
          description: "Country-specific termination rules including notice period, severance calculation, just-cause requirements, and procedural pitfalls.",
          inputSchema: { type: "object", properties: { country: { type: "string", enum: Object.keys(COUNTRY_BRIEFS) } }, required: ["country"] }
        },
        {
          name: "get_statutory_benefits",
          description: "Required statutory benefits per country: pension, health, vacation, holidays, parental leave, 13th salary, bonuses.",
          inputSchema: { type: "object", properties: { country: { type: "string", enum: Object.keys(COUNTRY_BRIEFS) } }, required: ["country"] }
        },
        {
          name: "get_visa_paths",
          description: "Work visa / right-to-work paths per country for hiring foreigners. Visa types, cost, timeline, sponsorship requirements.",
          inputSchema: { type: "object", properties: { country: { type: "string", enum: Object.keys(COUNTRY_BRIEFS) } }, required: ["country"] }
        },
        {
          name: "get_eor_objection_handler",
          description: "Handle EOR sales objections with battle-tested responses. 8 objection types: use_contractors_instead, not_ready_to_commit, too_expensive, we_have_entity, compliance_unclear, termination_concerns, data_privacy_worry, competitor_offer.",
          inputSchema: { type: "object", properties: { objection_type: { type: "string", enum: Object.keys(EOR_OBJECTION_HANDLERS) } }, required: ["objection_type"] }
        },
        {
          name: "get_full_eor_pack",
          description: "Complete EOR intelligence pack — all country briefs, misclassification risks, objection handlers. For agent fine-tuning or full system context.",
          inputSchema: { type: "object", properties: {}, required: [] }
        }
      ]
    }));
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'battle-tested responses' but does not explain what the tool returns (e.g., text, structured advice, actions). There is no indication of side effects, required permissions, or any constraints beyond the single enum parameter.

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 consists of two short sentences that immediately convey the tool's purpose and the available options. There is no redundant information, and the key points are front-loaded.

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

Completeness2/5

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

For a simple 1-parameter tool with no output schema or annotations, the description should clarify what the output looks like (e.g., a text response, a set of steps). It only mentions 'battle-tested responses' without specifying format or how the result aids the user, leaving the agent uncertain about the tool's deliverable.

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?

The input schema has 0% description coverage, so the description must compensate. Although it lists the eight enum values, it does not explain what each objection type means or when to use each, adding minimal semantic value beyond the raw enum.

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 verb 'Handle' and the resource 'EOR sales objections', and lists the eight specific objection types, making the tool's purpose unmistakable. It differentiates well from sibling tools, which focus on other EOR topics like country briefs or calculations.

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

Usage Guidelines2/5

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

The description does not provide any guidance on when to use this tool versus its siblings (e.g., when to pick this over get_eor_vs_entity_calc). There is no mention of prerequisites, context, or situations where the tool should not be used, leaving the AI agent without decision support.

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