Skip to main content
Glama
cotletdev

BookingKoala MCP Server

by cotletdev

Create customer

create_customer
Destructive

Adds a new customer to BookingKoala and emails them an invitation to set a password for the store's booking page; an optional address becomes their default service address.

Instructions

New customer in the store. BookingKoala emails them an invitation to set a password.

Adds a customer as Add Customer in the admin does, with an optional address that becomes their default service address. BookingKoala emails the customer at once to set a password for the store's booking page, so use their real address. An email already in the store is refused. Returns the new customer as get_customer does.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
aptNoApartment or suite.
cityNoCity.
emailYesEmail address. BookingKoala sends the customer an invitation to set a password.
phoneNoPhone number, digits only for US numbers, e.g. 2125550147.
stateNoState, e.g. New York.
genderNoGender, optional.
addressNoStreet address, e.g. 540 W 28th Street, New York, NY, USA.
countryNoCountry, e.g. United States.
zipcodeNoZIP or postal code.
last_nameYesLast name.
first_nameYesFirst name.
sms_notificationsNoText the customer booking updates. Default: false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.1

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover write, open-world, non-idempotent, and destructive hints. The description adds important behavior beyond annotations: an immediate password-invitation email, the need for a real email address, refusal of duplicate emails, the optional address becoming the default service address, and the return shape.

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?

It is front-loaded and appropriately sized, with the creation action followed by side effects, constraints, and return behavior. There is some redundancy: the password-invitation email is mentioned in both the first and third sentences, and the phrase 'as Add Customer in the admin does' is awkward.

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 12-parameter mutation with no output schema, the description covers the action, key side effect, duplicate constraint, default-address behavior, and return shape. It does not address authentication, permissions, or reversibility, but it is otherwise complete enough to call correctly.

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 schema already documents all 12 parameters. The description adds real semantic meaning for email (must be real because an invitation is sent; duplicates are refused) and address (becomes the default service address), which goes beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action and resource: 'Adds a customer as Add Customer in the admin does' and 'New customer in the store.' It references get_customer only for return shape, not as a sibling alternative, so sibling differentiation is limited.

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

Usage Guidelines3/5

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

Usage is implied: use this when adding a new customer as the admin's Add Customer does. It provides a relevant constraint that an existing email is refused, but does not explicitly state when to use this versus get_customer, list_customers, or create_booking.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.