Skip to main content
Glama

Dplooy

Create booking page

create_booking_page

Create a booking page BEFORE deploying (Plus/Pro). Returns the two-line widget embed + the frozen .db-* styling contract — embed verbatim, STYLE the classes (mandatory: match the site's fonts, colors, spacing, radius), never reimplement booking logic. Every request needs the owner's approval. Unavailable until assign_to_project. Retrying the same name while unassigned returns the existing page. Name it "". For a business with priced services (salon, barber, clinic, tours), pass services so the widget shows a service picker sourced from the project's "services" Data collection — you must supply the currency; the collection is auto-detected.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNoappointments = one visitor per slot (consultations, services). reservations = multiple parties per slot with party size (restaurants, venues). Default: appointments.
nameYesProfessional name including the business, e.g. "GreenScape Landscaping — Consultation Bookings" (max 50 chars)
rulesNoSchedule rules — get_guide('bookings') documents the full schema
servicesNoServices & prices: show a service picker sourced from the project's "services" Data collection (create_data_collection with preset "services", assign it to the same project). The chosen name + price are copied onto each booking. Booked value only — no payments.
timezoneNoIANA timezone of the business, e.g. "America/New_York" — slot times are wall times in this zone
notifyEmailNoEmail address that receives booking-request notifications. ASK THE USER which address they want BEFORE creating — omitted = their Dplooy account email.
publicReplyEmailNoThe reply address GUESTS see on booking emails (confirmations/decisions). ASK THE USER — omitted = falls back to the notification address.

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=false), the description discloses important side effects and constraints: it returns an embed and a frozen styling contract that must be styled, requires owner approval, is unavailable until assignment, and is idempotent when retrying the same name while unassigned. This is exactly the kind of behavioral context an agent needs and that annotations cannot express.

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 carries operational weight: deployment timing, return value, styling mandate, approval prerequisite, dependency, retry behavior, naming convention, and services guidance. Critical constraints are front-loaded, and there is no filler or redundant repetition of schema details.

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?

The tool has nested parameters, no output schema, and multiple operational dependencies. The description compensates by specifying the return payload (embed + styling contract), the owner-approval requirement, the assign_to_project dependency, idempotent retry behavior, and the services-picker use case. For a complex create operation, the agent has enough context to call it correctly and know what to expect.

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. The description adds business-level meaning for key parameters: it mandates `services` for priced-service businesses, requires the currency, explains the auto-detected Data collection, and supplies a naming convention for `name`. This goes beyond the schema's field-level descriptions, though the schema still carries most of the detailed parameter documentation.

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 a specific action and resource: 'Create a booking page BEFORE deploying (Plus/Pro).' It further distinguishes the tool by describing its unique output—'two-line widget embed + the frozen .db-* styling contract'—and by warning against reimplementing booking logic. This is clearly a create operation, not a get/list/delete sibling.

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 description gives explicit temporal and dependency guidance: 'BEFORE deploying (Plus/Pro)' and 'Unavailable until assign_to_project', so an agent knows the prerequisite step and the correct ordering. It also tells when to pass `services` based on business type and requires owner approval. However, it does not explicitly name an alternative tool for non-booking flows, so it lacks a fully explicit when-not-to-use statement.

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.

TDQS

A4.1/5.0
Disambiguation4/5

Most tools are clearly separated by resource and action, and the descriptions are detailed enough to avoid most misselection. The main ambiguity is between deploy_files and deploy_website (both deploy a site, one multi-file and one single-file), and get_project versus get_project_files versus list_projects require careful reading.

Naming Consistency5/5

Every tool follows a consistent snake_case verb_noun pattern: create_*, get_*, list_*, delete_*, update_*, upload_*, assign_to_project, unassign_from_project, configure_chatbot. There are no camelCase names, vague verbs, or mixed conventions.

Tool Count2/5

At 29 tools, this exceeds the comfortable MCP surface and crosses into the 'too many' range. The breadth is somewhat justified by the number of subdomains (projects, files, forms, data, bookings, chatbot, media), but several getters and listers could be consolidated without losing capability.

Completeness4/5

The tool set covers a full website build lifecycle: account checks, content modeling, media upload, deploy, assignment, chatbot configuration, and post-deploy file edits. Minor gaps remain: booking pages and form settings are intentionally read-only via the MCP, and there is no chatbot deletion or teardown tool.

Resources