Skip to main content
Glama

Start a table booking

start_table_booking
Read-onlyIdempotent

Turn a time from find_table_times into a link the guest taps to finish booking. This does NOT book anything: it returns a short-lived URL on the venue's own booking page, already opened at that party size and that exact sitting, where the guest enters their own details and confirms.

The venue holds the table from the moment the guest opens the link, for about ten minutes, which is what gives them time to fill the form in. Until they open it nothing is held, so give them the url promptly and say the table is not theirs until they do.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
venueYesThe venue's booking slug, exactly as get_venue returned it or as it appears in the venue's own booking link: the last path segment of gaplessly.com/book/<slug>, or the first label of <slug>.gaplessly.com. Not the business name.
partySizeYesThe same party size passed to find_table_times. The link opens on it.
slotTokenYesA `slotToken` from find_appointment_times or find_table_times, copied exactly. It is signed and carries the venue and the time inside the signature, so it cannot be edited, built by hand, or used at a different venue. It expires about 30 minutes after the search.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations (readOnly/idempotent/non-destructive) by disclosing the real hold semantics: nothing is reserved until the guest opens the link, the venue holds the table for roughly ten minutes after opening, and the URL is short-lived. That is exactly the operational context an agent needs to sequence the conversation correctly.

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?

Purpose is front-loaded in the first sentence, and the second paragraph is dense with non-redundant hold/expiry detail. It runs slightly long, but no sentence is filler.

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?

There is no output schema, yet the description covers the return value (a short-lived URL on the venue's booking page), its pre-filled state, and its timing constraints. An agent can call this and hand the result off without further inference.

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 description coverage is 100%, with venue, partySize and slotToken all documented in detail, so the schema carries the burden. The description only adds the workflow framing that the link opens pre-set to 'that party size and that exact sitting', which is marginal beyond the schema text.

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 and resource ('Turn a time from find_table_times into a link') and immediately bounds it with a negation ('This does NOT book anything'). It is trivially distinguishable from find_table_times and start_appointment_booking without opening either 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?

Explicitly ties usage to a prior find_table_times result and tells the agent what to do with the output ('give them the url promptly'). It does not name start_appointment_booking as the appointment-side alternative, so the routing across the two booking siblings is left implicit.

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