Skip to main content
Glama
chrischall

easytable-mcp

by chrischall

easytable_create_booking

Book a restaurant table by submitting guest details, date, time, and party size. Requires an open booking-widget tab; confirm:true finalizes, otherwise returns a preview.

Instructions

Create a restaurant booking. Reads the Cloudflare Turnstile token from your signed-in booking-widget tab (via the bridge) and submits it with the reservation — so a book.easytable.com/book/?id= tab must be open and loaded. Without confirm: true it returns a dry-run preview and makes NO network call; with confirm: true it books.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesRestaurant id — the `id` in a book.easytable.com/book/?id=<id> link.
dateYesBooking date, ISO YYYY-MM-DD (from easytable_list_dates).
langNoWidget language code (en, se, da, …). Defaults to en.en
nameYesGuest name on the booking.
timeYesTime slot HH:MM (from easytable_list_times).
typeYesBooking area/type id from easytable_list_types.
emailNoGuest email.
eventNoOptional event id.
mobileYesGuest mobile in E.164 (e.g. +46701234567).
commentNoFree-text note / special requests.
companyNoOptional company name.
confirmNoMust be true to proceed. Without this, the tool returns a preview.
personsYesParty size.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.4.1
    • changedInput schema / properties / email / pattern
      Previous value: -"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"New value: +"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
  2. First observedv0.0.0

TDQS

A4.4/5.0
Behavior5/5

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

The description discloses substantial non-obvious behavior beyond annotations: reading the Cloudflare Turnstile token via the bridge, requiring an open tab, making NO network call without confirm: true, and booking only with confirm: true. This aligns with readOnlyHint=false and idempotentHint=false, with no contradiction.

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?

Three sentences with the core action front-loaded: each sentence earns its place by covering the tab prerequisite, the dry-run behavior, and the confirm gating. There is no filler or redundant detail.

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?

It covers the critical operational details needed to call the tool safely: the required tab, the Turnstile mechanism, and the confirm gate. It omits success/error behavior and return expectations, which is more noticeable given there is no output schema, but the essential prerequisites are fully specified.

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 coverage is 100%, and the schema already documents every parameter clearly, including the confirm preview behavior. The description's mention of the dry-run mirrors the schema's confirm description and adds no new semantic meaning beyond what the schema provides.

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 the specific action 'Create a restaurant booking' and then differentiates the operation from its siblings by explaining the dry-run vs confirmed booking behavior. It is unmistakably distinct from cancel/modify/list tools and leaves no ambiguity about what the tool does.

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?

It gives clear, concrete usage context: a book.easytable.com tab must be open and loaded, and confirm: true is required to actually book rather than preview. However, it does not explicitly name sibling alternatives or state when to prefer them, so it falls just short of full routing guidance.

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