HemmaBo Host Booking Engine
Server Details
Host-owned vacation-rental direct booking via VRP. Signed offers, 0% commission. Not an OTA.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- HemmaBo-se/hemmabo-mcp-server
- GitHub Stars
- 1
- Server Listing
- HemmaBo
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.7/5 across 15 of 15 tools scored.
Each tool has a clearly distinct purpose: search, availability, comparison, pricing, booking with different payment flows, post-booking actions, host verification, and onboarding. The descriptions explicitly state when to use each tool and when not to, eliminating ambiguity.
Most tools follow the hemmabo_<verb>_<noun> pattern (e.g., hemmabo_booking_cancel, hemmabo_search_properties). Two tools (get_verified_stay_offer, verify_vacation_rental_node) use a different but still clear pattern. The naming is mostly consistent and readable.
15 tools is an appropriate number for a booking engine covering search, verification, pricing, booking, post-booking, and host onboarding. Each tool serves a distinct role without feeling excessive or sparse.
The tool set covers the full booking lifecycle: discovery (search, similar, compare), verification (node, offer), pricing (quote, negotiate), booking (checkout, create), and post-booking (status, cancel, reschedule). Minor gaps exist (e.g., no partial modification), but the core workflows are well-supported.
Available Tools
13 toolsget_verified_stay_offerRead-onlyIdempotentInspect
Fetch, verify, and render a live host-domain signed VRP stay offer for exact dates and guest count. Verifies Ed25519 JWS against domain JWKS. Call after search returns a host domain, always before quoting final price or a booking link. Read-only: must not lock a quote, create a booking, collect guest details, or start checkout. Route booking only to the signed direct_booking_url on the host domain. The parameters work as a set: pass the same domain, checkIn, checkOut and guests the guest used at search; checkIn must be strictly before checkOut, and the resulting night count — not the dates themselves — drives the signed price and the host capacity check, so changing either date re-prices the offer. Always pass language as the guest's actual conversation language so the rendered widget matches the guest; it never affects the signed price or availability, only formatting.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Host-owned domain without protocol or path (e.g. 'villaakerlyckan.se', 'myvilla.it'). Optional; omit when the host has not chosen a domain yet. Invalid: 'https://...', paths, ports, or booking URLs. | |
| guests | Yes | Total guest count as positive integer (e.g. 2, 4). Used by the host node for capacity validation and guest-tier pricing on the signed offer. | |
| checkIn | Yes | Requested arrival date in YYYY-MM-DD format (e.g. '2026-11-14'). Must be strictly before checkOut. Use the same dates the guest requested in search. | |
| checkOut | Yes | Requested departure date in YYYY-MM-DD format (e.g. '2026-11-17'). Must be strictly after checkIn. Guest does not stay the departure night. | |
| language | No | The guest's conversation language, as a BCP-47 tag (e.g. 'en', 'sv', 'de', 'sv-SE') — ALWAYS pass this, matching the language the guest is chatting in, so the rendered widget's labels, dates and currency formatting match the guest instead of falling back to the rendering client's own locale (which can silently disagree with the conversation). Never changes the signed price value or availability — only how it is displayed. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| fresh | No | True when the signed offer is still within its validity/freshness window. |
| domain | Yes | Echoed host domain that issued the signed offer. |
| guests | No | Echoed requested guest count. |
| checkIn | No | Echoed requested arrival date. |
| checkOut | No | Echoed requested departure date. |
| verified | Yes | True only when the host-domain offer signature and payload checks pass. |
| signature | No | Ed25519/JWS verification details, including key id and verification status. |
| widget_media | No | Images and media hydrated from the verified host discovery document for the ChatGPT widget. |
| agent_citation | No | Citation permission and safe-to-quote status derived from the signed offer. |
| agent_guardrails | No | Rules the agent must follow when presenting or acting on this offer. |
| payload_matches_offer | No | True when the signed payload matches the structured offer returned to the agent. |
| official_offer_summary | No | Small signed-offer summary for agents to quote without inventing price, availability, discounts, savings, comparisons, or booking details. |
hemmabo_booking_cancelDestructiveIdempotentInspect
Cancel a confirmed booking and process the Stripe refund per host cancellation policy. Use when the guest explicitly requests cancellation. Do not use for pending/unpaid bookings — those expire automatically. To preview the applicable policy first, read cancellationPolicy from hemmabo_booking_status. Requires Authorization: Bearer token (MCP_API_KEY or OAuth). Destructive and idempotent: cancelling an already-cancelled booking returns the same status. Rate-limited per token. reservationId must be the booking UUID from hemmabo_booking_checkout or hemmabo_booking_create — not a propertyId; reason is optional free text forwarded to the host.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Human-readable cancellation reason for the host (e.g. 'Travel plans changed', 'Flight cancelled'). Optional; omit when the guest did not give a reason. | |
| reservationId | Yes | Booking or reservation UUID from hemmabo_booking_checkout or hemmabo_booking_create (e.g. '7c9e6679-7425-40de-944b-e07fc1f90ae7'). Required to look up, cancel, or reschedule the same booking record. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present only when isError=true. |
| refund | No | Refund payload returned by cancel-booking edge function, when present. |
| status | Yes | Final booking status after cancellation. |
| reservationId | Yes |
hemmabo_booking_checkoutInspect
Create a fallback non-VRP booking and return a host-configured Stripe checkout URL. Use only after explicit user confirmation when no signed VRP direct_booking_url is available. When get_verified_stay_offer returns a signed direct_booking_url, route the guest there instead. Requires Authorization: Bearer token (MCP_API_KEY or OAuth). Creates a pending booking and Stripe session server-side; not idempotent — check hemmabo_booking_status before retrying. Rate-limited per token. Pass quoteId to honor a price locked by hemmabo_booking_negotiate for the same propertyId/dates/guests, or omit it to price fresh at checkout; paymentMode picks the Stripe flow and channel picks the pricing channel, while guestName and guestEmail identify the guest.
| Name | Required | Description | Default |
|---|---|---|---|
| guests | Yes | Total number of guests as integer >= 1 (e.g. 4). | |
| channel | No | Pricing channel selector. 'federation' (default for agent flows): direct host-source total. 'public': standard website rate without agent channel pricing. Omit to use federation. | |
| checkIn | Yes | Arrival date in ISO 8601 calendar format YYYY-MM-DD (e.g. '2026-07-15'). Must be today or later in the property's timezone. Must be strictly before checkOut; together they define the stay length used for pricing and availability. | |
| quoteId | No | Quote ID string from hemmabo_booking_negotiate (e.g. 'q_abc123'). Optional — omit to calculate a fresh host-source price at checkout. Provide when the guest locked a price within the 15-minute quote window. | |
| checkOut | Yes | Departure date in ISO 8601 calendar format YYYY-MM-DD (e.g. '2026-07-22'). Must be strictly after checkIn on the same calendar. The guest does not stay the departure night. | |
| guestName | Yes | Primary guest full name as plain text (e.g. 'Anna Svensson'). Stored on the booking for host confirmation; use the name the guest provided. | |
| guestEmail | Yes | Primary guest email in RFC 5322 format (e.g. 'anna@example.com'). Used for booking confirmation and host contact; must be deliverable. | |
| guestPhone | No | Primary guest phone in E.164 format with country code (e.g. '+46701234567'). Optional; omit when unknown. Recommended for check-in coordination. | |
| propertyId | Yes | Stable property UUID from hemmabo_search_properties (e.g. '550e8400-e29b-41d4-a716-446655440000'). Pass the exact UUID string — never a property name, host domain, or booking URL. | |
| paymentMode | No | Stripe payment flow. 'checkout_session' (default): returns a browser redirect URL. 'payment_intent': returns client_secret for embedded/agentic payment integrations. Omit to use checkout_session. |
Output Schema
| Name | Required | Description |
|---|---|---|
| mpp | No | Present when paymentMode='payment_intent'. |
| error | No | Present only when isError=true. |
| guests | No | |
| nights | No | |
| status | No | Booking status (typically 'pending' until payment succeeds). |
| checkIn | No | |
| checkOut | No | |
| currency | Yes | |
| createdAt | No | |
| paymentUrl | No | Stripe Checkout redirect URL. |
| propertyId | No | |
| totalPrice | Yes | Final total charged (or to be charged), in minor currency units. |
| payment_modes | No | Supported payment modes. |
| reservationId | Yes | Booking UUID. Use for subsequent status/cancel/reschedule calls. |
hemmabo_booking_createInspect
Create a pending direct booking without online payment for configured non-VRP fallback deployments. Use only after explicit user confirmation, with a propertyId from search, and only when no signed VRP direct_booking_url is available. For signed VRP offers, route to the signed host-domain URL instead. Requires Authorization: Bearer token (MCP_API_KEY or OAuth). Writes a pending booking server-side; not idempotent — check hemmabo_booking_status before retrying on timeout. Rate-limited per token. The booking is identified by propertyId + the checkIn/checkOut range + guests; guestName and guestEmail are required for host confirmation, while guestPhone is optional for check-in coordination.
| Name | Required | Description | Default |
|---|---|---|---|
| guests | Yes | Total guest count as a positive integer (e.g. 2, 4, 6). Used for capacity filtering and staircase pricing tiers. Properties with maxGuests below this value are excluded from search results. | |
| checkIn | Yes | Arrival date in ISO 8601 calendar format YYYY-MM-DD (e.g. '2026-07-15'). Must be today or later in the property's timezone. Must be strictly before checkOut; together they define the stay length used for pricing and availability. | |
| checkOut | Yes | Departure date in ISO 8601 calendar format YYYY-MM-DD (e.g. '2026-07-22'). Must be strictly after checkIn on the same calendar. The guest does not stay the departure night. | |
| guestName | Yes | Primary guest full name as plain text (e.g. 'Anna Svensson'). Stored on the booking for host confirmation; use the name the guest provided. | |
| guestEmail | Yes | Primary guest email in RFC 5322 format (e.g. 'anna@example.com'). Used for booking confirmation and host contact; must be deliverable. | |
| guestPhone | No | Primary guest phone in E.164 format with country code (e.g. '+46701234567'). Optional; omit when unknown. Recommended for check-in coordination. | |
| propertyId | Yes | Stable property UUID from hemmabo_search_properties (e.g. '550e8400-e29b-41d4-a716-446655440000'). Pass the exact UUID string — never a property name, host domain, or booking URL. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present only when isError=true. |
| guests | No | |
| nights | No | |
| status | Yes | Host-node booking status. 'completed' is a protocol compatibility output only, not a status this tool writes. |
| checkIn | No | |
| checkOut | No | |
| currency | No | |
| bookingId | Yes | Persistent booking UUID. Use for status/cancel/reschedule. |
| createdAt | No | |
| priceType | No | Pricing mode used (federation/gap_night/package_*). |
| propertyId | No | |
| totalPrice | No | Final price written to the booking. |
| channel_mirror | No | Outbound channel-manager mirror heartbeat for the host's mapped external channel (status: current|stale|partial|error|not_connected). Informational only — it never affects availability or this booking; the host node is the source of truth. |
| packageApplied | No | |
| calendar_freshness | No | Incoming OTA calendar-sync freshness at booking time. The same object is embedded in the error payload when a stale calendar blocks the call — declared here so agents can treat it as a first-class field in both outcomes. |
| gapDiscountPercent | No | |
| federationDiscountPercent | No |
hemmabo_booking_negotiateInspect
Create a binding price quote that locks the price for 15 minutes for configured non-VRP fallback checkout deployments. Use only when no signed direct_booking_url is available and the user explicitly asks to lock a price. Never use this for search, availability, VRP offers, rendering a stay-offer widget, or verified-offer display — use get_verified_stay_offer instead. Requires Authorization: Bearer token (MCP_API_KEY or OAuth). Writes a short-lived quote snapshot server-side. Rate-limited per token. The parameters form one locked combination: the returned quoteId is honored by hemmabo_booking_checkout only for the identical propertyId + checkIn/checkOut + guests, and only until validUntil — changing any of them requires a new quote. Night count and guest count together select the price tier that gets locked, same as hemmabo_booking_quote.
| Name | Required | Description | Default |
|---|---|---|---|
| guests | Yes | Total number of guests as integer >= 1 (e.g. 4). Determines which price tier is applied. | |
| checkIn | Yes | Arrival date in ISO 8601 calendar format YYYY-MM-DD (e.g. '2026-07-15'). Must be today or later in the property's timezone. Must be strictly before checkOut; together they define the stay length used for pricing and availability. | |
| checkOut | Yes | Departure date in ISO 8601 calendar format YYYY-MM-DD (e.g. '2026-07-22'). Must be strictly after checkIn on the same calendar. The guest does not stay the departure night. | |
| propertyId | Yes | Stable property UUID from hemmabo_search_properties (e.g. '550e8400-e29b-41d4-a716-446655440000'). Pass the exact UUID string — never a property name, host domain, or booking URL. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present only when isError=true. |
| guests | No | |
| nights | No | |
| checkIn | No | |
| quoteId | Yes | Snapshot ID. Pass to hemmabo_booking_checkout to lock this price. |
| checkOut | No | |
| currency | No | |
| gapNight | No | |
| gapTotal | No | |
| breakdown | No | |
| propertyId | No | |
| validUntil | Yes | Quote expiry (ISO 8601). Typically 15 minutes after creation. |
| publicTotal | No | |
| packageApplied | No | |
| federationTotal | Yes | |
| gapDiscountPercent | No | |
| federationDiscountPercent | No |
hemmabo_booking_quoteRead-onlyIdempotentInspect
Get a detailed pricing quote for a specific property, dates, and guest count. Use this tool after confirming availability to show the user exact pricing before booking. Do NOT use before checking availability — the quote may be invalid if dates are unavailable. Returns the final host-source total for the booking flow, per-night breakdown, and package pricing context. All prices are integers in the property's local currency (e.g. SEK). The quote is the propertyId priced for the exact checkIn/checkOut range and guests; the night count and party size together select the price tier, so changing any of them re-quotes.
| Name | Required | Description | Default |
|---|---|---|---|
| guests | Yes | Total guest count as a positive integer (e.g. 2, 4, 6). Used for capacity filtering and staircase pricing tiers. Properties with maxGuests below this value are excluded from search results. | |
| checkIn | Yes | Arrival date in ISO 8601 calendar format YYYY-MM-DD (e.g. '2026-07-15'). Must be today or later in the property's timezone. Must be strictly before checkOut; together they define the stay length used for pricing and availability. | |
| checkOut | Yes | Departure date in ISO 8601 calendar format YYYY-MM-DD (e.g. '2026-07-22'). Must be strictly after checkIn on the same calendar. The guest does not stay the departure night. | |
| propertyId | Yes | Stable property UUID from hemmabo_search_properties (e.g. '550e8400-e29b-41d4-a716-446655440000'). Pass the exact UUID string — never a property name, host domain, or booking URL. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present only when isError=true. |
| guests | No | |
| nights | No | Number of nights in the range. |
| checkIn | No | |
| checkOut | No | |
| currency | No | ISO 4217 currency code. |
| gapNight | No | True when the stay qualifies as a gap fill. |
| gapTotal | No | Gap-night adjusted total when applicable; otherwise null. |
| breakdown | No | Detailed pricing breakdown. |
| propertyId | No | |
| publicTotal | No | Website rate total in minor currency units. |
| packageApplied | No | Applied package, if any. |
| federationTotal | No | Legacy field: direct host-source total. Prefer directBookingTotal in user-facing copy. |
| directBookingTotal | No | Preferred user-facing field: direct host-source total. |
| gapDiscountPercent | No | Gap-night discount percentage when applied. |
| hostSourcePublicTotal | No | Preferred user-facing field: public host-source total. |
| federationDiscountPercent | No | Legacy internal field. Do not present this as a guest-facing discount, savings, or comparison. |
| directBookingDiscountPercent | No | Legacy internal field. Do not present this as a guest-facing discount, savings, or comparison. |
hemmabo_booking_rescheduleDestructiveInspect
Reschedule a confirmed or pending booking to new dates with automatic repricing and Stripe charge/refund. Use when the guest wants to change dates on an existing booking. Do not use if cancelled or if a protocol compatibility client reports completed — check hemmabo_booking_status first. Requires Authorization: Bearer token (MCP_API_KEY or OAuth). Destructive write: the original dates are released back to the host calendar and the original price no longer applies — the booking keeps the same reservationId (updated in place, never recreated), and the price difference is charged or refunded via Stripe. Rate-limited per token. Identify the existing booking by reservationId, then give the new stay as newCheckIn/newCheckOut (newCheckIn strictly before newCheckOut); the new night count re-prices the stay exactly like a fresh quote.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Human-readable reschedule reason for host records (e.g. 'Flight delayed', 'Extended conference'). Optional; omit when not provided by the guest. | |
| newCheckIn | Yes | New arrival date in YYYY-MM-DD format (e.g. '2026-08-01'). Must be today or later. Must be strictly before newCheckOut. | |
| newCheckOut | Yes | New departure date in YYYY-MM-DD format (e.g. '2026-08-08'). Must be strictly after newCheckIn. | |
| reservationId | Yes | Booking or reservation UUID from hemmabo_booking_checkout or hemmabo_booking_create (e.g. '7c9e6679-7425-40de-944b-e07fc1f90ae7'). Required to look up, cancel, or reschedule the same booking record. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present only when isError=true. |
| reason | No | |
| status | Yes | Booking status after reschedule. |
| pricing | No | |
| newDates | No | |
| previousDates | No | |
| reservationId | Yes |
hemmabo_booking_statusRead-onlyIdempotentInspect
Retrieve current status and full details of an existing booking by reservationId. Use to confirm checkout/create succeeded or before cancel/reschedule. Do NOT use for property discovery, availability, or pricing — use hemmabo_search_properties, hemmabo_search_availability, or hemmabo_booking_quote for those. Requires Authorization: Bearer token (MCP_API_KEY or OAuth). Read-only against the database — never writes, so it is safe to poll after a checkout timeout — but returns guest PII (name, email). Rate-limited per token. The only input is the reservationId returned by hemmabo_booking_checkout or hemmabo_booking_create — never the propertyId; without a reservationId there is no booking to look up yet.
| Name | Required | Description | Default |
|---|---|---|---|
| reservationId | Yes | Booking or reservation UUID from hemmabo_booking_checkout or hemmabo_booking_create (e.g. '7c9e6679-7425-40de-944b-e07fc1f90ae7'). Required to look up, cancel, or reschedule the same booking record. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present only when isError=true. |
| guests | No | Booked guest count. |
| status | Yes | Host-node booking status. 'completed' is a protocol compatibility output only, not the active lifecycle truth. |
| checkIn | No | Booked arrival date. |
| checkOut | No | Booked departure date. |
| currency | No | ISO 4217 currency code for the booking total. |
| createdAt | No | Booking creation timestamp. |
| guestName | No | Primary guest name stored on the booking. |
| updatedAt | No | Last update timestamp for the booking record. |
| guestEmail | No | Primary guest email stored on the booking. |
| propertyId | No | Property UUID associated with the booking. |
| totalPrice | No | Total amount in minor currency units. |
| propertyName | No | Display name of the booked property. |
| reservationId | Yes | Echoed booking or reservation UUID. |
| propertyDomain | No | Host-owned domain associated with the property. |
| cancellationPolicy | No | Host cancellation-policy details applicable to this booking. |
hemmabo_host_onboarding_linkRead-onlyIdempotentInspect
Return a safe HemmaBo onboarding handoff URL for a vacation-rental host who wants their own booking website or booking engine. Use after explaining the fit or when the host asks to start; if the host is still evaluating whether HemmaBo fits, run hemmabo_host_readiness_check first. This tool is read-only and does not create a HemmaBo account, buy a domain, configure Stripe, write to Supabase, or provision a booking site. It returns the URL, what the host gets, and what the host should prepare. All parameters are optional and only enrich the returned onboarding URL — propertyName, country/region/city, domain, and language are prefilled into it, so the host lands with their details already filled in; nothing is stored server-side.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City or municipality (e.g. 'Kävlinge', 'Florence'). Optional; used in onboarding URL prefill when provided. | |
| domain | No | Host-owned domain without protocol or path (e.g. 'villaakerlyckan.se', 'myvilla.it'). Optional; omit when the host has not chosen a domain yet. Invalid: 'https://...', paths, ports, or booking URLs. | |
| region | No | Region or area (e.g. 'Skåne', 'Toscana', 'Marrakech-Safi'). Optional; narrows onboarding handoff and proof examples. | |
| country | No | Country where the property operates (e.g. 'Sweden', 'Italy', 'Morocco'). Optional; improves onboarding URL locale and fit assessment. | |
| language | No | ISO 639-1 language hint for onboarding copy (e.g. 'sv', 'en', 'de', 'fr'). Optional; omit to default to English. | |
| propertyName | No | Property or business display name (e.g. 'Villa Åkerlyckan'). Optional; carried into onboarding URL when provided. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| product | Yes | HemmaBo product, pricing, onboarding URL, and live proof URLs. |
| next_step | Yes | Safe handoff action for the host. |
| setup_items | Yes | Inputs the host should prepare before onboarding. |
| capabilities | Yes | Host-facing capabilities included in HemmaBo. |
| privacy_note | No | Clarifies that the call is read-only and does not store host data. |
hemmabo_host_readiness_checkRead-onlyIdempotentInspect
Read-only fit check for a vacation-rental host evaluating HemmaBo for their own booking website or booking engine. Use when the user is a host or property owner, not a guest booking a stay — guests searching for a place to stay should use hemmabo_search_properties instead. Returns a fit verdict, what the host gets, the setup inputs to prepare, and a safe onboarding next step. Does not create an account, buy a domain, configure Stripe, store host data, or provision a website. When the host is ready to start, follow up with hemmabo_host_onboarding_link. Every parameter is optional and additive — the more you pass (propertyType, country/region/city, domain, currentChannels, and the wants* booleans), the sharper the fit verdict; with none it returns a generic readiness summary.
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City or municipality (e.g. 'Kävlinge', 'Florence'). Optional; used in onboarding URL prefill when provided. | |
| domain | No | Host-owned domain without protocol or path (e.g. 'villaakerlyckan.se', 'myvilla.it'). Optional; omit when the host has not chosen a domain yet. Invalid: 'https://...', paths, ports, or booking URLs. | |
| region | No | Region or area (e.g. 'Skåne', 'Toscana', 'Marrakech-Safi'). Optional; narrows onboarding handoff and proof examples. | |
| country | No | Country where the property operates (e.g. 'Sweden', 'Italy', 'Morocco'). Optional; improves onboarding URL locale and fit assessment. | |
| hasOwnDomain | No | True if the host already owns a domain or explicitly wants one (e.g. true for 'I have villaakerlyckan.se'). False or omit when still undecided. | |
| propertyName | No | Property or business display name (e.g. 'Villa Åkerlyckan'). Optional; carried into onboarding URL when provided. | |
| propertyType | No | Property category enum. Optional; omit when unknown. 'villa'/'holiday_home' fit best; 'hotel' may indicate a poor HemmaBo fit for large chains. | |
| currentChannels | No | Optional list of channels the host uses today. Omit when unknown. Helps assess migration fit from OTAs to their own booking website. | |
| preferredLanguage | No | ISO 639-1 language hint for onboarding copy (e.g. 'sv', 'en', 'de', 'fr'). Optional; omit to default to English. | |
| wantsAiAgentBooking | No | True if the host wants AI agents (ChatGPT, Claude, Cursor) to discover and book via their own official website. False or omit when they only want a guest website. | |
| wantsDirectPayments | No | True if the host wants Stripe Connect payouts direct to their account. False or omit when they expect HemmaBo to be merchant of record (not supported). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | True when the fit check completed. |
| product | Yes | HemmaBo product summary, pricing, onboarding URL, and live proof URLs. |
| next_step | Yes | Safe handoff action for the host. |
| readiness | Yes | Fit verdict and boundaries for the host's described need. |
| setup_items | Yes | Inputs the host should prepare before onboarding. |
| capabilities | Yes | Host-facing capabilities included in HemmaBo. |
| agent_instruction | Yes | How an AI agent should describe HemmaBo without overclaiming. |
hemmabo_search_availabilityRead-onlyIdempotentInspect
Check whether a specific property is available for the requested dates. Use this tool after the user has selected a property from hemmabo_search_properties and wants to confirm availability before getting a quote. Do NOT use for general browsing — use hemmabo_search_properties instead. Read-only: checking availability never places a hold or reserves dates. Returns available=true/false with conflict details and same-month alternative date windows when unavailable. Use the propertyId from search with the exact checkIn/checkOut range; omit guests to check dates only, or pass it to get host-source totals for that party size in the returned alternative windows.
| Name | Required | Description | Default |
|---|---|---|---|
| guests | No | Optional guest count (e.g. 4). Omit when only checking date availability without pricing. When provided, alternative date windows in the response include live host-source totals for that guest count. | |
| checkIn | Yes | Arrival date in ISO 8601 calendar format YYYY-MM-DD (e.g. '2026-07-15'). Must be today or later in the property's timezone. Must be strictly before checkOut; together they define the stay length used for pricing and availability. | |
| checkOut | Yes | Departure date in ISO 8601 calendar format YYYY-MM-DD (e.g. '2026-07-22'). Must be strictly after checkIn on the same calendar. The guest does not stay the departure night. | |
| propertyId | Yes | Stable property UUID from hemmabo_search_properties (e.g. '550e8400-e29b-41d4-a716-446655440000'). Pass the exact UUID string — never a property name, host domain, or booking URL. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present only when isError=true. |
| reason | No | Reason when available=false. |
| checkIn | No | |
| checkOut | No | |
| available | Yes | True if the property is bookable for the entire range. |
| propertyId | No | |
| channel_mirror | No | Outbound channel-manager mirror heartbeat for the host's mapped external channel (status: current|stale|partial|error|not_connected). Informational only — it never affects `available`; the host node is the source of truth for these dates. |
| alternativeDates | No | Nearby same-month date windows to offer when the requested dates are unavailable. |
| calendar_freshness | No | Incoming OTA calendar-sync freshness at answer time. The same object is embedded in the error payload when a stale calendar blocks the call — declared here so agents can treat it as a first-class field in both outcomes. |
hemmabo_search_propertiesRead-onlyIdempotentInspect
Search available vacation rental properties by location and travel dates. Use when the user wants to find or browse places to stay. Discovery only — call get_verified_stay_offer with the host domain and same dates before the final answer so the client can render the verified stay offer widget; never quote a final price or booking link from search alone. Do NOT use when the user already has a propertyId or host domain. Returns propertyId, host domain, live availability, host-source pricing, and capacity. Parameters combine as one filter: give at least one of region or country to scope location, plus guests and the checkIn/checkOut range (checkIn strictly before checkOut) — results drop any property below the guest capacity or unavailable for that exact range.
| Name | Required | Description | Default |
|---|---|---|---|
| guests | Yes | Total guest count as a positive integer (e.g. 2, 4, 6). Used for capacity filtering and staircase pricing tiers. Properties with maxGuests below this value are excluded from search results. | |
| region | No | Region, area, or destination to search within (e.g. 'Skåne', 'Kävlinge', 'Toscana', 'Bavaria'). Partial case-insensitive match. Provide at least one of region or country; omit only when country alone is sufficient. | |
| checkIn | Yes | Arrival date in ISO 8601 calendar format YYYY-MM-DD (e.g. '2026-07-15'). Must be today or later in the property's timezone. Must be strictly before checkOut; together they define the stay length used for pricing and availability. | |
| country | No | Country name to filter by (e.g. 'Sweden', 'Italy', 'Morocco'). Partial case-insensitive match. Provide at least one of region or country; omit when region already narrows the destination. | |
| checkOut | Yes | Departure date in ISO 8601 calendar format YYYY-MM-DD (e.g. '2026-07-22'). Must be strictly after checkIn on the same calendar. The guest does not stay the departure night. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present only when isError=true. |
| guests | No | Echoed guest count. |
| checkIn | No | Echoed check-in date (YYYY-MM-DD). |
| checkOut | No | Echoed check-out date (YYYY-MM-DD). |
| properties | No | Available properties matching the search criteria, with live host-source pricing. |
verify_vacation_rental_nodeRead-onlyIdempotentInspect
Verify that a vacation-rental host domain is a valid Vacation Rental Protocol (VRP) node before trusting it. Reads the domain's .well-known/vacation-rental.json and JWKS. Read-only trust check: no availability, pricing, booking, or payment — do NOT use it to answer those questions. Use when a host domain arrives from outside search (user-typed or third-party); domains returned by hemmabo_search_properties can go straight to get_verified_stay_offer. On success, call get_verified_stay_offer with the same domain and stay dates. The single input is the host domain as a bare hostname (no scheme or path); verification reads that domain's own .well-known and JWKS, so the result is only as trustworthy as the exact domain you pass.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Host-owned domain without protocol or path (e.g. 'villaakerlyckan.se', 'myvilla.it'). Optional; omit when the host has not chosen a domain yet. Invalid: 'https://...', paths, ports, or booking URLs. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present when verified=false or the node cannot be checked. |
| domain | Yes | Echoed canonical host domain that was checked. |
| signing | No | Summary of accepted signing algorithms, key ids, and signing-key checks. |
| jwks_url | No | Host-domain JWKS URL containing the Ed25519 public keys used to verify signed offers. |
| protocol | No | Protocol identifier discovered on the host domain, typically 'vrp'. |
| verified | Yes | True only when discovery, JWKS, signing metadata, and verified-offer endpoint checks pass. |
| discovery_url | No | The .well-known vacation-rental discovery URL read from the host domain. |
| protocol_version | No | VRP version declared by the host discovery document. |
| verified_stay_offer_url | No | Host-domain endpoint template or URL used to request signed verified stay offers. |
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseCqualityDmaintenanceThe only MCP server with AI guest risk scoring and extortion detection. Search properties, book instantly, protect hosts. 41 tools across 5 layers. Instant API key, 10 free credits.Last updated6MIT
- Alicense-qualityCmaintenanceEnables management of vacation rental properties through the Hostex API, including reservations, guest communications, availability calendars, reviews, and channel listings.Last updated1MIT
- Alicense-qualityCmaintenanceLuxury hotel intelligence and secure checkout handoff for AI travel agents.Last updated1Apache 2.0
Your Connectors
Sign in to create a connector for this server.