Skip to main content
Glama

Create Appointment

create_appointment
Destructive

[write] Create a calendar appointment (the customer by customer_id or customer_uuid). Datetimes are ISO 8601 (YYYY-MM-DDTHH:MM); end defaults to start + 30 min. Status PENDING (default) / CONFIRMED / DONE / CANCELLED. appointment_chat_key links the conversation it was booked from (::).

Input Schema

NameRequiredDescriptionDefault
customer_idNo
customer_uuidNo
appointment_noteNo
appointment_titleYes
appointment_statusNo
appointment_chat_keyNo
appointment_end_datetimeNo
appointment_start_datetimeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare write/destructive/idempotent=false, so the safety profile is covered. The description adds meaningful behavioral context beyond that: end defaults to start + 30 min, status defaults to PENDING with the full allowed set, and `appointment_chat_key` uses a `<platform>:<account>:<chat>` format. It doesn't mention side effects (e.g., customer notifications) or auth requirements, which would push this higher.

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?

Front-loaded with the '[write] Create a calendar appointment' core, and every subsequent clause adds a concrete fact (datetime format, default duration, status values, chat key format). Dense but efficient; the parenthetical '(the customer by `customer_id` or `customer_uuid`)' is slightly awkward phrasing.

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

Completeness3/5

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

For a mutation tool with 8 parameters and no output schema, the description covers the most consequential behaviors (defaults, formats, status values). It omits what happens on success (return value) and the semantics of `appointment_note`/`appointment_title`, and does not address whether creating an appointment triggers any external effect.

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 0%, so the description must carry the load. It documents the customer identifier choice, ISO 8601 datetime format, default end time, status enum, and chat key format, but leaves `appointment_title` and `appointment_note` completely unexplained. Partial compensation for an 8-parameter schema.

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 opens with a specific verb+resource ('Create a calendar appointment') and clarifies that the appointment is tied to a customer via `customer_id` or `customer_uuid`. It is clearly a creation tool distinct from `list_appointments`, though it doesn't explicitly name alternatives.

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?

Usage is implied by 'Create a calendar appointment' and the required start datetime, but there is no explicit when-to-use/when-not guidance or reference to alternatives like `list_appointments` or `edit_*` tools. The agent can infer the purpose but must decide on its own when this tool is appropriate.

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