Skip to main content
Glama

Reception layout planner

plan_reception_layout

Use this when someone wants to plan a wedding reception floor plan, figure out how many tables fit in a room, or check whether a venue space can hold their guest count with a dance floor, bar, buffet, DJ or band, and head table. Needs guest count; room dimensions in feet are optional (if missing, returns the space required instead of a fit check). Do not use for ceremony seating, seating assignments by name (use generate_seating_chart), or venue search.

Input Schema

NameRequiredDescriptionDefault
barsNo
cake_tableNo
head_tableNosweetheart
dance_floorNo
guest_countYesTotal guests, including the couple.
table_shapeNoround_60
food_serviceNoplated
entertainmentNodj
room_width_ftNoRoom width in feet.
room_length_ftNoRoom length in feet.
seats_per_tableNoDefaults by shape: round_60 8, round_72 10, rectangle_8ft 10, mixed 8.

Output Schema

NameRequiredDescriptionDefault
fitsYes
notesYes
zonesYesCorner positions in feet from the entrance corner; x along the length, y across the width.
tablesYesTable center positions in feet, same axes as zones.
room_ftYesThe room the positions are drawn in, in feet.
share_urlNoView-only link to this plan.
truncatedNoTrue when table positions were dropped to stay under 50 KB.
seats_neededYesOne seat per guest.
tables_neededYes
seats_availableYes
tables_that_fitYesTables placed in the room; fewer than tables_needed when the room is too small.
slack_square_feetYes
suggested_room_ftYes
square_feet_neededYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedOutput schema / properties / seats_needed
      Added value: +{
      +  "description": "One seat per guest.",
      +  "maximum": 9007199254740991,
      +  "minimum": -9007199254740991,
      +  "type": "integer"
      +}
    • addedOutput schema / properties / tables_that_fit
      Added value: +{
      +  "description": "Tables placed in the room; fewer than tables_needed when the room is too small.",
      +  "maximum": 9007199254740991,
      +  "minimum": -9007199254740991,
      +  "type": "integer"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "tables_needed",
      -  "seats_available",
      -  "square_feet_needed",
      -  "fits",
      -  "slack_square_feet",
      -  "suggested_room_ft",
      -  "room_ft",
      -  "zones",
      -  "tables",
      -  "notes"
      -]New value: +[
      +  "tables_needed",
      +  "seats_needed",
      +  "tables_that_fit",
      +  "seats_available",
      +  "square_feet_needed",
      +  "fits",
      +  "slack_square_feet",
      +  "suggested_room_ft",
      +  "room_ft",
      +  "zones",
      +  "tables",
      +  "notes"
      +]
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Adds genuinely non-obvious behavior beyond the annotations: when room dimensions are omitted the tool returns required space instead of a fit check — a different response mode that changes how the agent should interpret output. It also flags guest_count as mandatory while dimensions are not. The annotations (readOnlyHint=false, idempotentHint=false) are conservative for what is effectively a calculation tool, but the description does not contradict them outright, it simply under-describes persistence behavior.

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?

Front-loads the trigger phrase, keeps the exclusion clause last, and every sentence carries routing or behavioral information. The mid-sentence element list ('dance floor, bar, buffet, DJ or band, and head table') is slightly enumerative but usefully signals what the space calculation accounts for.

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?

With an output schema present, return values need no explanation, and the description still covers the dual output modes and the required precondition. For an 11-parameter tool it leans on defaults and enums to fill gaps, but nothing critical for a correct first call is missing.

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 only 36%, so the description carries extra weight, and it does explain the required/optional split and the conditional output for the two room-dimension parameters. However, the eight other parameters — table_shape, seats_per_table, food_service, entertainment, bars, cake_table, head_table — get their meaning only from enum values and defaults in the schema, not from the description.

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 concrete verb-plus-resource with three distinct capabilities (floor plan, table-count fitting, capacity check) and enumerates the elements it accounts for (dance floor, bar, buffet, DJ/band, head table). It also explicitly excludes ceremony seating and venue search, so an agent can separate it from siblings without opening any schema.

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?

Opens with an explicit 'use this when' trigger, then a 'do not use for' clause that names a sibling (generate_seating_chart) as the alternative for name-based seating assignments. It also states the one precondition (guest count required) versus the optional room dimensions.

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