Skip to main content
Glama

Create a booking

create_booking

Book a real meeting. This sends invitations and writes to connected calendars, and it cannot be undone except by cancelling. Ask the person to confirm the event, the exact time and the attendee details before calling it, and use their real name and email — never a placeholder. The start and end must be copied verbatim from a recent list_available_slots response; this server re-checks them against live availability and refuses times it cannot find. There is no idempotency key: if this call returns an uncertain outcome, do not call it again — call list_upcoming_bookings and read what actually happened.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
endYesThe matching end from that same slot.
nameYesThe attendee’s real name.
noteNoOptional note shared with the host (max 2000 characters).
emailYesThe attendee’s real email address. Invitations go here.
startYesStart, copied exactly from a fresh list_available_slots response.
booker_tzNoAttendee IANA timezone, e.g. Europe/Berlin. Defaults to UTC.
event_typeYesEvent slug from list_event_types.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations only signal readOnly=false and idempotent=false, but the description adds crucial behavioral context: invitations are sent, writes are irreversible except by cancellation, the server re-checks live availability, and there is no idempotency key. This fully discloses the side effects beyond the structured annotations.

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?

Every sentence earns its place: consequences, confirmation requirements, input validity rules, and failure-handling guidance are all included without repetition. The most important operational constraint is front-loaded near the beginning.

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 a mutation tool with no output schema and no idempotency, the description covers everything an agent needs to call it safely: prerequisites, exact input sourcing, side effects, irreversibility, and recovery behavior. The only minor omission is explicitly naming cancel_booking as the undo path, but 'except by cancelling' is sufficient.

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, but the description adds meaning beyond the schema: start/end must be copied verbatim and are validated against live availability, and name/email must be real, never placeholders. Not every parameter is enriched, but the highest-risk ones are.

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 'Book a real meeting' and immediately states the concrete effects: sending invitations and writing to connected calendars. It is clearly distinguished from the sibling tools like cancel_booking and list_available_slots.

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?

The description gives explicit pre-conditions: confirm the event, time, and attendee details before calling, and copy start/end verbatim from list_available_slots. It also tells the agent what to do on an uncertain outcome — do not retry, instead call list_upcoming_bookings — which is strong alternative routing.

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