Tool Reference: All 55 MCP Tools

Complete reference for every tool available through the HyperXI MCP server. Each tool can be invoked by your AI assistant through natural language.

Locations

4 tools
list_locations

List all locations for the tenant, optionally filtered by status.

Parameters

NameTypeRequiredDescription
statusstringnoFilter by status (active | inactive)

Example prompt

"List all my active locations"

get_location

Get a single location by ID.

Parameters

NameTypeRequiredDescription
idstring (uuid)yesLocation ID

Example prompt

"Show me the details for location abc-123"

create_location

Create a new location.

Parameters

NameTypeRequiredDescription
namestringyesLocation name
slugstringyesURL slug (lowercase, hyphens, numbers only)
timezonestringyesIANA timezone, e.g. America/Los_Angeles
addressstringnoStreet address
citystringnoCity
statestringnoState
zipstringnoZIP code
phonestringnoPhone number
emailstringnoEmail address
tax_rate_percentnumbernoTax rate as a percentage (0-100)
google_place_idstringnoGoogle Place ID

Example prompt

"Create a new location called Downtown in America/New_York timezone with slug downtown"

update_location

Update an existing location.

Parameters

NameTypeRequiredDescription
idstring (uuid)yesLocation ID
namestringnoLocation name
slugstringnoURL slug
timezonestringnoIANA timezone
addressstringnoStreet address
citystringnoCity
statestringnoState
zipstringnoZIP code
phonestringnoPhone number
emailstringnoEmail address
tax_rate_percentnumbernoTax rate as a percentage
google_place_idstringnoGoogle Place ID
statusstringnoactive | inactive

Example prompt

"Update the Downtown location's tax rate to 8.5%"

Rooms

4 tools
list_rooms

List all rooms, optionally filtered by location or status.

Parameters

NameTypeRequiredDescription
location_idstring (uuid)noFilter by location ID
statusstringnoFilter by status (active | inactive | maintenance)

Example prompt

"Show me all active rooms"

get_room

Get a single room by ID.

Parameters

NameTypeRequiredDescription
idstring (uuid)yesRoom ID

Example prompt

"Get the details for room xyz-789"

create_room

Create a new escape room.

Parameters

NameTypeRequiredDescription
namestringyesRoom name
slugstringyesURL slug
location_idstring (uuid)yesLocation this room belongs to
min_playersintegernoMinimum players (default 2)
max_playersintegernoMaximum players (default 8)
duration_minutesintegernoSession duration in minutes (default 60)
pricing_typestringnoflat | per_person | tiered
base_price_centsintegernoBase price in cents
descriptionstringnoRoom description
difficultystringnoeasy | medium | hard | expert
metadataobjectnoArbitrary metadata key-value pairs
sort_orderintegernoDisplay sort order

Example prompt

"Create a room called The Vault at the downtown location, hard difficulty, 60 mins, $35/person for 2-6 players"

update_room

Update an existing room.

Parameters

NameTypeRequiredDescription
idstring (uuid)yesRoom ID
namestringnoRoom name
slugstringnoURL slug
location_idstring (uuid)noLocation ID
min_playersintegernoMinimum players
max_playersintegernoMaximum players
duration_minutesintegernoSession duration in minutes
pricing_typestringnoflat | per_person | tiered
base_price_centsintegernoBase price in cents
descriptionstringnoRoom description
difficultystringnoeasy | medium | hard | expert
statusstringnoactive | inactive | maintenance
metadataobjectnoArbitrary metadata
sort_orderintegernoDisplay sort order

Example prompt

"Put The Vault into maintenance mode"

Room Media

4 tools
list_room_media

List all media (images) for a specific room. Returns URLs, thumbnails, dimensions, and which image is set as primary.

Parameters

NameTypeRequiredDescription
room_idstring (uuid)yesRoom ID

Example prompt

"Show me all images for The Vault"

delete_room_media

Delete a media item from a room. This soft-deletes the record and removes the file from storage.

Parameters

NameTypeRequiredDescription
room_idstring (uuid)yesRoom ID
media_idstring (uuid)yesMedia ID

