Skip to main content
Glama

Add Accommodation

add_my_accommodation
Destructive

Adds an unpriced room under a property in the selected wedding. The property is named by the id of a place already in the wedding or by a name, which uses the place with that name or starts a new one; a room name is required. An id that names no place in the wedding returns a not-found result. The new room has no payment requirement. Results return the saved room and its place's id and name, and say whether the call created that place. A new place is ordered by name among places that have not been reordered, so it is listed first once the properties have been reordered. Requires sign-in and an Aisle membership.

Input Schema

NameRequiredDescriptionDefault
capacityNoHow many it sleeps
room_nameYesThe room, e.g. "Garden Suite"
room_typeNoe.g. "Double", "Suite"
wedding_idNoIdentifier of a wedding the signed-in account can manage. Required when the account has multiple weddings.
descriptionNoRoom description
property_idNoIdentifier of a place already in the selected wedding, as an alternative to property_name.
check_in_dateNoCheck-in date (ISO format)
check_in_timeNoe.g. 3:00 PM
property_nameNoThe property this room belongs to, e.g. "Castel Fragsburg". A name no place has starts a new place. Either this or property_id.
check_in_notesNoCheck-in notes
check_out_dateNoCheck-out date (ISO format)
check_out_timeNoe.g. 11:00 AM

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / property_id
      Added value: +{
      +  "description": "Identifier of a place already in the selected wedding, as an alternative to property_name.",
      +  "format": "uuid",
      +  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +  "type": "string"
      +}
    • changedInput schema / properties / property_name / description
      Previous value: -"The property this room belongs to, e.g. \"Castel Fragsburg\""New value: +"The property this room belongs to, e.g. \"Castel Fragsburg\". A name no place has starts a new place. Either this or property_id."
    • changedInput schema / required
      Previous value: -[
      -  "property_name",
      -  "room_name"
      -]New value: +[
      +  "room_name"
      +]
  2. First observed

TDQS

A4.4/5.0
Behavior5/5

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

The description discloses a rich set of behavioral traits beyond annotations: the room is unpriced with no payment requirement, an invalid id returns not-found, results include the saved room and place info, and whether the call created the place. It also describes ordering behavior for new places. These are critical behaviors for a mutation tool with destructiveHint=true.

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?

The description is dense but well-structured, covering purpose, property logic, outcome behavior, and prerequisites in a logical flow. Every sentence adds value without redundancy.

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?

Given the absence of an output schema, the description does a good job explaining return values (saved room, place id/name, whether place was created). However, it doesn't cover all parameter behaviors or error cases beyond not-found, leaving some gaps for a 12-param tool.

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%, so the schema already documents all 12 parameters thoroughly. The description adds context about property_id vs property_name semantics (id names existing place, name creates or matches) and room_name being required, which is already in the schema. Marginal added value over structured data.

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 (adds) and resource (accommodation/room under a property in a wedding), and specifies the key constraint: it's an unpriced room with no payment requirement. This clearly distinguishes it from siblings like add_my_event and add_my_guest.

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 explains the property identification logic (id vs name) and when an id lookup fails (not-found result). It also notes sign-in and membership requirements. However, it doesn't explicitly contrast with update_my_accommodation or add_my_place alternatives.

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