Skip to main content
Glama
closermethod

B2B Buyer-Signal MCP

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

TableJSON Schema
NameRequiredDescriptionDefault
funding_stageYes

Implementation Reference

  • 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) }] };
    }
  • 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: {} }
        }
      ]
    }));
  • 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"
      }
    };
Behavior3/5

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

No annotations provided, so description must cover behavior. It states the tool 'returns' data, implying a read-only operation, but does not mention safety, permissions, or side effects. The list of outputs gives some transparency, but lacks explicit assurance of no mutation.

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?

Two-sentence description that front-loads the main purpose, then lists outputs and valid stages. No redundant words; each sentence adds value.

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?

For a tool with one parameter and no output schema, the description covers the input options and key outputs. It could be slightly enhanced by mentioning the structure of the returned object, but remains adequate.

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

Parameters4/5

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

The schema has 0% coverage (no descriptions), but the tool description lists all enum values for the single parameter and explains how they map to funding stages. This adds meaningful context 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 'interpret' and resource 'funding-event signal', lists specific return values, and is distinct from sibling tools which interpret different signals (expansion, hiring, etc.). No ambiguity.

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?

No explicit guidance on when to use this tool versus siblings or when not to use it. The description only states the tool's purpose without context for selection.

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/buyer-signal-mcp'

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