guesty-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GUESTY_CLIENT_ID | Yes | OAuth2 client id from Guesty API | |
| IOT_WEBHOOK_PORT | No | Port for the Enterprise-tier IoT webhook receiver stub | 3100 |
| GUESTY_CLIENT_SECRET | Yes | OAuth2 client secret from Guesty API | |
| GUESTY_MCP_LICENSE_KEY | No | License key for paid tier (optional for free tier) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_reservationsC | Fetch reservations from Guesty. Filter by date range, listing, status, or guest name. |
| get_listingB | Fetch details about a specific property listing or all listings. |
| get_conversationsA | Fetch guest conversations/messages from Guesty. Get message history for a reservation or listing. |
| send_guest_messageA | Send a message to a guest in a Guesty conversation. |
| get_financialsB | Fetch financial data including revenue, payouts, and reservation financials. |
| update_pricingB | Update the base price for a listing on specific dates or the default base price. |
| create_reservationA | Create a new reservation/booking in Guesty. Use for direct bookings from your website. |
| get_reviewsA | Fetch guest reviews for your properties from all channels. |
| get_calendarA | Fetch calendar availability and pricing for a listing over a date range. |
| update_calendarA | Block or unblock dates, set minimum nights, or update availability for a listing. |
| respond_to_reviewA | Post a response to a guest review. |
| get_owner_statementsB | Fetch owner revenue statements/reports for properties. |
| get_expensesA | Fetch operational expenses tracked in Guesty. |
| get_channelsA | List connected booking channels (Airbnb, VRBO, Booking.com, etc.) and their status. |
| get_tasksC | Fetch cleaning and maintenance tasks from Guesty. |
| get_photosA | Fetch photos for a specific listing including URLs, captions, and sort order. |
| update_photosA | Replace or reorder photos for a listing. Provide the full array of photos in desired order. |
| get_calendar_blocksA | Get blocked dates and their reasons for a listing over a date range. |
| create_expenseB | Create a new expense record for a listing in Guesty. |
| get_guestsA | Fetch guest database/profiles. Search by name or email. |
| get_guest_by_idA | Get detailed guest profile by guest ID. |
| update_listingA | Update listing details such as title, description, amenities, min nights, and max guests. |
| get_automation_rulesA | List automation and workflow rules configured in Guesty. |
| create_taskA | Create a cleaning or maintenance task for a listing. |
| update_reservationB | Update reservation details such as status, dates, guest info, or add notes. |
| get_supported_languagesA | Get supported languages configured for a listing. |
| search_reservationsA | Search reservations by guest name, email, or confirmation code. |
| get_listing_occupancyA | Calculate occupancy rate for a listing over a date range. |
| get_revenue_summaryA | Get aggregated revenue summary across all or specific listings for a date range. |
| get_webhooksA | List all registered webhooks for your Guesty account. |
| create_webhookA | Register a new webhook to receive event notifications from Guesty. |
| delete_webhookA | Delete a registered webhook by ID. |
| get_custom_fieldsA | Fetch custom fields configured for listings or reservations. |
| get_account_infoA | Get current Guesty account information and subscription details. |
| get_reservation_financialsA | Get detailed financial breakdown for a specific reservation including payments, charges, and adjustments. |
| create_reservation_noteA | Add an internal note to a reservation visible only to the property management team. |
| get_listing_pricingA | Get pricing details for a listing including base price, weekly/monthly discounts, and extra fees. |
| update_listing_pricingB | Update pricing for a listing — base price, cleaning fee, extra person fee, and discounts. |
| get_license_infoA | Report this server's licensing state. Every registered tool is currently free; lists the tool ledger and whether a key was detected. Makes no Guesty API call. |
| get_readiness_scoreA | Calculate a 0-100 Physical Readiness Score for a property before guest check-in. Evaluates temperature, leak detection, door lock, humidity, critical alerts, and baseline photos. |
| get_property_healthA | Aggregate health signal per property: IoT device status + overall IoT state, current reservation status, 50-review average score, and last-clean timestamp. Single-call snapshot for ops dashboards. Sub-fetches that fail degrade gracefully (null value + error note). |
| submit_checkout_photosA | Accept post-checkout photo uploads and log them to the property's maintenance/cleaning record. Photos are queued for downstream inspection workflows (Phase 2 vision comparison). |
| get_maintenance_alertsA | List or filter open maintenance alerts for a specific property or across the whole portfolio. Supports severity filtering and active-only (unresolved) filtering. IoT-sourced today; future Phase will merge Guesty-native task alerts. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 43 tools
Multiple tools overlap significantly, such as get_reservations vs search_reservations, get_financials vs get_reservation_financials vs get_revenue_summary, and get_calendar vs get_calendar_blocks. This creates ambiguity about which tool to use for similar tasks.
Most tool names follow a get_/create_/update_/delete_ verb-noun pattern, but there are inconsistencies like search_reservations versus get_reservations, and respond_to_review/submit_checkout_photos breaking the standard CRUD style. The naming is mostly predictable but not fully uniform.
43 tools is excessive for the apparent scope, especially with many redundant or near-duplicate tools (e.g., get_financials, get_reservation_financials, get_revenue_summary, get_owner_statements). A leaner set with clearer separation would be more appropriate.
The tool set covers a wide range of property management operations—reservations, listings, pricing, calendar, guests, reviews, messaging, financials, webhooks, tasks, and maintenance. However, it lacks obvious CRUD operations for several core entities (e.g., no update_guest, no delete_reservation, no create_listing), leaving notable gaps.