Example prompt

"Delete the second image from The Vault"

set_primary_image

Set a specific media item as the primary (featured) image for a room. The primary image is displayed prominently on the booking page.

Parameters

NameTypeRequiredDescription
room_idstring (uuid)yesRoom ID
media_idstring (uuid)yesMedia ID

Example prompt

"Set the new hero shot as the primary image for The Vault"

reorder_room_media

Reorder media items for a room. Provide the media IDs in the desired display order.

Parameters

NameTypeRequiredDescription
room_idstring (uuid)yesRoom ID
media_idsarray of uuidyesMedia IDs in desired display order

Example prompt

"Move the hero shot to position 1 for The Vault"

Schedules

6 tools
list_schedule_templates

List schedule templates for a room. Templates define recurring time slots.

Parameters

NameTypeRequiredDescription
room_idstring (uuid)yesRoom ID to list templates for

Example prompt

"Show me the schedule templates for The Vault"

create_schedule_template

Create a recurring schedule template for a room (e.g. every Monday at 10:00).

Parameters

NameTypeRequiredDescription
room_idstring (uuid)yesRoom ID
day_of_weekintegeryesDay of week: 0=Sunday, 1=Monday, ..., 6=Saturday
start_timestringyesStart time in HH:MM format (24h)
capacityintegernoNumber of concurrent bookings allowed (default 1)

Example prompt

"Add a 2pm slot for The Vault every Saturday"

update_schedule_template

Update a schedule template.

Parameters

NameTypeRequiredDescription
idstring (uuid)yesTemplate ID
day_of_weekintegernoDay of week (0-6)
start_timestringnoStart time in HH:MM format
capacityintegernoConcurrent booking capacity
is_activebooleannoWhether the template is active

Example prompt

"Disable the Monday 10am slot for The Vault"

get_available_slots

Get available booking slots for a room in a date range.

Parameters

NameTypeRequiredDescription
room_idstring (uuid)yesRoom ID
start_datestringyesStart date in YYYY-MM-DD format
end_datestringyesEnd date in YYYY-MM-DD format

Example prompt

"What slots are available for The Vault this weekend?"

create_schedule_override

Create a one-off schedule override for a specific date (add, remove, modify, or blackout a slot).

Parameters

NameTypeRequiredDescription
room_idstring (uuid)yesRoom ID
override_datestringyesDate in YYYY-MM-DD format
override_typestringyesadd | remove | modify | blackout
start_timestringnoStart time in HH:MM format (required for add/modify)
capacityintegernoOverride capacity
reasonstringnoReason for the override (max 255 chars)

Example prompt

"Block out all slots on December 25 for all rooms -- Christmas closure"

generate_slots

Generate concrete booking slots from schedule templates for the next N days.

Parameters

NameTypeRequiredDescription
room_idstring (uuid)noRoom ID (optional, all rooms if omitted)
daysintegernoNumber of days to generate (1-90, default 30)

Example prompt

"Generate slots for the next 60 days for all rooms"

Bookings

9 tools
create_booking

Create a new booking for a customer.

Parameters

NameTypeRequiredDescription
slot_idstring (uuid)yesSlot ID to book
room_idstring (uuid)yesRoom ID
party_sizeintegeryesNumber of people in the party
customer_namestringyesCustomer full name
customer_emailstring (email)yesCustomer email address
customer_phonestringnoCustomer phone number
newsletter_opt_inbooleannoNewsletter opt-in
sms_opt_inbooleannoSMS opt-in

Example prompt

"Book the 3pm slot on Saturday for John Smith, john@example.com, party of 4"

get_booking

Get a single booking by ID with full details.

Parameters

NameTypeRequiredDescription
idstring (uuid)yesBooking ID

Example prompt

"Show me booking abc-123"

list_bookings

List bookings with optional filters for status, room, date range, and limit.

Parameters

