Skip to main content
Glama

get_followup_cadence

Retrieve country-specific follow-up cadence for sales in Latin America. Adapt timing based on local norms: WhatsApp for Mexico/Brazil, economic flexibility in Argentina, accelerated pace in Chile.

Instructions

Country-specific follow-up cadence. Mexico/Brazil: WhatsApp central. Argentina: economic context flex. Chile: faster pace.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
countryYes

Implementation Reference

  • Tool registration schema listing input (country enum) for get_followup_cadence.
    { name: "get_followup_cadence", description: "Country-specific follow-up cadence. Mexico/Brazil: WhatsApp central. Argentina: economic context flex. Chile: faster pace.", inputSchema: { type: "object", properties: { country: { type: "string", enum: Object.keys(FOLLOWUP_CADENCES) } }, required: ["country"] } },
  • Handler logic for get_followup_cadence: looks up country in FOLLOWUP_CADENCES map and returns JSON.
    case "get_followup_cadence": { const d = FOLLOWUP_CADENCES[country]; if (!d) throw new Error(`Unknown: ${country}`); return { content: [{ type: "text", text: JSON.stringify({ module: "LATAM Follow-Up Cadence", country, ...d }, null, 2) }] }; }
  • src/main.ts:137-147 (registration)
    Registration of get_followup_cadence as an available MCP tool via ListToolsRequestSchema handler.
    server.setRequestHandler(ListToolsRequestSchema, async () => ({
      tools: [
        { name: "get_country_brief", description: "LATAM country brief: buyer psychology, communication style (Spanish/Portuguese), what works/kills, sales cycle, compliance, optimal outreach times.", inputSchema: { type: "object", properties: { country: { type: "string", enum: Object.keys(COUNTRY_BRIEFS) } }, required: ["country"] } },
        { name: "get_outreach_template", description: "Country-specific outreach templates in Spanish (or Portuguese for Brazil). Calibrated to local norms.", inputSchema: { type: "object", properties: { country: { type: "string", enum: Object.keys(OUTREACH_TEMPLATES) }, channel: { type: "string", enum: ["cold_email"] } }, required: ["country", "channel"] } },
        { name: "get_followup_cadence", description: "Country-specific follow-up cadence. Mexico/Brazil: WhatsApp central. Argentina: economic context flex. Chile: faster pace.", inputSchema: { type: "object", properties: { country: { type: "string", enum: Object.keys(FOLLOWUP_CADENCES) } }, required: ["country"] } },
        { name: "get_etiquette_guide", description: "Business etiquette: meeting protocols, gift culture, food culture, communication norms per LATAM country.", inputSchema: { type: "object", properties: { country: { type: "string", enum: Object.keys(ETIQUETTE_GUIDES) } }, required: ["country"] } },
        { name: "get_stakeholder_map", description: "Multi-stakeholder navigation by company stage. LATAM-specific notes (family-business dynamics, multi-country procurement).", inputSchema: { type: "object", properties: { company_stage: { type: "string", enum: Object.keys(STAKEHOLDER_MAP) } }, required: ["company_stage"] } },
        { name: "get_compliance_check", description: "Country-specific compliance: LGPD (BR), LFPDPPP (MX), Habeas Data (CO), Ley 25.326 (AR), Ley 19.628 (CL), Ley 29733 (PE).", inputSchema: { type: "object", properties: { country: { type: "string", enum: Object.keys(COMPLIANCE_CHECKS) } }, required: ["country"] } },
        { name: "get_full_latam_pack", description: "Complete LATAM pack for fine-tuning or full agent context.", inputSchema: { type: "object", properties: {}, required: [] } }
      ]
    }));
  • Data definition (helper) — the FOLLOWUP_CADENCES constant containing country-specific follow-up cadence data for all 6 LATAM countries.
    const FOLLOWUP_CADENCES: Record<string, any> = {
      mexico: { pacing: "Patient, 4-7 day gaps. WhatsApp acceptable after first meeting.", rules: ["Patience over months","Personal touch in every follow-up","Avoid 2-4pm comida","WhatsApp Business essential"] },
      brazil: { pacing: "5-7 day gaps. WhatsApp central to business.", rules: ["Always Portuguese","Use WhatsApp Business with personal touch","Patience over months","Reference Brazilian context"] },
      colombia: { pacing: "5-7 day gaps. WhatsApp acceptable.", rules: ["Polite persistence","Reference Colombian context","Avoid puentes (long weekends)"] },
      argentina: { pacing: "5-8 day gaps. Flexible on timing given context.", rules: ["Acknowledge economic context","Pricing flexibility","Long-form relationship over transactions"] },
      chile: { pacing: "Faster, 3-5 day gaps. Direct.", rules: ["Punctuality respected","Direct value props","Yes/no questions OK"] },
      peru: { pacing: "5-8 day gaps. Formal persistence.", rules: ["Respect titles","Formal tone","Patience for decisions"] }
    };
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It only hints at cadence styles (e.g., WhatsApp central) but does not state that the tool is read-only, requires authentication, or describe the output format or side effects.

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 extremely concise at two sentences, with the purpose stated upfront and examples following. Every word adds value; there is no redundancy or filler.

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

Completeness3/5

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

The tool is simple (one parameter, no output schema), but the description omits output format and does not cover all enum countries (colombia and peru missing from examples). It provides a basic idea but leaves gaps for an agent.

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 schema has 0% description coverage for the 'country' parameter, but the description partially compensates by giving example countries and their cadences. However, it does not explicitly map parameter values to behavior or explain the enum choices.

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 it returns a country-specific follow-up cadence, with concrete examples for Mexico/Brazil, Argentina, and Chile. This distinguishes it from sibling tools like get_country_brief or get_etiquette_guide, which cover different aspects.

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?

The description implies the tool should be used when a follow-up cadence is needed for a specific country, but it does not explicitly contrast with alternatives or state when not to use it. The examples provide some context but no exclusion criteria.

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/latam-compliance-mcp'

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