Skip to main content
Glama

Set up an AI receptionist

upsert_receptionist
Destructive

Creates or edits an AI receptionist. The account owner needs Business. It speaks with the caller and does not transfer the live conversation to a person.

Input Schema

NameRequiredDescriptionDefault
idNo
nameNo
voiceNoVoice the receptionist speaks with: one of alloy, ash, ballad, cedar, coral, echo, marin, sage, shimmer, verse (default marin), or a custom voice id made in the Widely app, which starts with voice_. Any other value is rejected.
enabledNo
greetingNo
knowledgeNo
languagesNo
descriptionNo
default_languageNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / default_language
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / description
      Added value: +{
      +  "type": "string"
      +}
  2. Changed2 schema fields changed
    • addedInput schema / properties / voice / description
      Added value: +"Voice the receptionist speaks with: one of alloy, ash, ballad, cedar, coral, echo, marin, sage, shimmer, verse (default marin), or a custom voice id made in the Widely app, which starts with voice_. Any other value is rejected."
    • addedInput schema / properties / voice / pattern
      Added value: +"^(?:alloy|ash|ballad|cedar|coral|echo|marin|sage|shimmer|verse|voice_[A-Za-z0-9_-]+)$"
  3. First observed

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=false, and readOnlyHint=false, so the mutation profile is covered; the description adds the Business-plan requirement and the behavioral fact that the receptionist does not transfer live calls. It never explains why an upsert is flagged destructive, nor what happens to existing receptionist fields when only some of the nine optional parameters are supplied — the key behavioral risk for a partial upsert.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with the create/edit behavior front-loaded and the prerequisite placed early. The final sentence about not transferring calls is useful but slightly buried given the larger gaps elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a nine-parameter, zero-required, destructive mutation tool with no output schema and 11% schema coverage, the description is far too thin: it omits parameter semantics, merge/overwrite behavior, and any differentiation from the four sibling upsert_receptionist_* tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 11% across nine parameters (only 'voice' is documented), so the description carries the burden here and does not compensate — it never mentions greeting, knowledge, languages, default_language, or enabled. All parameters are optional with no required set, and the description gives no hint about which fields matter or how partial payloads are merged.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Creates or edits an AI receptionist'), which distinguishes it from most siblings and correctly conveys upsert semantics. It does not, however, distinguish itself from the closely named siblings upsert_receptionist_profile, upsert_receptionist_location, or upsert_receptionist_knowledge, leaving the agent to infer which layer of the receptionist each tool owns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'The account owner needs Business' is a genuine prerequisite that tells the agent when the call will succeed. There is no guidance on when to choose this tool over the other upsert_receptionist_* siblings, which is the most likely selection error given the near-identical names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.