NameTypeRequiredDescription
statusstringnopending | confirmed | completed | cancelled | no_show
room_idstring (uuid)noFilter by room ID
start_datestringnoFilter from date (YYYY-MM-DD)
end_datestringnoFilter to date (YYYY-MM-DD)
limitintegernoMax number of results (1-100)

Example prompt

"Show me all confirmed bookings for this week"

cancel_booking

Cancel a booking with a reason.

Parameters

NameTypeRequiredDescription
idstring (uuid)yesBooking ID
reasonstringyesCancellation reason

Example prompt

"Cancel booking abc-123 -- customer requested reschedule"

mark_completed

Mark a booking as completed after the session finishes.

Parameters

NameTypeRequiredDescription
idstring (uuid)yesBooking ID

Example prompt

"Mark the 2pm booking as completed"

mark_no_show

Mark a booking as no-show when the customer does not arrive.

Parameters

NameTypeRequiredDescription
idstring (uuid)yesBooking ID

Example prompt

"The 4pm group for The Vault didn't show up, mark it as no-show"

reschedule_booking

Reschedule a booking to a different time slot. The booking must be confirmed or pending, and the new slot must be for the same room with available capacity. Use find_next_available to find available slots first.

Parameters

NameTypeRequiredDescription
booking_idstring (uuid)yesBooking ID to reschedule
new_slot_idstring (uuid)yesTarget slot ID to move the booking to

Example prompt

"Reschedule booking abc-123 to the 5pm slot on Saturday"

update_booking

Update a booking's party size or internal notes. Party size changes automatically recalculate pricing for per-person rooms. Use this when a customer calls to add or remove players.

Parameters

NameTypeRequiredDescription
booking_idstring (uuid)yesBooking ID to update
party_sizeintegernoNew party size
notesstringnoInternal admin notes

Example prompt

"Update booking abc-123 to a party of 6 and add a note that they need wheelchair access"

export_bookings

Export all bookings as structured data with customer info, room details, dates, pricing, and status. Useful for reporting, analysis, or data migration. Optionally filter by date range.

Parameters

NameTypeRequiredDescription
start_datestringnoFilter start date in YYYY-MM-DD
end_datestringnoFilter end date in YYYY-MM-DD

Example prompt

"Export all bookings from March 2026"

Vouchers

4 tools
list_vouchers

List all gift vouchers for the tenant.

Parameters

No parameters required.

Example prompt

"Show me all gift vouchers"

get_voucher_balance

Check the remaining balance on a voucher by its code.

Parameters

NameTypeRequiredDescription
codestringyesVoucher code

Example prompt

"What's the balance on voucher code GIFT-ABC123?"

create_voucher

Create (purchase) a new gift voucher.

Parameters

NameTypeRequiredDescription
amount_centsintegeryesVoucher value in cents
purchaser_namestringyesName of purchaser
purchaser_emailstring (email)yesEmail of purchaser
recipient_namestringnoName of recipient
recipient_emailstring (email)noEmail of recipient

Example prompt

"Create a $100 gift voucher from Jane Doe jane@example.com for her friend Bob bob@example.com"

revoke_voucher

Revoke an active voucher so it can no longer be redeemed.

Parameters

NameTypeRequiredDescription
idstring (uuid)yesVoucher ID

Example prompt

"Revoke voucher xyz-456 -- it was issued by mistake"

Discounts

4 tools
create_discount_code

Create a new discount code.

Parameters

NameTypeRequiredDescription
codestringyesDiscount code (will be uppercased)
discount_typestringyespercentage | fixed
discount_valueintegeryesDiscount value (percentage points or cents)
valid_fromstringyesISO datetime when the code becomes valid
valid_untilstringyesISO datetime when the code expires
min_booking_centsintegernoMinimum booking amount in cents
max_usesintegernoMaximum total uses
max_uses_per_customerintegernoMaximum uses per customer
applicable_room_idsarray of uuidnoRoom IDs this code applies to
applicable_location_idsarray of uuidnoLocation IDs this code applies to
is_activebooleannoWhether the code is active

Example prompt

"Create a 20% off code SPRING20 valid from April 1 to April 30, max 50 uses"

