MCPサーバー

Pinpoint dealership sales tools

io.github.benian-technologies/pinpoint-dealership-tools
法務・コンプライアンス 営業・CRM 公開・接続可能 MCP 2026-07-28

このMCPでできること

Provides dealership sales coaching, call and CRM note scoring, follow-up messaging, roleplay tools, and state-specific guidance on call recording and AI caller disclosures.

ai_caller_disclosure
AI caller disclosure by state
What a US state requires when an automated or AI voice assistant answers a sales team's missed calls or places an approved outbound call: the AI disclosure rule, the consent rule for automated calls, the statute, the federal baseline, and what the assistant should say. All 50 states and DC. General information, not legal advice.
読み取り専用
入力スキーマ
{'type': 'object', 'required': ['state'], 'properties': {'state': {'type': 'string', 'description': 'State name or two-letter abbreviation'}, 'company': {'type': 'string', 'description': 'Your company name for the scripts'}}}
answer_ai_caller_question
Answer a question about an AI assistant on a sales line in a state
Answers a question about an automated or AI voice assistant answering missed calls or placing approved outbound calls in one US state, from the federal baseline and the state entry. General information, not legal advice.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', 'required': ['state', 'question'], 'properties': {'state': {'type': 'string'}, 'question': {'type': 'string'}}}
answer_recording_question
Answer a question about recording calls in a state
Answers a sales manager's question about recording phone calls in one US state from the state's consent entry. General information, not legal advice.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', 'required': ['state', 'question'], 'properties': {'state': {'type': 'string'}, 'question': {'type': 'string'}}}
call_recording_consent
Call recording consent by state
Whether one party or every party must consent before a phone call is recorded in a US state, the statute, a note for sales teams, and the greeting, outbound and text notices to use on your calls. All 50 states and DC. General information, not legal advice.
読み取り専用
入力スキーマ
{'type': 'object', 'required': ['state'], 'properties': {'rep': {'type': 'string', 'description': 'Rep first name for the outbound notice'}, 'state': {'type': 'string', 'description': 'State name or two-letter abbreviation, for example "FL" or "Florida"'}, 'company': {'type': 'string', 'description': 'Your company name for the notices'}}}
call_scorecard
Sales call scorecard
The eighteen-item pass-or-fail scorecard for a sales call, in five groups (open, discovery, the ask, control, close and record), with the scoring rules and the four-minute review method.
読み取り専用
入力スキーマ
{'type': 'object', 'properties': {}}
check_appointment_ask
Check an appointment ask
Deterministic check of one appointment ask on a sales call using six fixed text-pattern rules: day, clock time, holding the time, confirmation question, naming what the customer asked about or promising it ready, and follow-up. Returns a structured score, per-part flags and fixes, and a fixed template example that reuses a detected day and time or supplies sample values when absent. Runs without an AI model. Use this for repeatable rule-based scoring; use review_appointment_ask for contextual AI feedback and a tailored rewrite.
読み取り専用
入力スキーマ
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'What the rep said when offering the appointment'}}}
check_follow_up_text
Check a follow-up text
Checks a sales follow-up text message against eight practices: identifies the sender and company, refers to what the customer asked about, one question at most, a specific next step, no price or payment or discount, an easy way out, two segments or fewer, no all-caps urgency. Returns what passed, what failed and why.
読み取り専用
入力スキーマ
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'The text message as it would be sent'}}}
conversation_signals
Conversation signals library
The 40 moments in a sale worth acting on, in six groups (buying signals, appointment handling, follow-up gaps, coaching moments, record gaps, agent handoffs). Without a signal, returns the list; with a signal slug, returns what it sounds like, why it matters, what to do next, how to coach it and how to practice it.
読み取り専用
入力スキーマ
{'type': 'object', 'properties': {'signal': {'type': 'string', 'description': 'A signal slug from the list'}}}
crm_note_checklist
CRM note checklist
What a complete CRM note carries after a sales call or text thread, in five sections, with an example of a strong note and the lead statuses that mislead managers.
読み取り専用
入力スキーマ
{'type': 'object', 'properties': {}}
dealership_glossary
Sales conversation glossary
Plain definitions of the 92 terms in the Pinpoint sales conversation glossary, from appointment set rate to speed to lead and quiet hours. Accepts a term's other names too. Returns the matching term, or the closest matches.
読み取り専用
入力スキーマ
{'type': 'object', 'required': ['term'], 'properties': {'term': {'type': 'string', 'description': 'The term, another name for it, or a word in it'}}}
follow_up_cadence
Follow-up cadence for a situation
The follow-up sequence for a sales situation (new web lead, missed inbound call, unconfirmed appointment, no-show, quote without an appointment, pricing question without a meeting, text thread gone quiet, new customer first week): the starting event and each step's timing, channel, purpose, message with the names filled in, and the reply that stops it. Use startLabel to anchor the sequence; a step's whenLabel takes precedence over its retained legacy day value.
読み取り専用
入力スキーマ
{'type': 'object', 'required': ['situation'], 'properties': {'rep': {'type': 'string', 'description': "The rep's first name"}, 'company': {'type': 'string', 'description': 'Your company name'}, 'product': {'type': 'string', 'description': 'What the customer asked about, for example "umbrella policy"'}, 'situation': {'enum': ['new-internet-lead', 'missed-inbound-call', 'appointment-unconfirmed', 'no-show', 'quote-without-appointment', 'pricing-question-without-meeting', 'text-thread-gone-quiet', 'new-customer-first-week'], 'type': 'string', 'description': 'The situation slug'}, 'day_and_time': {'type': 'string', 'description': 'The day and time on the table, for example "Saturday at 12:30"'}, 'customer_first_name': {'type': 'string', 'description': "The customer's first name"}}}
review_appointment_ask
Review an appointment ask
Uses the configured AI assistant to review one appointment ask from a sales call in context. Returns prose with a verdict, present and missing parts, a tailored rewrite in the rep's voice, and one coaching line. Choose this for phrasing and coaching; use check_appointment_ask for deterministic six-part scoring and a fixed template example. Available only when an assistant provider is configured.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', 'required': ['ask'], 'properties': {'ask': {'type': 'string'}}}
rewrite_follow_up_text
Rewrite a follow-up text
Checks a follow-up text against eight practices and rewrites it to pass them.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string'}}}
roleplay_card
Sales roleplay card
A practice card for a sales roleplay: a customer type (twelve, from the price shopper to the callback who went quiet) and an objection (eight, from "I need to think about it" to "just email me the numbers"): the customer's opening line, what they want and fear, their tells, the objection as the customer says it, the rep's goal, what a strong answer sounds like, and the feedback checklist.
読み取り専用
入力スキーマ
{'type': 'object', 'required': ['customer_type', 'objection'], 'properties': {'objection': {'enum': ['need-to-think-about-it', 'best-price-over-the-phone', 'cheaper-somewhere-else', 'not-ready-to-come-in', 'talk-to-my-spouse', 'is-switching-worth-it', 'i-might-not-qualify', 'just-email-me-the-numbers'], 'type': 'string'}, 'customer_type': {'enum': ['price-shopper', 'payment-shopper', 'spouse-or-co-buyer', 'current-provider-anchor', 'out-of-market-buyer', 'renewal-window-buyer', 'internet-lead-with-quote', 'existing-customer-upgrading', 'approval-worried-buyer', 'specific-product-check', 'just-looking-caller', 'quiet-callback'], 'type': 'string'}}}
score_call
Score a call on the sales call scorecard
Scores a sales call transcript, notes or summary against the eighteen-item sales call scorecard: pass, fail or not observable per item with evidence, and a coaching note.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', 'required': ['transcript'], 'properties': {'transcript': {'type': 'string', 'description': 'Transcript, notes or a summary of one call, up to 6,000 characters'}}}
score_crm_note
Score a CRM note
Scores a CRM note written after a sales call or text thread against what a complete note carries, and rewrites it complete with brackets for missing facts.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', 'required': ['note'], 'properties': {'note': {'type': 'string'}}}
tailor_follow_up_cadence
Tailor a follow-up cadence to one customer
Rewrites every step of a situation's follow-up cadence for the customer you describe, keeping the days, times and channels.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', 'required': ['situation', 'customer'], 'properties': {'rep': {'type': 'string'}, 'company': {'type': 'string'}, 'product': {'type': 'string'}, 'customer': {'type': 'string', 'description': 'Who the customer is and what they care about'}, 'situation': {'enum': ['new-internet-lead', 'missed-inbound-call', 'appointment-unconfirmed', 'no-show', 'quote-without-appointment', 'pricing-question-without-meeting', 'text-thread-gone-quiet', 'new-customer-first-week'], 'type': 'string'}, 'day_and_time': {'type': 'string'}, 'customer_first_name': {'type': 'string'}}}
write_follow_up_texts
Write two follow-up texts
Writes two follow-up texts for a sales situation you describe: under 300 characters, names the rep and company, one question, a way out, no price, payment or discount.
読み取り専用 外部アクセスあり
入力スキーマ
{'type': 'object', 'required': ['situation'], 'properties': {'rep': {'type': 'string'}, 'company': {'type': 'string'}, 'product': {'type': 'string'}, 'situation': {'type': 'string', 'description': 'What happened with the customer'}, 'day_and_time': {'type': 'string'}, 'customer_first_name': {'type': 'string'}}}
変更
dealership_glossary
2026年9月29日2:50
変更
answer_recording_question
2026年9月27日2:42
変更
tailor_follow_up_cadence
2026年9月27日2:42
変更
score_call
2026年9月27日2:42
変更
write_follow_up_texts
2026年9月27日2:42
変更
review_appointment_ask
2026年9月27日2:42
変更
dealership_glossary
2026年9月27日2:42
変更
conversation_signals
2026年9月27日2:42
変更
call_scorecard
2026年9月27日2:42
変更
crm_note_checklist
2026年9月27日2:42
変更
roleplay_card
2026年9月27日2:42
変更
follow_up_cadence
2026年9月27日2:42
変更
ai_caller_disclosure
2026年9月27日2:42
変更
call_recording_consent
2026年9月27日2:42
変更
check_follow_up_text
2026年9月27日2:42
変更
check_appointment_ask
2026年9月27日2:42
変更
review_appointment_ask
2026年9月25日2:49
変更
follow_up_cadence
2026年9月25日2:49
変更
check_appointment_ask
2026年9月25日2:49
追加
answer_ai_caller_question
2026年9月23日2:40
追加
answer_recording_question
2026年9月23日2:40
追加
tailor_follow_up_cadence
2026年9月23日2:40
追加
score_call
2026年9月23日2:40
追加
score_crm_note
2026年9月23日2:40
追加
rewrite_follow_up_text
2026年9月23日2:40
追加
write_follow_up_texts
2026年9月23日2:40
追加
review_appointment_ask
2026年9月23日2:40
追加
dealership_glossary
2026年9月23日2:40
追加
conversation_signals
2026年9月23日2:40
追加
call_scorecard
2026年9月23日2:40