receptionist-toolkit

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
90%
Integridad del esquema
91%
Calidad de los nombres
93%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (1)

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

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,565Tokens (definiciones de herramientas)
~3.2 KBTamaño de respuesta típico
Impacto significativo en la atención (2.00% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Puntos de conexión remotos

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

Qué puede hacer

Inventario de herramientas

Herramientas (8)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟡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.

Esquema de entrada

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

Esquema de salida

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

Esquema de entrada

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

Esquema de salida

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

Esquema de entrada

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

Esquema de salida

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

Esquema de entrada

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

Esquema de salida

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

Esquema de entrada

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

Esquema de salida

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

Esquema de entrada

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

Esquema de salida

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

Esquema de entrada

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

Esquema de salida

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

Esquema de entrada

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

Esquema de salida

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

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada8 herramientas
verificadoversión no registrada8 herramientas