Skip to main content
Glama

AgendaPro MCP by usefulapi

Create booking

agendapro_create_booking
Destructive

WRITE: create a booking for an existing client, service, provider and location. Check agendapro_list_available_slots first. status_id must be a non-cancelled status: copy the status.id of an existing booking (agendapro_list_bookings). AgendaPro does NOT send email/SMS/WhatsApp notifications for bookings created through the API. Not idempotent: calling twice books twice. POST /v3/bookings.

Input Schema

NameRequiredDescriptionDefault
notesNoBooking notes.
priceNoPrice as a decimal string; defaults to the service price.
end_timeNoEnd; defaults to start + the service duration.
client_idYesClient id (agendapro_search_clients / agendapro_create_client).
status_idYesA non-cancelled booking status id.
service_idYesService id.
start_timeYesStart, ISO 8601 with a timezone offset, e.g. 2026-03-10T10:00:00-03:00 (use the location's timezone).
location_idYesLocation id.
provider_idYesService provider id.
time_resource_idNoTime resource id; required when the service needs one.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/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 backs those with concrete consequences ('calling twice books twice'), plus two facts the annotations cannot express: no email/SMS/WhatsApp notifications fire from API-created bookings, and status_id must be a non-cancelled status.

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 'WRITE:' and the core action, then prerequisites, then side effects, then the endpoint. Every clause carries information an agent would otherwise get wrong.

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 10-param mutation with no output schema, the description covers prerequisites, side effects, and mutation semantics well. It never states what is returned (e.g. the new booking id), which an agent needs in order to subsequently get or cancel the booking.

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 description coverage is 100%, so the baseline is 3; the description adds real semantics by constraining status_id to a non-cancelled status and prescribing how to source its value from list_bookings. It does not touch the optional notes/price/time_resource_id fields, which the schema already covers.

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 an explicit 'WRITE: create a booking' verb+resource and immediately scopes the entities involved (existing client, service, provider, location), which cleanly separates it from agendapro_update_booking and agendapro_cancel_booking.

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 ordered prerequisites: check agendapro_list_available_slots first, and obtain status_id by copying status.id from agendapro_list_bookings. Both named siblings come with the condition that selects them, leaving little to inference.

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.