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 toolslist_locationsList all locations for the tenant, optionally filtered by status.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
status | string | no | Filter by status (active | inactive) |
Example prompt
"List all my active locations"
get_locationGet a single location by ID.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | yes | Location ID |
Example prompt
"Show me the details for location abc-123"
create_locationCreate a new location.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
name | string | yes | Location name |
slug | string | yes | URL slug (lowercase, hyphens, numbers only) |
timezone | string | yes | IANA timezone, e.g. America/Los_Angeles |
address | string | no | Street address |
city | string | no | City |
state | string | no | State |
zip | string | no | ZIP code |
phone | string | no | Phone number |
email | string | no | Email address |
tax_rate_percent | number | no | Tax rate as a percentage (0-100) |
google_place_id | string | no | Google Place ID |
Example prompt
"Create a new location called Downtown in America/New_York timezone with slug downtown"
update_locationUpdate an existing location.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | yes | Location ID |
name | string | no | Location name |
slug | string | no | URL slug |
timezone | string | no | IANA timezone |
address | string | no | Street address |
city | string | no | City |
state | string | no | State |
zip | string | no | ZIP code |
phone | string | no | Phone number |
email | string | no | Email address |
tax_rate_percent | number | no | Tax rate as a percentage |
google_place_id | string | no | Google Place ID |
status | string | no | active | inactive |
Example prompt
"Update the Downtown location's tax rate to 8.5%"
Rooms
4 toolslist_roomsList all rooms, optionally filtered by location or status.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
location_id | string (uuid) | no | Filter by location ID |
status | string | no | Filter by status (active | inactive | maintenance) |
Example prompt
"Show me all active rooms"
get_roomGet a single room by ID.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | yes | Room ID |
Example prompt
"Get the details for room xyz-789"
create_roomCreate a new escape room.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
name | string | yes | Room name |
slug | string | yes | URL slug |
location_id | string (uuid) | yes | Location this room belongs to |
min_players | integer | no | Minimum players (default 2) |
max_players | integer | no | Maximum players (default 8) |
duration_minutes | integer | no | Session duration in minutes (default 60) |
pricing_type | string | no | flat | per_person | tiered |
base_price_cents | integer | no | Base price in cents |
description | string | no | Room description |
difficulty | string | no | easy | medium | hard | expert |
metadata | object | no | Arbitrary metadata key-value pairs |
sort_order | integer | no | Display 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_roomUpdate an existing room.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | yes | Room ID |
name | string | no | Room name |
slug | string | no | URL slug |
location_id | string (uuid) | no | Location ID |
min_players | integer | no | Minimum players |
max_players | integer | no | Maximum players |
duration_minutes | integer | no | Session duration in minutes |
pricing_type | string | no | flat | per_person | tiered |
base_price_cents | integer | no | Base price in cents |
description | string | no | Room description |
difficulty | string | no | easy | medium | hard | expert |
status | string | no | active | inactive | maintenance |
metadata | object | no | Arbitrary metadata |
sort_order | integer | no | Display sort order |
Example prompt
"Put The Vault into maintenance mode"
Room Media
4 toolslist_room_mediaList all media (images) for a specific room. Returns URLs, thumbnails, dimensions, and which image is set as primary.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
room_id | string (uuid) | yes | Room ID |
Example prompt
"Show me all images for The Vault"
delete_room_mediaDelete a media item from a room. This soft-deletes the record and removes the file from storage.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
room_id | string (uuid) | yes | Room ID |
media_id | string (uuid) | yes | Media ID |
Example prompt
"Delete the second image from The Vault"
set_primary_imageSet a specific media item as the primary (featured) image for a room. The primary image is displayed prominently on the booking page.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
room_id | string (uuid) | yes | Room ID |
media_id | string (uuid) | yes | Media ID |
Example prompt
"Set the new hero shot as the primary image for The Vault"
reorder_room_mediaReorder media items for a room. Provide the media IDs in the desired display order.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
room_id | string (uuid) | yes | Room ID |
media_ids | array of uuid | yes | Media IDs in desired display order |
Example prompt
"Move the hero shot to position 1 for The Vault"
Schedules
6 toolslist_schedule_templatesList schedule templates for a room. Templates define recurring time slots.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
room_id | string (uuid) | yes | Room ID to list templates for |
Example prompt
"Show me the schedule templates for The Vault"
create_schedule_templateCreate a recurring schedule template for a room (e.g. every Monday at 10:00).
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
room_id | string (uuid) | yes | Room ID |
day_of_week | integer | yes | Day of week: 0=Sunday, 1=Monday, ..., 6=Saturday |
start_time | string | yes | Start time in HH:MM format (24h) |
capacity | integer | no | Number of concurrent bookings allowed (default 1) |
Example prompt
"Add a 2pm slot for The Vault every Saturday"
update_schedule_templateUpdate a schedule template.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | yes | Template ID |
day_of_week | integer | no | Day of week (0-6) |
start_time | string | no | Start time in HH:MM format |
capacity | integer | no | Concurrent booking capacity |
is_active | boolean | no | Whether the template is active |
Example prompt
"Disable the Monday 10am slot for The Vault"
get_available_slotsGet available booking slots for a room in a date range.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
room_id | string (uuid) | yes | Room ID |
start_date | string | yes | Start date in YYYY-MM-DD format |
end_date | string | yes | End date in YYYY-MM-DD format |
Example prompt
"What slots are available for The Vault this weekend?"
create_schedule_overrideCreate a one-off schedule override for a specific date (add, remove, modify, or blackout a slot).
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
room_id | string (uuid) | yes | Room ID |
override_date | string | yes | Date in YYYY-MM-DD format |
override_type | string | yes | add | remove | modify | blackout |
start_time | string | no | Start time in HH:MM format (required for add/modify) |
capacity | integer | no | Override capacity |
reason | string | no | Reason for the override (max 255 chars) |
Example prompt
"Block out all slots on December 25 for all rooms -- Christmas closure"
generate_slotsGenerate concrete booking slots from schedule templates for the next N days.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
room_id | string (uuid) | no | Room ID (optional, all rooms if omitted) |
days | integer | no | Number of days to generate (1-90, default 30) |
Example prompt
"Generate slots for the next 60 days for all rooms"
Bookings
9 toolscreate_bookingCreate a new booking for a customer.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
slot_id | string (uuid) | yes | Slot ID to book |
room_id | string (uuid) | yes | Room ID |
party_size | integer | yes | Number of people in the party |
customer_name | string | yes | Customer full name |
customer_email | string (email) | yes | Customer email address |
customer_phone | string | no | Customer phone number |
newsletter_opt_in | boolean | no | Newsletter opt-in |
sms_opt_in | boolean | no | SMS opt-in |
Example prompt
"Book the 3pm slot on Saturday for John Smith, john@example.com, party of 4"
get_bookingGet a single booking by ID with full details.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | yes | Booking ID |
Example prompt
"Show me booking abc-123"
list_bookingsList bookings with optional filters for status, room, date range, and limit.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
status | string | no | pending | confirmed | completed | cancelled | no_show |
room_id | string (uuid) | no | Filter by room ID |
start_date | string | no | Filter from date (YYYY-MM-DD) |
end_date | string | no | Filter to date (YYYY-MM-DD) |
limit | integer | no | Max number of results (1-100) |
Example prompt
"Show me all confirmed bookings for this week"
cancel_bookingCancel a booking with a reason.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | yes | Booking ID |
reason | string | yes | Cancellation reason |
Example prompt
"Cancel booking abc-123 -- customer requested reschedule"
mark_completedMark a booking as completed after the session finishes.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | yes | Booking ID |
Example prompt
"Mark the 2pm booking as completed"
mark_no_showMark a booking as no-show when the customer does not arrive.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | yes | Booking ID |
Example prompt
"The 4pm group for The Vault didn't show up, mark it as no-show"
reschedule_bookingReschedule 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
| Name | Type | Required | Description |
|---|---|---|---|
booking_id | string (uuid) | yes | Booking ID to reschedule |
new_slot_id | string (uuid) | yes | Target slot ID to move the booking to |
Example prompt
"Reschedule booking abc-123 to the 5pm slot on Saturday"
update_bookingUpdate 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
| Name | Type | Required | Description |
|---|---|---|---|
booking_id | string (uuid) | yes | Booking ID to update |
party_size | integer | no | New party size |
notes | string | no | Internal admin notes |
Example prompt
"Update booking abc-123 to a party of 6 and add a note that they need wheelchair access"
export_bookingsExport 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
| Name | Type | Required | Description |
|---|---|---|---|
start_date | string | no | Filter start date in YYYY-MM-DD |
end_date | string | no | Filter end date in YYYY-MM-DD |
Example prompt
"Export all bookings from March 2026"
Vouchers
4 toolslist_vouchersList all gift vouchers for the tenant.
Parameters
No parameters required.
Example prompt
"Show me all gift vouchers"
get_voucher_balanceCheck the remaining balance on a voucher by its code.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
code | string | yes | Voucher code |
Example prompt
"What's the balance on voucher code GIFT-ABC123?"
create_voucherCreate (purchase) a new gift voucher.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
amount_cents | integer | yes | Voucher value in cents |
purchaser_name | string | yes | Name of purchaser |
purchaser_email | string (email) | yes | Email of purchaser |
recipient_name | string | no | Name of recipient |
recipient_email | string (email) | no | Email of recipient |
Example prompt
"Create a $100 gift voucher from Jane Doe jane@example.com for her friend Bob bob@example.com"
revoke_voucherRevoke an active voucher so it can no longer be redeemed.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | yes | Voucher ID |
Example prompt
"Revoke voucher xyz-456 -- it was issued by mistake"
Discounts
4 toolscreate_discount_codeCreate a new discount code.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
code | string | yes | Discount code (will be uppercased) |
discount_type | string | yes | percentage | fixed |
discount_value | integer | yes | Discount value (percentage points or cents) |
valid_from | string | yes | ISO datetime when the code becomes valid |
valid_until | string | yes | ISO datetime when the code expires |
min_booking_cents | integer | no | Minimum booking amount in cents |
max_uses | integer | no | Maximum total uses |
max_uses_per_customer | integer | no | Maximum uses per customer |
applicable_room_ids | array of uuid | no | Room IDs this code applies to |
applicable_location_ids | array of uuid | no | Location IDs this code applies to |
is_active | boolean | no | Whether the code is active |
Example prompt
"Create a 20% off code SPRING20 valid from April 1 to April 30, max 50 uses"
list_discount_codesList all discount codes for the tenant.
Parameters
No parameters required.
Example prompt
"Show me all discount codes"
validate_discountValidate whether a discount code can be applied to a specific booking.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
code | string | yes | Discount code to validate |
room_id | string (uuid) | yes | Room ID for the booking |
booking_amount_cents | integer | yes | Booking amount in cents |
Example prompt
"Can SPRING20 be used for a $120 booking at The Vault?"
deactivate_discount_codeDeactivate a discount code so it can no longer be used.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | yes | Discount code ID |
Example prompt
"Deactivate the SUMMER10 discount code"
Refunds
2 toolsprocess_refundProcess a refund for a booking (to card or voucher).
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
booking_id | string (uuid) | yes | Booking ID to refund |
amount_cents | integer | yes | Refund amount in cents |
refund_reason | string | yes | customer_request | duplicate | fraudulent | scheduling_conflict | service_issue | other |
reason_detail | string | no | Additional detail about the refund reason (max 1000 chars) |
refund_destination | string | no | card | voucher (default: card) |
Example prompt
"Refund $35 to the customer's card for booking abc-123 -- scheduling conflict"
list_refundsList all refunds for a specific booking.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
booking_id | string (uuid) | yes | Booking ID |
Example prompt
"Show all refunds for booking abc-123"
Waivers
2 toolsget_waiver_statusGet waiver signing status for all participants in a booking.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
booking_id | string (uuid) | yes | Booking ID |
Example prompt
"Have all participants signed waivers for the 3pm booking?"
get_waiver_templateGet the current waiver template for the tenant.
Parameters
No parameters required.
Example prompt
"Show me our current waiver template"
Employees
2 toolslist_employeesList employees for the tenant, optionally filtered by role or status.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
role | string | no | Filter by role (tenant_admin | manager | employee) |
status | string | no | Filter by status |
Example prompt
"Show me all managers"
invite_employeeInvite a new employee to the tenant by email.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
email | string (email) | yes | Employee email address |
role | string | yes | tenant_admin | manager | employee |
location_ids | array of uuid | no | Location IDs the employee can access |
Example prompt
"Invite sarah@myescaperoom.com as a manager for the Downtown location"
Reports
3 toolsbooking_summaryGet a booking summary report for a date range.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
start_date | string | yes | Start date in YYYY-MM-DD format |
end_date | string | yes | End date in YYYY-MM-DD format |
Example prompt
"Give me a booking summary for last month"
revenue_reportGet a revenue report for a date range.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
start_date | string | yes | Start date in YYYY-MM-DD format |
end_date | string | yes | End date in YYYY-MM-DD format |
Example prompt
"How much revenue did we make in Q1?"
occupancy_reportGet an occupancy report showing slot utilization for a date range.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
start_date | string | yes | Start date in YYYY-MM-DD format |
end_date | string | yes | End date in YYYY-MM-DD format |
Example prompt
"What's our occupancy rate this month?"
Settings
2 toolsget_settingsGet the current tenant settings (branding, booking rules, notification config).
Parameters
No parameters required.
Example prompt
"Show me our current settings"
update_settingsUpdate tenant settings. Provide one or more config sections to update.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
config | object | yes | Settings 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 toolsfind_next_availableFind 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
| Name | Type | Required | Description |
|---|---|---|---|
preferred_date | string | yes | Preferred date in YYYY-MM-DD format |
party_size | integer | yes | Number of people in the party |
room_id | string (uuid) | no | Search only this room |
days_to_search | integer | no | Number of days to search forward (1-14, default 7) |
Example prompt
"When can a group of 5 book this weekend?"
block_holiday_scheduleBlock 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
| Name | Type | Required | Description |
|---|---|---|---|
start_date | string | yes | Start date in YYYY-MM-DD format |
end_date | string | yes | End date in YYYY-MM-DD format (inclusive) |
room_ids | array of uuid | no | Specific room IDs to block (all active rooms if omitted) |
reason | string | yes | Reason for the blackout (e.g. "Christmas closure") |
Example prompt
"Block all rooms from December 24-26 for the Christmas holiday"
run_daily_briefingGenerate 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
| Name | Type | Required | Description |
|---|---|---|---|
date | string | no | Date in YYYY-MM-DD format (defaults to today) |
Example prompt
"Give me the daily briefing"
create_flash_saleCreate 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
| Name | Type | Required | Description |
|---|---|---|---|
discount_type | string | yes | percentage | fixed |
discount_value | integer | yes | Discount value (percentage points or cents) |
valid_hours | integer | no | Hours the sale runs (1-72, default 24) |
room_ids | array of uuid | no | Limit sale to specific rooms |
max_uses | integer | no | Maximum redemptions allowed (default 50) |
Example prompt
"Create a 25% off flash sale for The Vault, good for 6 hours"
end_of_day_summaryGenerate 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
| Name | Type | Required | Description |
|---|---|---|---|
date | string | no | Date in YYYY-MM-DD format (defaults to today) |
Example prompt
"Give me the end-of-day summary"
check_booking_healthRun 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
| Name | Type | Required | Description |
|---|---|---|---|
booking_id | string (uuid) | yes | Booking ID to check |
Example prompt
"Check that the 3pm booking is ready to go"
get_customer_historyGet 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
| Name | Type | Required | Description |
|---|---|---|---|
email | string (email) | yes | Customer email address |
Example prompt
"Pull up everything we have on john@example.com"
bulk_rescheduleMove 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
| Name | Type | Required | Description |
|---|---|---|---|
from_date | string | yes | Source date in YYYY-MM-DD format |
to_date | string | yes | Target date in YYYY-MM-DD format |
room_ids | array of uuid | no | Limit to specific rooms (all rooms if omitted) |
reason | string | yes | Reason for the reschedule (e.g. "Weather closure") |
Example prompt
"Move all bookings from Saturday to next Saturday -- weather closure"
suggest_pricingAnalyze 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
| Name | Type | Required | Description |
|---|---|---|---|
weeks_back | integer | no | Number of weeks of history to analyze (1-52, default 8) |
Example prompt
"Analyze our pricing and suggest adjustments based on demand"