get_stakeholder_map
Map stakeholders for LATAM sales by company stage, incorporating family-business dynamics and multi-country procurement insights.
Instructions
Multi-stakeholder navigation by company stage. LATAM-specific notes (family-business dynamics, multi-country procurement).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| company_stage | Yes |
Implementation Reference
- src/main.ts:119-124 (schema)Data definition (schema) for the STAKEHOLDER_MAP constant. Maps 4 company stages (early_startup, growth_stage, mid_market, enterprise) to decision_maker, influencer, latam_note, cycle, and deal_size.
const STAKEHOLDER_MAP: Record<string, any> = { early_startup: { decision_maker: "Founder / Director General", influencer: "Co-founder", latam_note: "Family-business dynamics frequent.", cycle: "1-4 months", deal_size: "$3K-30K" }, growth_stage: { decision_maker: "CEO + Director", influencer: "Department head", latam_note: "Brazil: family-business approval cycles slow. Argentina: economic context affects timing.", cycle: "3-7 months", deal_size: "$10K-100K" }, mid_market: { decision_maker: "C-suite + Procurement + Legal", influencer: "Multiple department heads", latam_note: "Mexico: comité de dirección. Brazil: familia owners.", cycle: "6-12 months", deal_size: "$50K-500K" }, enterprise: { decision_maker: "Multi-stakeholder C-suite + family + board (in family conglomerates)", influencer: "Project lead + external consultants", latam_note: "Multi-country LATAM expansions need country-by-country approach. Brazil and Mexico often separate procurement processes from rest of LATAM.", cycle: "9-24 months", deal_size: "$200K-5M" } }; - src/main.ts:137-147 (registration)Tool registration in ListToolsRequestSchema handler. Defines 'get_stakeholder_map' with name, description, and inputSchema requiring 'company_stage' (enum from STAKEHOLDER_MAP keys).
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: [] } } ] })); - src/main.ts:157-157 (handler)Handler implementation inside CallToolRequestSchema switch statement. Extracts company_stage from args, looks up STAKEHOLDER_MAP[stage], and returns JSON-stringified result with module name and company_stage.
case "get_stakeholder_map": { const stage = args?.company_stage as string; const d = STAKEHOLDER_MAP[stage]; if (!d) throw new Error(`Unknown stage: ${stage}`); return { content: [{ type: "text", text: JSON.stringify({ module: "LATAM Stakeholder Map", company_stage: stage, ...d }, null, 2) }] }; }