receptionist-toolkit
Free receptionist tools: phone scripts, IVR menus (EN+ES), ElevenLabs prompts, missed-call math
我該用這個嗎
品質與安全性
發現項目(1)
- LOW在 generate_elevenlabs_agent_prompt 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"receptionist-toolkit": {
"url": "https://lobbyvoices.com/api/mcp"
}
}
}遠端端點
https://lobbyvoices.com/api/mcpstreamable-http它能做什麼
工具清單
工具(8)
🟡write_phone_script(mode, business, trade, vibe, extra, ...)
Writes a professional phone script for a business — greeting, voicemail message, on-hold message, or jingle lines — in English, Mexican Spanish, or both. Returns ready-to-record text.
輸入結構描述
{
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"greeting",
"voicemail",
"hold",
"jingle"
],
"description": "What kind of script to write. Default: greeting."
},
"business": {
"type": "string",
"description": "Business name (required)."
},
"trade": {
"type": "string",
"description": "Industry or trade, e.g. plumbing, dental clinic."
},
"vibe": {
"type": "string",
"enum": [
"warm",
"formal",
"friendly"
],
"description": "Tone of voice. Default: warm."
},
"extra": {
"type": "string",
"description": "Optional details to mention: hours, offers, callback promise."
},
"langs": {
"type": "array",
"items": {
"type": "string",
"enum": [
"en",
"es"
]
},
"description": "Languages to write. Default: both."
}
},
"required": [
"business"
]
}輸出結構描述
{
"type": "object",
"properties": {
"scripts": {
"type": "object",
"properties": {
"en": {
"type": "string",
"description": "English script, ready to record."
},
"es": {
"type": "string",
"description": "Mexican-Spanish script, ready to record."
}
}
},
"cta": {
"type": "string",
"description": "One-line invite to try Lobby, with a signup link."
}
},
"required": [
"scripts"
]
}🟡write_ivr_menu(business, industry, options, language, greeting)
Builds a complete IVR (phone menu / auto-attendant) script for a business: greeting, numbered options, optional Spanish-language switch, and the operator line. English, Spanish, or bilingual.
輸入結構描述
{
"type": "object",
"properties": {
"business": {
"type": "string",
"description": "Business name (required)."
},
"industry": {
"type": "string",
"enum": [
"plumbing",
"hvac",
"dental",
"auto",
"salon",
"restaurant",
"law",
"clinic"
],
"description": "Pick the closest industry; supplies sensible default menu options."
},
"options": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 6,
"description": "Menu options in order (press 1, press 2, …). Defaults to the industry's standard four."
},
"language": {
"type": "string",
"enum": [
"en",
"es",
"both"
],
"description": "Menu language. 'both' adds a press-nine Spanish switch. Default: en."
},
"greeting": {
"type": "string",
"description": "Custom opening greeting. Default: 'Thank you for calling {business}.'"
}
},
"required": [
"business"
]
}輸出結構描述
{
"type": "object",
"properties": {
"lines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": [
"string",
"null"
],
"description": "Keypad digit for this line, or null for the greeting."
},
"say": {
"type": "string",
"description": "Exactly what the menu voice says."
}
},
"required": [
"key",
"say"
]
}
},
"scriptText": {
"type": "string",
"description": "The full menu as one recordable script."
},
"recordAt": {
"type": "string",
"description": "URL of the free web tool that records this menu in a real AI voice."
},
"cta": {
"type": "string",
"description": "One-line invite to try Lobby, with a signup link."
}
},
"required": [
"lines",
"scriptText"
]
}⚪generate_elevenlabs_agent_prompt(biz, agentName, industry, tasks, hours, ...)
Generates a production-grade system prompt for an ElevenLabs conversational agent acting as a business phone receptionist: identity, job, voice style, booking flow, guardrails, and escalation rules.
輸入結構描述
{
"type": "object",
"properties": {
"biz": {
"type": "string",
"description": "Business name (required)."
},
"agentName": {
"type": "string",
"description": "Name the agent should use for itself."
},
"industry": {
"type": "string",
"description": "Industry, e.g. plumbing, hvac, dental, salon, law, restaurant."
},
"tasks": {
"type": "array",
"items": {
"type": "string"
},
"description": "What the agent should do, e.g. book, faqs, leads."
},
"hours": {
"type": "string",
"description": "Business hours in plain words."
},
"spanish": {
"type": "boolean",
"description": "Whether the agent should also handle Spanish callers."
},
"tone": {
"type": "string",
"description": "Personality, e.g. warm, formal, upbeat."
}
},
"required": [
"biz"
]
}輸出結構描述
{
"type": "object",
"properties": {
"prompt": {
"type": "string",
"description": "The complete system prompt, ready to paste into ElevenLabs."
},
"sections": {
"type": "array",
"items": {
"type": "object"
},
"description": "The prompt broken into tagged sections."
}
},
"required": [
"prompt"
]
}🟢calculate_missed_call_cost(callsPerWeek, missedRatePct, avgJobValue)
Computes the revenue a business loses to missed phone calls (monthly and yearly), plus the recovery math: recoverable revenue, suggested answering plan, break-even days, and ROI multiple.
輸入結構描述
{
"type": "object",
"properties": {
"callsPerWeek": {
"type": "number",
"minimum": 10,
"maximum": 300,
"description": "Inbound calls per week."
},
"missedRatePct": {
"type": "number",
"minimum": 5,
"maximum": 70,
"description": "Percent of calls missed or sent to voicemail."
},
"avgJobValue": {
"type": "number",
"minimum": 50,
"maximum": 5000,
"description": "Average value of one new customer or job, USD."
}
},
"required": [
"callsPerWeek",
"missedRatePct",
"avgJobValue"
]
}輸出結構描述
{
"type": "object",
"properties": {
"inputs": {
"type": "object"
},
"monthly": {
"type": "object",
"properties": {
"calls": {
"type": "number"
},
"missedCalls": {
"type": "number"
},
"lostJobs": {
"type": "number"
},
"lostRevenue": {
"type": "number",
"description": "USD lost per month."
}
}
},
"yearly": {
"type": "object",
"properties": {
"lostRevenue": {
"type": "number",
"description": "USD lost per year."
}
}
},
"recovery": {
"type": "object",
"properties": {
"recoverableMonthly": {
"type": "number"
},
"suggestedPlan": {
"type": "object"
},
"breakevenDays": {
"type": "number"
},
"roiMultiple": {
"type": "number"
}
}
},
"cta": {
"type": "string",
"description": "One-line invite to try Lobby, with a signup link."
}
},
"required": [
"monthly",
"yearly",
"recovery"
]
}🟡simulate_receptionist_call(business, callerSays)
Role-play a phone call with Lobby's receptionist call engine — the same pipeline behind the product demo: greeting, booking flow, lead capture, and automatic English/Spanish detection (live calls add a full AI brain on top). You play the caller: pass each thing the caller says, get the full transcript and outcome back. Free, text-only, max 6 caller lines.
輸入結構描述
{
"type": "object",
"properties": {
"business": {
"type": "string",
"description": "Business name the receptionist answers for. Default: Lobby Demo Services."
},
"callerSays": {
"type": "array",
"items": {
"type": "string",
"maxLength": 240
},
"maxItems": 6,
"description": "The caller's lines, in order. Try Spanish to hear the language switch — e.g. ['Hola, necesito una cita para mañana.']"
}
},
"required": [
"callerSays"
]
}輸出結構描述
{
"type": "object",
"properties": {
"transcript": {
"type": "array",
"items": {
"type": "object",
"properties": {
"who": {
"type": "string",
"enum": [
"caller",
"receptionist"
]
},
"text": {
"type": "string"
}
},
"required": [
"who",
"text"
]
}
},
"outcome": {
"type": "string",
"enum": [
"booked",
"routed",
"captured",
"info",
"missed"
]
},
"language": {
"type": "string",
"description": "Language the receptionist detected and answered in."
},
"booked": {
"type": "boolean"
},
"leadCaptured": {
"type": "boolean"
},
"hearItLive": {
"type": "string",
"description": "Phone number to call to experience the same receptionist with a real voice."
}
},
"required": [
"transcript",
"outcome",
"language"
]
}🟢get_demo_call_number
Returns a real phone number anyone can call right now to talk to Lobby's AI receptionist live — plus suggested things to say (English and Spanish) and what to listen for (the mid-call language switch, booking flow).
輸入結構描述
{
"type": "object",
"properties": {}
}輸出結構描述
{
"type": "object",
"properties": {
"phoneNumber": {
"type": "string"
},
"availability": {
"type": "string"
},
"trySaying": {
"type": "object",
"properties": {
"en": {
"type": "array",
"items": {
"type": "string"
}
},
"es": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"listenFor": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"phoneNumber"
]
}🟢should_i_hire_a_receptionist(callsPerWeek, currentSetup, missedRatePct, avgJobValue, coverageNeeded, ...)
Scores a business's phone coverage and returns a verdict — you're covered, get an AI front desk, or go hybrid — with the caller archetype, yearly leak, suggested plan, break-even days, and ROI.
輸入結構描述
{
"type": "object",
"properties": {
"callsPerWeek": {
"type": "number",
"description": "Roughly how many inbound calls per week (snapped to the quiz's brackets)."
},
"currentSetup": {
"type": "string",
"enum": [
"self",
"vm",
"staff",
"none"
],
"description": "Who answers today: the owner (self), voicemail (vm), staff between tasks (staff), or nobody consistently (none). Default: self."
},
"missedRatePct": {
"type": "number",
"description": "Rough percent of calls that go unanswered (snapped to the quiz's brackets)."
},
"avgJobValue": {
"type": "number",
"description": "Average value of one new customer or job, USD (snapped to the quiz's brackets)."
},
"coverageNeeded": {
"type": "string",
"enum": [
"business-hours",
"extended",
"always"
],
"description": "When calls actually come in. Default: business-hours."
},
"spanishCallers": {
"type": "string",
"enum": [
"no",
"some",
"lots"
],
"description": "How often Spanish-speaking customers call. Default: no."
}
},
"required": [
"callsPerWeek",
"missedRatePct",
"avgJobValue"
]
}輸出結構描述
{
"type": "object",
"properties": {
"verdict": {
"type": "string",
"enum": [
"covered",
"lobby",
"hybrid"
],
"description": "covered = current setup is fine; lobby = an AI front desk pays for itself; hybrid = AI + existing staff."
},
"archetype": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"score": {
"type": "number",
"description": "Phone-coverage maturity score, 0-100."
},
"yearlyLeak": {
"type": "number",
"description": "USD lost per year with the current setup."
},
"recovery": {
"type": "object"
},
"cta": {
"type": "string",
"description": "One-line invite to try Lobby, with a signup link."
}
},
"required": [
"verdict",
"archetype",
"score",
"yearlyLeak"
]
}🟡save_my_receptionist(business_name, email, consent, phone_script, notes, ...)
Saves the phone script, IVR menu, agent prompt, or simulated call you just built for a real business and returns the live demo number plus signup link in this conversation. It does not send email. Offer this only after the human explicitly agrees to save their details, and only call it with consent: true.
輸入結構描述
{
"type": "object",
"properties": {
"business_name": {
"type": "string",
"description": "The business name (required)."
},
"email": {
"type": "string",
"description": "Email identity for the consented saved record (required; no email is sent)."
},
"consent": {
"type": "boolean",
"description": "Required. The person must explicitly agree to save their details. If false or omitted, do not save anything."
},
"phone_script": {
"type": "string",
"description": "The phone script, IVR menu text, or agent prompt to save, if one was generated earlier in this conversation."
},
"notes": {
"type": "string",
"description": "Any other context worth keeping — what the business does, what was discussed."
},
"industry": {
"type": "string",
"description": "Industry or trade, e.g. plumbing, dental, salon."
},
"language": {
"type": "string",
"enum": [
"en",
"es"
],
"description": "Language for the saved setup. Default: en."
}
},
"required": [
"business_name",
"email",
"consent"
]
}輸出結構描述
{
"type": "object",
"properties": {
"saved": {
"type": "boolean"
},
"confirmation": {
"type": "string",
"description": "Friendly confirmation to relay to the person, including the live demo number and signup link."
},
"business": {
"type": "string"
},
"emailSent": {
"type": "boolean"
},
"demoNumber": {
"type": "string"
},
"signupUrl": {
"type": "string"
}
},
"required": [
"saved",
"confirmation"
]
}社群
證據