Skip to main content
Glama

Join the waiting list

join_waitlist

Put a person on the clinic's waiting list for one option when no free time suits: dates, parts of the day and a practitioner if wanted. A code goes to their phone, then confirm_with_code. The clinic sends an SMS when a time frees up; nothing is held.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "option_id": "<option_id>",
      "name": "<name>",
      "phone": "<phone>"
    },
    "name": "join_waitlist"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYesThe person's full name, as they say it.
noteNoA short note to the clinic in the person's words. Never health details.
emailNoThe person's email address. Optional.
phoneYesThe person's mobile number. The code goes there by SMS.
localeNoAnswer language: nb (Norwegian) or en.nb
to_dateNoLast wanted day (YYYY-MM-DD); default two weeks on.
clinic_idNoThe clinic_id find_clinics returns. Never build it from a name. A clinic site needs none.
from_dateNoFirst wanted day (YYYY-MM-DD); default today.
option_idYesThe option_id get_treatment returns.
parts_of_dayNomorning (07-12), afternoon (12-17) or evening (17-22); omit for any time.
practitioner_idNoOne practitioner; omit for anyone.

Output Schema

NameRequiredDescriptionDefault
statusYescode_sent: ask the person for the code, then call confirm_with_code.
channelYessms or email.
waitlistYes
expires_atYesWhen the code stops working.
code_sent_toYesThe masked phone or email the code went to.
confirmation_idYesPass it to confirm_with_code with the code.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations cover non-readonly, non-destructive, open-world, non-idempotent, but say nothing about a two-step verification flow or reservation semantics. The description adds exactly that: an SMS code must be confirmed via confirm_with_code, the clinic sends an SMS when a slot frees, and crucially 'nothing is held' — an agent would otherwise wrongly assume a slot is reserved. It does not mention waitlist expiry or re-joining behavior.

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, front-loaded with the action and its precondition, then the confirmation flow, then the consequence. Slight telegraphic compression ('A code goes to their phone, then confirm_with_code') costs a little readability but wastes no words.

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

Completeness5/5

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

For an 11-parameter mutation with full schema coverage, annotations, and an output schema, the description supplies the missing pieces an agent needs: the precondition, the mandatory confirm_with_code follow-up, and the no-hold warning. Nothing essential to calling it correctly is absent.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description still adds selection-level meaning by singling out the three meaningful optional filters (dates, parts of day, practitioner if wanted) and signalling that the phone number is the SMS destination, helping the agent decide which optional fields to populate rather than merely how to format them.

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

Purpose5/5

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

The description opens with a specific verb and resource ('Put a person on the clinic's waiting list') and immediately narrows the scope ('for one option when no free time suits'), which implicitly separates this from book_appointment. It also names the concrete criteria captured (dates, parts of the day, optional practitioner), so an agent knows exactly what this tool is for.

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

Usage Guidelines4/5

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

The clause 'when no free time suits' gives an explicit use condition and implicitly routes the agent to booking when free time does exist. It also names the required follow-up tool, confirm_with_code, which orients the agent in the workflow. It stops short of naming book_appointment as the alternative outright or stating when not to join.

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.

Resources