receptionist-toolkit

Free receptionist tools: phone scripts, IVR menus (EN+ES), ElevenLabs prompts, missed-call math

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
90%
Vollständigkeit des Schemas
91%
Qualität der Benennung
93%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (1)

  • LOWTool 'generate_elevenlabs_agent_prompt' name length outside 3-30 rangein generate_elevenlabs_agent_prompt

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~2,565Tokens (Tool-Definitionen)
~3.2 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.00% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "receptionist-toolkit": {
      "url": "https://lobbyvoices.com/api/mcp"
    }
  }
}

Remote-Endpunkte

https://lobbyvoices.com/api/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (8)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟡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.

Eingabe-Schema

{
  "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"
  ]
}

Ausgabe-Schema

{
  "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.

Eingabe-Schema

{
  "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"
  ]
}

Ausgabe-Schema

{
  "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.

Eingabe-Schema

{
  "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"
  ]
}

Ausgabe-Schema

{
  "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.

Eingabe-Schema

{
  "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"
  ]
}

Ausgabe-Schema

{
  "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.

Eingabe-Schema

{
  "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"
  ]
}

Ausgabe-Schema

{
  "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).

Eingabe-Schema

{
  "type": "object",
  "properties": {}
}

Ausgabe-Schema

{
  "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.

Eingabe-Schema

{
  "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"
  ]
}

Ausgabe-Schema

{
  "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.

Eingabe-Schema

{
  "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"
  ]
}

Ausgabe-Schema

{
  "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"
  ]
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet8 Tools
verifiziertVersion nicht aufgezeichnet8 Tools
verifiziertVersion nicht aufgezeichnet8 Tools