Skip to main content
Glama

bookCalendarSlot

Create one appointment in the user's connected calendar at an exact slot returned by findCalendarSlots. Show the exact calendar, date, time, timezone, title, and supplied guest details. Never invent guest contact details. REAL ACTION, not a preview: the event is written to the user's real calendar. Right before calling, show the user the exact change and get their explicit confirmation.

Input Schema

NameRequiredDescriptionDefault
startYesExact ISO-8601 slot start, including its numeric UTC offset, copied from findCalendarSlots.
titleYesOwner-visible appointment title or purpose.
extraIdYesUse null unless the selected slot object contains a non-empty extraId, then copy that exact value. Never invent a placeholder or copy calendarShortId or another calendar ID here.
guestNameYesUse null unless the owner wrote the exact invitee name in a user message and approved it in the booking proposal. Never infer it from the owner profile, receptionist, agent, calendar, service, or appointment title.
guestEmailYesUse null unless the owner wrote the exact email address in their message and approved it in the booking proposal. A guest name is not an email. Never generate example.com, a placeholder, an inferred address, or any invented email.
guestPhoneYesUse null unless the owner wrote the exact phone number in their message and approved it in the booking proposal. Never send an empty string, placeholder, example, inferred, or invented phone number.
descriptionYes
calendarShortIdYesCalendar ID returned with availability. Omit only when the user has one active calendar.

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?

Goes beyond the annotations by stressing 'REAL ACTION, not a preview' — the event is written to the real calendar — plus the confirmation ritual, which the openWorldHint/readOnlyHint=false flags alone don't convey. It stops short of describing failure behavior when a slot has been taken or whether a retry creates a duplicate event.

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?

Four short sentences, each doing distinct work: purpose, display obligations, anti-fabrication rule, and the real-action/confirmation warning. The critical mutation warning sits in the final, emphasized position with no filler.

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 an 8-required-parameter real-world booking mutation with no output schema, the description covers the preconditions and confirmation workflow well. What's missing is what the agent should expect on success (booking id, event link) and what to do if the slot is no longer available.

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 88%, so the schema already documents nearly every parameter in detail, including the null semantics for guest fields and extraId. The description reinforces the no-invention rule for guest details but adds no syntax, format, or edge-case guidance beyond what is already in the property descriptions; baseline 3 applies.

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 (Create one appointment) with the exact resource (in the user's connected calendar) and a hard precondition (at an exact slot returned by findCalendarSlots). This cleanly separates it from findCalendarSlots, cancelAppointment, and scheduleCall without opening a schema.

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?

Explicitly names the upstream tool that produces the slot, mandates showing calendar/date/time/timezone/title/guest details, forbids inventing guest contact details, and requires explicit user confirmation immediately before the call. Both the when and the how are spelled out.

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