interpret_funding_signal
Analyzes a funding event to determine budget band, typical buyers, outreach timing, and pitfalls for B2B sales targeting.
Instructions
Interpret a funding-event signal. Returns interpretation, budget band, typical buyers, outreach timing, pitfalls. Stages: seed, series_a, series_b, series_c_plus, ipo_recent, down_round.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| funding_stage | Yes |
Implementation Reference
- src/main.ts:400-404 (handler)Handler for 'interpret_funding_signal' tool: looks up FUNDING_SIGNALS by funding_stage, returns the interpretation data or an error if unknown.
if (name === "interpret_funding_signal") { const data = FUNDING_SIGNALS[(args as any).funding_stage]; if (!data) return { content: [{ type: "text", text: JSON.stringify({ error: "Unknown funding_stage. See enum.", _meta: MCP_META }, null, 2) }] }; return { content: [{ type: "text", text: JSON.stringify({ funding_stage: (args as any).funding_stage, ...data, _meta: MCP_META }, null, 2) }] }; } - src/main.ts:332-339 (schema)Schema/registration of the tool in ListToolsRequestSchema handler: defines name, description, and inputSchema with required funding_stage enum from FUNDING_SIGNALS keys.
{ name: "interpret_funding_signal", description: "Interpret a funding-event signal. Returns interpretation, budget band, typical buyers, outreach timing, pitfalls. Stages: seed, series_a, series_b, series_c_plus, ipo_recent, down_round.", inputSchema: { type: "object", properties: { funding_stage: { type: "string", enum: Object.keys(FUNDING_SIGNALS) } }, required: ["funding_stage"] } - src/main.ts:321-389 (registration)Tool registration via ListToolsRequestSchema handler. The interpret_funding_signal tool is one of 7 tools registered in the tools array.
server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: [ { name: "interpret_hiring_signal", description: "Interpret a hiring signal (new exec hire, team expansion, role posting). Returns signal strength, outreach timing, pitch angle, common pitfalls, average decision window. Provide signal_type from: head_of_sales, head_of_revenue, head_of_security, vp_marketing, sdr_team_expansion, head_of_data.", inputSchema: { type: "object", properties: { signal_type: { type: "string", enum: Object.keys(HIRING_SIGNALS) } }, required: ["signal_type"] } }, { name: "interpret_funding_signal", description: "Interpret a funding-event signal. Returns interpretation, budget band, typical buyers, outreach timing, pitfalls. Stages: seed, series_a, series_b, series_c_plus, ipo_recent, down_round.", inputSchema: { type: "object", properties: { funding_stage: { type: "string", enum: Object.keys(FUNDING_SIGNALS) } }, required: ["funding_stage"] } }, { name: "interpret_tech_stack_change", description: "Interpret a tech-stack change signal. Returns interpretation, outreach timing, pitch angle, decision window. Types: added_competitor, removed_competitor, added_warehouse, added_compliance_tool, removed_legacy_crm.", inputSchema: { type: "object", properties: { change_type: { type: "string", enum: Object.keys(TECH_STACK_SIGNALS) } }, required: ["change_type"] } }, { name: "interpret_leadership_change", description: "Interpret a leadership-change signal. Returns interpretation, outreach timing, pitch angle. Types: ceo_change, cfo_change, cto_change, cmo_change, founder_departure.", inputSchema: { type: "object", properties: { change_type: { type: "string", enum: Object.keys(LEADERSHIP_SIGNALS) } }, required: ["change_type"] } }, { name: "interpret_expansion_signal", description: "Interpret a market expansion signal (new geo, vertical, product). Returns implications and outreach playbook. Types: international_office_opening, vertical_expansion, product_launch.", inputSchema: { type: "object", properties: { expansion_type: { type: "string", enum: Object.keys(EXPANSION_SIGNALS) } }, required: ["expansion_type"] } }, { name: "score_buyer_intent", description: "Given a list of signals observed for a target account, return a composite intent score (0-100) and recommended outreach action. Use this to prioritize an account list.", inputSchema: { type: "object", properties: { signals: { type: "array", items: { type: "string", enum: Object.keys(SIGNAL_WEIGHTS) }, description: "Array of signal keys observed for this account" } }, required: ["signals"] } }, { name: "get_full_pack", description: "Returns the complete signal-interpretation library + metadata. Useful for fine-tuning or full agent context.", inputSchema: { type: "object", properties: {} } } ] })); - src/main.ts:100-161 (helper)FUNDING_SIGNALS data constant: the static lookup table containing interpretation data for each funding stage (seed, series_a, series_b, series_c_plus, ipo_recent, down_round).
const FUNDING_SIGNALS: Record<string, any> = { "seed": { signal_strength: "Medium", interpretation: "$1-5M raised. Founders still primary decision-makers. Tooling decisions made quickly, often experimentally. Limited budget — $0-50K/yr per tool.", outreach_timing: "Within 30 days of announcement (high attention window)", pitch_angle: "Founder-friendly pricing, fast value delivery, free tier or trial", budget_band: "$0-50K/yr per tool", typical_buyers: ["CEO", "CTO", "Founding GTM hire"], common_pitfalls: ["Pitching enterprise pricing", "Ignoring founder DMs in favor of formal channels", "Long sales cycles will lose them"], average_decision_window: "1-4 weeks" }, "series_a": { signal_strength: "High", interpretation: "$5-25M raised. Building real GTM machinery. First Head of Sales/RevOps/Marketing usually hired in this window. Tooling decisions become deliberate.", outreach_timing: "Within 60 days", pitch_angle: "ROI math, scaling case studies from peer Series-A companies", budget_band: "$25-150K/yr per tool", typical_buyers: ["VP Sales", "Head of RevOps", "VP Marketing", "Founder still involved"], common_pitfalls: ["Treating them like enterprise (too slow)", "Treating them like seed (too discount-y)"], average_decision_window: "30-90 days" }, "series_b": { signal_strength: "High", interpretation: "$25-75M raised. International expansion likely. First international hires being made. Compliance-ready (SOC2 minimum). Stack consolidation pressure starts.", outreach_timing: "Within 90 days", pitch_angle: "International market support, compliance frameworks, integration depth", budget_band: "$50-300K/yr per tool", typical_buyers: ["VP Sales / CRO", "VP RevOps", "VP IT", "Procurement involvement starts"], common_pitfalls: ["Underestimating procurement length", "Pitching point tools without integration story"], average_decision_window: "60-180 days" }, "series_c_plus": { signal_strength: "Medium", interpretation: "$50M+ raised. Mature GTM. Procurement-led decisions. Long sales cycles. Often replacing existing tooling rather than greenfield.", outreach_timing: "Multi-touch over 6-12 months", pitch_angle: "Replace [incumbent] with [you] — direct competitive displacement", budget_band: "$100K-$2M+/yr per tool", typical_buyers: ["CRO", "CFO", "Procurement", "RFP committee"], common_pitfalls: ["Cold outbound rarely works alone — need warm intro or analyst influence", "Ignoring procurement timeline"], average_decision_window: "180-540 days" }, "ipo_recent": { signal_strength: "Medium", interpretation: "Public listing event. Compliance + audit pressure intensifies. Stack often gets reviewed/consolidated. SOX-readiness signal.", outreach_timing: "12-18 month window post-IPO", pitch_angle: "Audit-readiness, SOX controls, public-co security posture", budget_band: "$200K-$5M+/yr per tool", typical_buyers: ["CFO", "Chief Compliance", "Internal Audit", "Procurement"], common_pitfalls: ["Ignoring SOX timeline pressure", "Selling on growth vs. compliance"], average_decision_window: "180-720 days" }, "down_round": { signal_strength: "Medium (negative)", interpretation: "Cost-cutting signal. Stack consolidation imminent. Tooling reductions announced. Renewals scrutinized.", outreach_timing: "Avoid first 90 days. Re-engage at 180+ days post-event with consolidation/cost-savings angle.", pitch_angle: "Consolidation savings, replace [N] tools with one, total cost of ownership", budget_band: "Whatever they're cutting — frame your tool as net-negative cost", typical_buyers: ["CFO", "CRO under cost pressure", "RevOps charged with consolidation"], common_pitfalls: ["Pitching new spend during austerity", "Missing the consolidation angle entirely"], average_decision_window: "Variable — driven by board reset" } };