list_discount_codes

List all discount codes for the tenant.

Parameters

No parameters required.

Example prompt

"Show me all discount codes"

validate_discount

Validate whether a discount code can be applied to a specific booking.

Parameters

NameTypeRequiredDescription
codestringyesDiscount code to validate
room_idstring (uuid)yesRoom ID for the booking
booking_amount_centsintegeryesBooking amount in cents

Example prompt

"Can SPRING20 be used for a $120 booking at The Vault?"

deactivate_discount_code

Deactivate a discount code so it can no longer be used.

Parameters

NameTypeRequiredDescription
idstring (uuid)yesDiscount code ID

Example prompt

"Deactivate the SUMMER10 discount code"

Refunds

2 tools
process_refund

Process a refund for a booking (to card or voucher).

Parameters

NameTypeRequiredDescription
booking_idstring (uuid)yesBooking ID to refund
amount_centsintegeryesRefund amount in cents
refund_reasonstringyescustomer_request | duplicate | fraudulent | scheduling_conflict | service_issue | other
reason_detailstringnoAdditional detail about the refund reason (max 1000 chars)
refund_destinationstringnocard | voucher (default: card)

Example prompt

"Refund $35 to the customer's card for booking abc-123 -- scheduling conflict"

list_refunds

List all refunds for a specific booking.

Parameters

NameTypeRequiredDescription
booking_idstring (uuid)yesBooking ID

Example prompt

"Show all refunds for booking abc-123"

Waivers

2 tools
get_waiver_status

Get waiver signing status for all participants in a booking.

Parameters

NameTypeRequiredDescription
booking_idstring (uuid)yesBooking ID

Example prompt

"Have all participants signed waivers for the 3pm booking?"

get_waiver_template

Get the current waiver template for the tenant.

Parameters

No parameters required.

Example prompt

"Show me our current waiver template"

Employees

2 tools
list_employees

List employees for the tenant, optionally filtered by role or status.

Parameters

NameTypeRequiredDescription
rolestringnoFilter by role (tenant_admin | manager | employee)
statusstringnoFilter by status

Example prompt

"Show me all managers"

invite_employee

Invite a new employee to the tenant by email.

Parameters

NameTypeRequiredDescription
emailstring (email)yesEmployee email address
rolestringyestenant_admin | manager | employee
location_idsarray of uuidnoLocation IDs the employee can access

Example prompt

"Invite sarah@myescaperoom.com as a manager for the Downtown location"

Reports

3 tools
booking_summary

Get a booking summary report for a date range.

Parameters

NameTypeRequiredDescription
start_datestringyesStart date in YYYY-MM-DD format
end_datestringyesEnd date in YYYY-MM-DD format

Example prompt

"Give me a booking summary for last month"

revenue_report

Get a revenue report for a date range.

Parameters

NameTypeRequiredDescription
start_datestringyesStart date in YYYY-MM-DD format
end_datestringyesEnd date in YYYY-MM-DD format

Example prompt

"How much revenue did we make in Q1?"

occupancy_report

Get an occupancy report showing slot utilization for a date range.

Parameters

NameTypeRequiredDescription
start_datestringyesStart date in YYYY-MM-DD format
end_datestringyesEnd date in YYYY-MM-DD format

Example prompt

"What's our occupancy rate this month?"

Settings

2 tools
get_settings

Get the current tenant settings (branding, booking rules, notification config).

Parameters

No parameters required.

Example prompt

"Show me our current settings"

update_settings

Update tenant settings. Provide one or more config sections to update.

Parameters

NameTypeRequiredDescription
configobjectyesSettings config with optional sections: branding (primaryColor, logoUrl), booking (cancellationWindowHours, minAdvanceBookingHours, requireWaiverBeforeEntry), notifications (smsEnabled, reminderIntervals)

Example prompt

"Set the cancellation window to 48 hours and require waivers before entry"

Compound Tools

9 tools
find_next_available

Find the next available booking slots across rooms for a given party size. Searches from a preferred date forward, filters rooms by player capacity, and returns the top 10 closest available slots ranked by date proximity.

