Skip to main content
Glama

Appointo MCP by usefulapi

Create booking

appointo_create_booking
Destructive

WRITE: create a booking for a customer on an appointment (bookable service) at a time slot. This is a real booking: Appointo may email the customer a confirmation and reserve the slot; the booking can later be cancelled with appointo_cancel_booking. Check appointo_get_availability first. Not idempotent: calling twice creates two bookings. The docs cap this at 100 requests per day. POST /bookings.

Input Schema

NameRequiredDescriptionDefault
nameYesCustomer name.
emailYesCustomer email.
phoneNoCustomer phone number.
quantityNoNumber of spots (default 1).
timestringYesStart of the time slot, ISO 8601, e.g. 2026-11-03T14:00:00-05:00 (use a date only, 2026-11-03, for a day booking). Check appointo_get_availability for real slots.
appointment_idYesAppointo appointment id (from appointo_list_appointments).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, and the description reinforces rather than contradicts that. It adds genuinely new context the annotations cannot carry: Appointo may email the customer and reserve the slot, plus a 100-requests-per-day cap. It stops short of describing failure behavior (e.g. what happens if the slot is taken), which keeps it at 4.

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?

Front-loaded with the operation class and core action, followed by side effects, preconditions, and limits in descending order of importance. Every sentence carries a distinct fact; even the trailing rate limit and POST route are non-redundant.

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 mutation tool with no output schema, the description covers side effects, irreversibility/idempotency, quota, and prerequisites. The main omission is error behavior when the slot is unavailable or the customer lacks a valid email, which an agent would benefit from knowing before calling.

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 description coverage is 100%, so every parameter (including timestring's ISO 8601 format and the appointment_id source) is already documented in the schema. The description adds only the availability-check pointer for the time slot, which is the baseline expectation when the schema does the heavy lifting.

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?

States a specific verb and resource (create a booking) plus the exact scope: a customer, an appointment (bookable service), and a time slot. The 'WRITE:' prefix and the explicit contrast with appointo_cancel_booking make it distinguishable from every sibling at a glance.

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

Usage Guidelines5/5

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

Gives an explicit precondition ('Check appointo_get_availability first') and names the follow-up tool (appointo_cancel_booking) that reverses this action. An agent knows both the ordering constraint and the undo path without consulting anything else.

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.