Skip to main content
Glama

Create booking

create_booking

Books an appointment by first returning a summary for the customer to confirm, then finalizing it only after explicit approval.

Instructions

Books an appointment. First call WITHOUT customer_confirmed to get a summary, read it to the customer, and only call again with customer_confirmed: true after they say yes.

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": {
      "service": "<service>",
      "date": "<date>",
      "time": "<time>",
      "customer_name": "<customer_name>",
      "customer_phone": "<customer_phone>"
    },
    "name": "create_booking"
  }
}

Input Schema

NameRequiredDescriptionDefault
dateYesDate as YYYY-MM-DD
timeYesLocal 24-hour time as HH:MM
staffNo
serviceYes
customer_nameYes
customer_phoneYesCustomer phone in international format, e.g. +355691234567
customer_confirmedNotrue only after the customer explicitly agreed to the summary

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4/5.0
Behavior4/5

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

Annotations declare non-read-only, non-idempotent, non-destructive, but say nothing about process. The description adds the non-obvious two-phase confirmation behavior, which is the most important trait for an agent to get right. It omits what the summary contains, what happens on failure or duplicate submission, and what the response looks like.

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

Conciseness5/5

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

Two sentences, both load-bearing, with the critical confirmation gate front-loaded rather than buried. No filler or restatement of the title.

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

Completeness4/5

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

For a 7-parameter mutation with no output schema, the description covers the highest-risk aspect: preventing an unconfirmed booking. Remaining gaps are secondary details such as failure modes and what the summary includes, which an agent could discover from the call result.

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

Parameters3/5

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

Schema coverage is 57%, with service, staff, and customer_name undocumented in the schema. The description only elaborates on customer_confirmed, which the schema already explains, and leaves the three bare parameters without added meaning. It does not compensate for the coverage gap.

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?

States a specific verb and resource ('Books an appointment'), which is clearly distinct from the siblings cancel_booking, reschedule_booking, and find_slots. It stops short of naming a sibling or an alternative path, but an agent can identify the operation without opening the schema.

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?

Gives explicit procedural guidance: call first without customer_confirmed to obtain a summary, then call again with true only after the customer agrees. That is a clear when-and-how rule. It does not address adjacent situations such as whether to check find_slots first or what to do if the booking conflicts.

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