Parameters

NameTypeRequiredDescription
preferred_datestringyesPreferred date in YYYY-MM-DD format
party_sizeintegeryesNumber of people in the party
room_idstring (uuid)noSearch only this room
days_to_searchintegernoNumber of days to search forward (1-14, default 7)

Example prompt

"When can a group of 5 book this weekend?"

block_holiday_schedule

Block out one or more rooms for a date range (e.g. holidays, maintenance windows). Creates blackout overrides for every room on every date in the range, and warns about any existing bookings that conflict.

Parameters

NameTypeRequiredDescription
start_datestringyesStart date in YYYY-MM-DD format
end_datestringyesEnd date in YYYY-MM-DD format (inclusive)
room_idsarray of uuidnoSpecific room IDs to block (all active rooms if omitted)
reasonstringyesReason for the blackout (e.g. "Christmas closure")

Example prompt

"Block all rooms from December 24-26 for the Christmas holiday"

run_daily_briefing

Generate a comprehensive daily briefing for a given date. Pulls today's bookings, booking/revenue/occupancy reports, active vouchers, and waiver status for each confirmed/pending booking. Returns a single structured overview for morning standup or shift handoff.

Parameters

NameTypeRequiredDescription
datestringnoDate in YYYY-MM-DD format (defaults to today)

Example prompt

"Give me the daily briefing"

create_flash_sale

Create a time-limited flash sale discount code. Generates a unique FLASH-XXXX code with the specified discount, automatically sets valid_from to now and valid_until to now + valid_hours.

Parameters

NameTypeRequiredDescription
discount_typestringyespercentage | fixed
discount_valueintegeryesDiscount value (percentage points or cents)
valid_hoursintegernoHours the sale runs (1-72, default 24)
room_idsarray of uuidnoLimit sale to specific rooms
max_usesintegernoMaximum redemptions allowed (default 50)

Example prompt

"Create a 25% off flash sale for The Vault, good for 6 hours"

end_of_day_summary

Generate an end-of-day summary for a given date. Pulls the day's bookings, booking summary report, revenue report, and checks for refunds on completed/confirmed bookings.

Parameters

NameTypeRequiredDescription
datestringnoDate in YYYY-MM-DD format (defaults to today)

Example prompt

"Give me the end-of-day summary"

check_booking_health

Run a health check on a single booking. Verifies booking confirmation status, waiver signing, whether the slot is in the future, and that the booking is not cancelled. Returns a checklist with pass/warn/fail for each item.

Parameters

NameTypeRequiredDescription
booking_idstring (uuid)yesBooking ID to check

Example prompt

"Check that the 3pm booking is ready to go"

get_customer_history

Get a complete customer profile by email address. Returns all bookings, gift vouchers, and signed waivers associated with that email across the tenant. Includes a summary with total bookings, total spent, first and last visit dates.

Parameters

NameTypeRequiredDescription
emailstring (email)yesCustomer email address

Example prompt

"Pull up everything we have on john@example.com"

bulk_reschedule

Move all confirmed bookings from one date to another. Finds equivalent time slots on the target date (same room, same time of day) and moves bookings atomically. Reports which bookings were moved and which could not be.

Parameters

NameTypeRequiredDescription
from_datestringyesSource date in YYYY-MM-DD format
to_datestringyesTarget date in YYYY-MM-DD format
room_idsarray of uuidnoLimit to specific rooms (all rooms if omitted)
reasonstringyesReason for the reschedule (e.g. "Weather closure")

Example prompt

"Move all bookings from Saturday to next Saturday -- weather closure"

suggest_pricing

Analyze historical occupancy by room and day of week, and suggest pricing adjustments. Recommends raising prices on high-demand days (>85% occupancy) and lowering or promoting on low-demand days (<30% occupancy).

Parameters

NameTypeRequiredDescription
weeks_backintegernoNumber of weeks of history to analyze (1-52, default 8)

Example prompt

"Analyze our pricing and suggest adjustments based on demand"