get_buying_signals
Retrieve a list of buying signals to monitor during sales conversations and identify purchase intent.
Instructions
Get a list of buying signals to watch for during sales conversations.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/main.ts:941-952 (handler)The tool handler for 'get_buying_signals' - returns the BUYING_SIGNALS array as JSON with module metadata and instruction.
case "get_buying_signals": { return { content: [{ type: "text", text: JSON.stringify({ module: "Buying Signals", instruction: "When you see these signals, move to close — don't keep pitching.", signals: BUYING_SIGNALS }, null, 2) }] }; } - src/main.ts:778-784 (schema)Tool registration/schema definition for 'get_buying_signals' - accepts no input parameters (empty object schema).
name: "get_buying_signals", description: "Get a list of buying signals to watch for during sales conversations.", inputSchema: { type: "object", properties: {}, required: [] } - src/main.ts:273-283 (helper)The BUYING_SIGNALS constant array containing 9 buying signals (e.g., 'Asks about timeline or availability', 'Asks what happens next?', etc.).
const BUYING_SIGNALS = [ "Asks about timeline or availability", "Asks about payment terms or process", "Asks 'what happens next?'", "Compares Option A vs B vs C", "Mentions internal stakeholders or approval process", "Asks for references or case studies", "Asks about contracts or terms", "Leans forward, takes notes, asks follow-up questions", "Says 'we' instead of 'I' when discussing implementation" ]; - src/main.ts:660-797 (registration)The overall tool registration block (ListToolsRequestSchema handler) that registers all tools including 'get_buying_signals'.
server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: [ { name: "get_discovery_script", description: "Get a discovery script to qualify prospects before pitching. Always ask questions first.", inputSchema: { type: "object", properties: { tone: { type: "string", enum: ["professional", "warm", "ultra_short", "cold_outbound", "inbound_lead"], description: "professional=email/linkedin, warm=existing relationship, ultra_short=DM, cold_outbound=first contact, inbound_lead=they reached out" } }, required: ["tone"] } }, { name: "get_objection_response", description: "Handle a specific sales objection with psychology-backed responses.", inputSchema: { type: "object", properties: { objection_type: { type: "string", enum: ["too_expensive", "no_budget", "need_approval", "comparing_options", "bad_timing", "already_have_someone", "send_info", "need_to_think", "too_soon", "ghosting"], description: "The type of objection to handle" } }, required: ["objection_type"] } }, { name: "get_followup_sequence", description: "Get a follow-up sequence for different situations (post-proposal, post-call, cold outbound, revival).", inputSchema: { type: "object", properties: { sequence_type: { type: "string", enum: ["post_proposal", "post_call", "cold_outbound", "revival"], description: "The type of follow-up sequence needed" } }, required: ["sequence_type"] } }, { name: "get_closing_script", description: "Get a closing script based on the situation.", inputSchema: { type: "object", properties: { style: { type: "string", enum: ["standard", "assumptive", "timeline", "scarcity", "retainer", "choice", "next_step"], description: "The closing style to use" } }, required: ["style"] } }, { name: "get_pricing_framework", description: "Get the 3-option pricing framework and templates.", inputSchema: { type: "object", properties: {}, required: [] } }, { name: "get_emea_intelligence", description: "Get market intelligence for selling to a specific European country.", inputSchema: { type: "object", properties: { country: { type: "string", enum: ["uk", "ireland", "spain", "germany", "france", "netherlands", "nordics"], description: "The EMEA market to get intelligence for" } }, required: ["country"] } }, { name: "get_cold_email_template", description: "Get a cold email template for outbound.", inputSchema: { type: "object", properties: { template_type: { type: "string", enum: ["pattern_interrupt", "observation", "mutual_connection", "case_study", "breakup"], description: "The type of cold email template" } }, required: ["template_type"] } }, { name: "get_call_script", description: "Get a call script for discovery calls or cold calls.", inputSchema: { type: "object", properties: { call_type: { type: "string", enum: ["discovery_call", "cold_call"], description: "The type of call script needed" } }, required: ["call_type"] } }, { name: "get_buying_signals", description: "Get a list of buying signals to watch for during sales conversations.", inputSchema: { type: "object", properties: {}, required: [] } }, { name: "get_full_playbook", description: "Get the complete sales playbook with all modules.", inputSchema: { type: "object", properties: {}, required: [] } } ] }; });