receptionist-toolkit
Free receptionist tools: phone scripts, IVR menus (EN+ES), ElevenLabs prompts, missed-call math
사용해야 할까요
품질 및 안전성
발견 사항 (1)
- LOWgenerate_elevenlabs_agent_prompt에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`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"
]
}커뮤니티
증거