Skip to main content
Glama

Set up the calendar

calendar_setup
Idempotent

Set the business's calendar, or a person's own (person: like a Cal.com user, with their own booking page, hours, time zone and Google calendar): its name on booking pages, address, time zone, weekly hours, date exceptions (holidays, special hours), and for the business's calendar reminder emails and confirmation calls. Only the fields you pass change. The first call creates the calendar; then add meeting types with calendar_save_meeting_type. Costs $0.001 per call; nothing if it fails.

Input Schema

NameRequiredDescriptionDefault
nameNo
aboutNoA line under the name on the booking page.
hoursNoWeekly hours; several ranges a day are fine.
personNoSomeone on the account (admin_save_person), by email: sets up their own calendar and booking page instead of the business's.
addressNoThe booking page's address, like a Cal.com username: cncto.co/book/<address>. Lowercase letters, digits and hyphens, e.g. hansen-voss. The old address keeps working and forwards to the new one; no other business can take it.
timezoneNoIANA time zone, e.g. Europe/Berlin.
show_peopleNoThe business's booking page links the pages of its people who have meeting types (default true).
reminder_hoursNoEmail each attendee this many hours before (default [24]; up to two, e.g. [24, 1]); [] turns it off. $0.002 per reminder sent, paid accounts only. A booking made later than that gets none. For every meeting of the business, its people's too.
date_exceptionsNo{"2026-12-24": []} closes a day; {"2026-12-31": [{"start": "09:00", "end": "13:00"}]} sets its hours.
connected_calendar_idNoAfter the owner (or the person) connected Google Calendar: which of their calendars to use (ids from calendar_get_setup).
confirmation_calls_hoursNoCall attendees this many hours before (2-72); 0 turns the calls off.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare idempotent/non-destructive, but the description adds material context they don't carry: upsert semantics (first call creates), partial-update semantics (only passed fields change), per-call cost ($0.001, free on failure), downstream reminder cost ($0.002, paid accounts only, no reminder for late bookings), and address reclamation behavior (old address forwards, no other business can take it). That is exactly the kind of side-effect and billing disclosure an agent needs before calling.

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?

Every sentence carries load — no filler, and the create/partial-update/cost facts are all actionable. The weakness is structural: the opening sentence is a single sprawling construction with a nested parenthetical definition of "person" and a colon-delimited field list, which costs the reader a re-parse even though the verb and resource do come first.

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 an 11-parameter tool with nested objects and no output schema, the description covers the entity model (business vs person calendar), the create-vs-update lifecycle, the follow-on tool, prerequisites for connected_calendar_id, and the cost model. The main residual gap — what the call returns — is largely mitigated because the natural upsert pattern and calendar_get_setup reference make the read path discoverable.

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 91%, so the baseline is 3 and the schema does most of the work. The description still contributes meaning the schema doesn't: that no fields are required because the first call creates the calendar, and that omitted fields are left untouched rather than reset. It doesn't add format or interaction detail beyond that (e.g. how date_exceptions interacts with hours), so it sits just above baseline.

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?

Opens with a specific verb+resource (set the calendar) and immediately scopes it to two distinct targets: the business's calendar or a person's own booking page. It enumerates the fields under management (name, address, time zone, hours, date exceptions, reminders, confirmation calls) and explicitly names the sibling calendar_save_meeting_type as the next step, so an agent can place it 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?

"The first call creates the calendar; then add meeting types with calendar_save_meeting_type" gives a clear create-then-extend workflow, and "Only the fields you pass change" tells the agent this is safe to call repeatedly for partial updates. The person parameter explains the alternative target. It stops short of explicitly routing reads to calendar_get_setup (that only appears inside the connected_calendar_id schema description), so the when-not is implied rather than stated.

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