Skip to main content
Glama

Server Details

AI receptionist for small businesses. Read calls, messages and contacts, check availability, book and change appointments, and update opening hours and FAQs. OAuth sign-in; free plan available.

Ownership verified
Status
Healthy
Uptime
75.0% over the last 24 hours
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A3.8/5.0

Scored across 18 tools

Disambiguation5/5

Each tool targets a distinct resource and action: appointments, contacts, calls, messages, business, services, staff, availability and knowledge. Read vs list vs search variants are clearly separated by their descriptions, so an agent can select tools without meaningful overlap.

Naming Consistency5/5

All 18 tool names follow a consistent snake_case verb_noun pattern (add_, book_, cancel_, check_, create_, get_, list_, reschedule_, search_, update_). There are no mixed conventions or vague standalone verbs.

Tool Count4/5

18 tools cover several distinct entities (appointments, contacts, calls, messages, business, services, staff, knowledge), so the surface is broad but each tool has a clear operational purpose. The count is slightly heavy for a small receptionist domain but not redundant.

Completeness3/5

Core booking and call-handling workflows are covered, including availability, booking, rescheduling, cancellation, contacts and transcripts. However, several lifecycle gaps exist: add_knowledge has no list/update/delete, list_messages has no way to mark messages handled, and services/staff are read-only with no management operations.

Available Tools

18 tools
add_knowledgeAdd knowledgeAInspect

Teaches the receptionist something it can use to answer callers. For type faq, send question and answer. For type text, send title and content, for example a policy or a price list. Write it as a fact about the business, not as an instruction to the receptionist.

Inputs: type (required), title, answer, content, +2 more. Returns: A text entry or FAQ the receptionist answers from.

book_appointmentBook an appointmentAInspect

Books an appointment at an open time from check_availability. Works only when booking_mode is instant; otherwise it fails with booking_requires_confirmation or booking_disabled, and you should tell the owner instead of retrying. Identify the customer with contact_id (a contact that has a phone number) or contact_phone. Fails with slot_unavailable if the time was taken; check availability again and offer another time. Confirm the service, time and customer with the owner before calling.

Inputs: starts_at (required), service_id (required), staff_id, contact_id, +4 more. Returns: id, notes, source, status, +13 more

cancel_appointmentCancel an appointmentA
DestructiveIdempotent
Inspect

Cancels an appointment, removes it from the staff calendar and stops its reminders. When the customer agreed to texts, LobbyStack texts them that it's cancelled. Cancelling an appointment that is already cancelled returns it unchanged. Confirm with the owner before calling.

Inputs: appointment_id (required). Returns: id, notes, source, status, +13 more

check_availabilityCheck open timesA
Read-onlyIdempotent
Inspect

Lists open start times for one service, in 30-minute steps within opening hours, checked against staff calendars and existing bookings. Dates are YYYY-MM-DD in the business time zone; the range can span up to 7 days. Returned times are UTC. Pass a starts_at value unchanged to book_appointment or reschedule_appointment.

Inputs: service_id (required), start_date (required), end_date, staff_id. Returns: data, has_more, next_cursor

create_contactCreate a contactAInspect

Adds a contact. Give a phone number or an email, or both. Fails with conflict when a contact already has that phone number; the message includes the existing contact's id.

Inputs: name, email, phone, locale, +2 more. Returns: id, name, email, phone, +5 more

get_appointmentGet an appointmentC
Read-onlyIdempotent
Inspect

Returns one appointment by id.

Inputs: appointment_id (required). Returns: id, notes, source, status, +13 more

get_businessGet business profileA
Read-onlyIdempotent
Inspect

Returns the business name, time zone, default caller language, website, opening hours and booking_mode. Call this first: other tools return times in UTC, and booking_mode decides whether book_appointment and reschedule_appointment can work (they need instant).

Inputs: no named parameters. Returns: id, name, hours, locale, +7 more

get_callGet a call with transcriptB
Read-onlyIdempotent
Inspect

Returns one call with its full transcript, in order. Transcripts removed by the retention policy come back empty.

Inputs: call_id (required). Returns: id, status, channel, outcome, +12 more

get_contactGet a contactC
Read-onlyIdempotent
Inspect

Returns one contact by id.

Inputs: contact_id (required). Returns: id, name, email, phone, +5 more

list_appointmentsList appointmentsA
Read-onlyIdempotent
Inspect

Lists appointments, most recently booked first. Filter by status (confirmed or cancelled) and by start time to see a day or a week. Times are UTC; convert them to the business time zone before showing them.

Inputs: limit, cursor, status, contact_id, +2 more. Returns: data, has_more, next_cursor

list_callsList callsA
Read-onlyIdempotent
Inspect

Lists calls the receptionist handled, newest first, with outcome, summary and caller details. Filter by start time to read a given day: take the business time zone from get_business and pass that day's local midnight bounds with their offset. outcome is appointment_booked, booking_incomplete, message_taken, conversation, answered_by_team or none. Use get_call for the transcript.

Inputs: limit, cursor, started_after, started_before. Returns: data, has_more, next_cursor

list_messagesList messagesA
Read-onlyIdempotent
Inspect

Lists messages the receptionist took for the team, newest first: who called, the callback number, urgency, the best time to call back and the message itself. status open means nobody has handled it yet.

Inputs: limit, cursor, status. Returns: data, has_more, next_cursor

list_servicesList servicesA
Read-onlyIdempotent
Inspect

Lists the active services customers can book, with each service's id and duration in minutes. Use a service id with check_availability and book_appointment.

Inputs: no named parameters. Returns: data, has_more, next_cursor

list_staffList staffA
Read-onlyIdempotent
Inspect

Lists the people who take appointments, with the services each one can be booked for. Only active staff take bookings. Pass a staff id as staff_id to check_availability, book_appointment or reschedule_appointment when the customer asks for someone.

Inputs: no named parameters. Returns: data, has_more, next_cursor

reschedule_appointmentReschedule an appointmentA
DestructiveIdempotent
Inspect

Moves an appointment to a new open time for the same service, with the same staff member unless you pass staff_id. Works only when booking_mode is instant. Find the new time with check_availability for the appointment's service_id. Fails with slot_unavailable if the time is taken.

Inputs: starts_at (required), appointment_id (required), staff_id. Returns: id, notes, source, status, +13 more

search_contactsSearch contactsA
Read-onlyIdempotent
Inspect

Finds contacts, newest first. Filter by exact phone number (E.164, for example +14165550134), exact email, or part of the name. With no filter it lists every contact. Use it to find a caller before booking or updating their details.

Inputs: name, email, limit, phone, +1 more. Returns: data, has_more, next_cursor

update_business_hoursReplace opening hoursA
DestructiveIdempotent
Inspect

Replaces the whole week of opening hours. Send every day that should be open; any day you leave out becomes closed. Read the current hours with get_business first and change only what the owner asked for. Times are in the business time zone. Returns the updated business.

Inputs: hours (required). Returns: id, name, hours, locale, +7 more

update_contactUpdate a contactA
DestructiveIdempotent
Inspect

Changes a contact's details. Send only the fields to change. Set name, email, locale or timezone to null to clear them. The phone number can be changed but not cleared.

Inputs: contact_id (required), name, email, phone, +2 more. Returns: id, name, email, phone, +5 more

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Remote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
      16
      9 npm
      1
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.

    Resources