Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

HemmaBo Host Booking Engine

REMOTE · WWW.HEMMABO.COM · SCANNED AUG 3

Host-owned vacation-rental direct booking via VRP. Signed offers, 0% commission. Not an OTA.

Available components

+9 this week 80 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security94
Transport & Reachability100
Schema Quality & AI Usability75
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 5819 tokens (~415/item across 14 items; 13 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities60
  • Spec-recency check failed: implements MCP spec 2025-03-26; the latest is 2026-07-28. See how to fix → Fail
  • Supports UI / widget rendering.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · www.hemmabo.com

# add to Claude Code
claude mcp add --transport http com-hemmabo-hemmabo-mcp-server https://www.hemmabo.com/mcp
# ~/.codex/config.toml
[mcp_servers.com-hemmabo-hemmabo-mcp-server]
url = "https://www.hemmabo.com/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-hemmabo-hemmabo-mcp-server": {
      "type": "remote",
      "url": "https://www.hemmabo.com/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-hemmabo-hemmabo-mcp-server --url https://www.hemmabo.com/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  com-hemmabo-hemmabo-mcp-server:
    url: "https://www.hemmabo.com/mcp"
// mcp.json
{
  "mcpServers": {
    "com-hemmabo-hemmabo-mcp-server": {
      "type": "http",
      "url": "https://www.hemmabo.com/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 1 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Jul 26 +6
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 −1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

  • 28 Jul 26 +1
    • Tool “hemmabo_host_onboarding_link” rewrote its description, which is the text the model reads security
    • Tool “hemmabo_search_availability” rewrote its description, which is the text the model reads security
    • Tool “verify_vacation_rental_node” rewrote its description, which is the text the model reads security
    • Tool “hemmabo_host_readiness_check” rewrote its description, which is the text the model reads security
    • Tool “hemmabo_booking_cancel” rewrote its description, which is the text the model reads security
    • Tool “hemmabo_booking_negotiate” rewrote its description, which is the text the model reads security
    • Tool “hemmabo_booking_reschedule” rewrote its description, which is the text the model reads security
    • Tool “hemmabo_booking_status” rewrote its description, which is the text the model reads security
  • 27 Jul 26 +1
    • Stability: unverified → 0.03 functional
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
    • Server version: 4.0.0 → 4.0.1 functional
  • 26 Jul 26 70

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://www.hemmabo.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=www.hemmabo.com CN=YR2,O=Let's Encrypt,C=US 18 Jun 2026 16 Sept 2026 RSA 2048 SHA256-RSA 60e28e183ba86601b926b071d33ceb60e8c
SANs: www.hemmabo.com
CN=YR2,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA 4ebd24947e24d394802d84a52fd5b319
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f
DNSSEC insecure

Validation of www.hemmabo.com. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
hemmabo.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer realm="hemmabo-mcp", resource_metadata="https://www.hemmabo.com/.well-known/oauth-protected-resource", error="invalid_token"

Bearer realm="hemmabo-mcp", resource_metadata="https://www.hemmabo.com/.well-known/oauth-protected-resource", error="invalid_token"
Header Value
strict-transport-security max-age=63072000; includeSubDomains; preload

Protected resource metadata

Document https://www.hemmabo.com/.well-known/oauth-protected-resource
Retrieved Yes
Resource https://www.hemmabo.com/mcp
Authorisation server https://www.hemmabo.com
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://www.hemmabo.com/mcp Verified 200
http (plaintext) http://www.hemmabo.com/mcp HTTPS enforced 308 https://www.hemmabo.com/mcp
MCP tools — 13 exposed · ~5,152 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
get_verified_stay_offer ~473

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.

NameTypeReqDescription
checkInstringyesRequested 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.
checkOutstringyesRequested departure date in YYYY-MM-DD format (e.g. '2026-11-17'). Must be strictly after checkIn. Guest does not stay the departure night.
domainstringyesHost-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.
guestsintegeryesTotal 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.
languagestringThe 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 curr…
NameTypeReqDescription
agent_citationobjectCitation permission and safe-to-quote status derived from the signed offer.
agent_guardrailsobjectRules the agent must follow when presenting or acting on this offer.
checkInstringEchoed requested arrival date.
checkOutstringEchoed requested departure date.
domainstringyesEchoed host domain that issued the signed offer.
errorstring
freshbooleanTrue when the signed offer is still within its validity/freshness window.
guestsintegerEchoed requested guest count.
official_offer_summaryobjectSmall signed-offer summary for agents to quote without inventing price, availability, discounts, savings, comparisons, or booking details.
payload_matches_offerbooleanTrue when the signed payload matches the structured offer returned to the agent.
signatureobjectEd25519/JWS verification details, including key id and verification status.
verifiedbooleanyesTrue only when the host-domain offer signature and payload checks pass.
widget_mediaobjectImages and media hydrated from the verified host discovery document for the ChatGPT widget.

No examples provided.

hemmabo_booking_cancel ~236

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.

NameTypeReqDescription
reasonstringHuman-readable cancellation reason for the host (e.g. 'Travel plans changed', 'Flight cancelled'). Optional; omit when the guest did not give a reason.
reservationIdstringyesBooking 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.
NameTypeReqDescription
errorstringPresent only when isError=true.
refundobjectRefund payload returned by cancel-booking edge function, when present.
reservationIdstringyes
statusstringyesFinal booking status after cancellation.

No examples provided.

hemmabo_booking_checkout ~616

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.

NameTypeReqDescription
channelstringPricing channel selector. 'federation' (default for agent flows): direct host-source total. 'public': standard website rate without agent channel pricing. Omit to use federation.
checkInstringyesArrival 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…
checkOutstringyesDeparture 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.
guestEmailstringyesPrimary guest email in RFC 5322 format (e.g. '[email protected]'). Used for booking confirmation and host contact; must be deliverable.
guestNamestringyesPrimary guest full name as plain text (e.g. 'Anna Svensson'). Stored on the booking for host confirmation; use the name the guest provided.
guestPhonestringPrimary guest phone in E.164 format with country code (e.g. '+46701234567'). Optional; omit when unknown. Recommended for check-in coordination.
guestsintegeryesTotal number of guests as integer >= 1 (e.g. 4).
paymentModestringStripe 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.
propertyIdstringyesStable 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.
quoteIdstringQuote 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…
NameTypeReqDescription
checkInstring
checkOutstring
createdAtstring
currencystringyes
errorstringPresent only when isError=true.
guestsinteger
mppobjectPresent when paymentMode='payment_intent'.
nightsinteger
paymentUrlstringStripe Checkout redirect URL.
payment_modesarraySupported payment modes.
propertyIdstring
reservationIdstringyesBooking UUID. Use for subsequent status/cancel/reschedule calls.
statusstringBooking status (typically 'pending' until payment succeeds).
totalPriceintegeryesFinal total charged (or to be charged), in minor currency units.

No examples provided.

hemmabo_booking_create ~481

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.

NameTypeReqDescription
checkInstringyesArrival 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…
checkOutstringyesDeparture 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.
guestEmailstringyesPrimary guest email in RFC 5322 format (e.g. '[email protected]'). Used for booking confirmation and host contact; must be deliverable.
guestNamestringyesPrimary guest full name as plain text (e.g. 'Anna Svensson'). Stored on the booking for host confirmation; use the name the guest provided.
guestPhonestringPrimary guest phone in E.164 format with country code (e.g. '+46701234567'). Optional; omit when unknown. Recommended for check-in coordination.
guestsintegeryesTotal 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.
propertyIdstringyesStable 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.
NameTypeReqDescription
bookingIdstringyesPersistent booking UUID. Use for status/cancel/reschedule.
calendar_freshnessobjectIncoming 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 fi…
channel_mirrorobjectOutbound 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 bookin…
checkInstring
checkOutstring
createdAtstring
currencystring
errorstringPresent only when isError=true.
federationDiscountPercentinteger
gapDiscountPercentinteger
guestsinteger
nightsinteger
packageAppliedstring
priceTypestringPricing mode used (federation/gap_night/package_*).
propertyIdstring
statusstringyesHost-node booking status. 'completed' is a protocol compatibility output only, not a status this tool writes.
totalPriceintegerFinal price written to the booking.

No examples provided.

hemmabo_booking_negotiate ~381

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.

NameTypeReqDescription
checkInstringyesArrival 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…
checkOutstringyesDeparture 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.
guestsintegeryesTotal number of guests as integer >= 1 (e.g. 4). Determines which price tier is applied.
propertyIdstringyesStable 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.
NameTypeReqDescription
breakdownobject
checkInstring
checkOutstring
currencystring
errorstringPresent only when isError=true.
federationDiscountPercentinteger
federationTotalintegeryes
gapDiscountPercentinteger
gapNightboolean
gapTotalinteger
guestsinteger
nightsinteger
packageAppliedstring
propertyIdstring
publicTotalinteger
quoteIdstringyesSnapshot ID. Pass to hemmabo_booking_checkout to lock this price.
validUntilstringyesQuote expiry (ISO 8601). Typically 15 minutes after creation.

No examples provided.

hemmabo_booking_quote ~348

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.

NameTypeReqDescription
checkInstringyesArrival 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…
checkOutstringyesDeparture 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.
guestsintegeryesTotal 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.
propertyIdstringyesStable 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.
NameTypeReqDescription
breakdownobjectDetailed pricing breakdown.
checkInstring
checkOutstring
currencystringISO 4217 currency code.
directBookingDiscountPercentintegerLegacy internal field. Do not present this as a guest-facing discount, savings, or comparison.
directBookingTotalintegerPreferred user-facing field: direct host-source total.
errorstringPresent only when isError=true.
federationDiscountPercentintegerLegacy internal field. Do not present this as a guest-facing discount, savings, or comparison.
federationTotalintegerLegacy field: direct host-source total. Prefer directBookingTotal in user-facing copy.
gapDiscountPercentintegerGap-night discount percentage when applied.
gapNightbooleanTrue when the stay qualifies as a gap fill.
gapTotalintegerGap-night adjusted total when applicable; otherwise null.
guestsinteger
hostSourcePublicTotalintegerPreferred user-facing field: public host-source total.
nightsintegerNumber of nights in the range.
packageAppliedstringApplied package, if any.
propertyIdstring
publicTotalintegerWebsite rate total in minor currency units.

No examples provided.

hemmabo_booking_reschedule ~357

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.

NameTypeReqDescription
newCheckInstringyesNew arrival date in YYYY-MM-DD format (e.g. '2026-08-01'). Must be today or later. Must be strictly before newCheckOut.
newCheckOutstringyesNew departure date in YYYY-MM-DD format (e.g. '2026-08-08'). Must be strictly after newCheckIn.
reasonstringHuman-readable reschedule reason for host records (e.g. 'Flight delayed', 'Extended conference'). Optional; omit when not provided by the guest.
reservationIdstringyesBooking 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.
NameTypeReqDescription
errorstringPresent only when isError=true.
newDatesobject
previousDatesobject
pricingobject
reasonstring
reservationIdstringyes
statusstringyesBooking status after reschedule.

No examples provided.

hemmabo_booking_status ~220

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.

NameTypeReqDescription
reservationIdstringyesBooking 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.
NameTypeReqDescription
cancellationPolicyobjectHost cancellation-policy details applicable to this booking.
checkInstringBooked arrival date.
checkOutstringBooked departure date.
createdAtstringBooking creation timestamp.
currencystringISO 4217 currency code for the booking total.
errorstringPresent only when isError=true.
guestEmailstringPrimary guest email stored on the booking.
guestNamestringPrimary guest name stored on the booking.
guestsintegerBooked guest count.
propertyDomainstringHost-owned domain associated with the property.
propertyIdstringProperty UUID associated with the booking.
propertyNamestringDisplay name of the booked property.
reservationIdstringyesEchoed booking or reservation UUID.
statusstringyesHost-node booking status. 'completed' is a protocol compatibility output only, not the active lifecycle truth.
totalPriceintegerTotal amount in minor currency units.
updatedAtstringLast update timestamp for the booking record.

No examples provided.

hemmabo_host_onboarding_link ~410

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.

NameTypeReqDescription
citystringCity or municipality (e.g. 'Kävlinge', 'Florence'). Optional; used in onboarding URL prefill when provided.
countrystringCountry where the property operates (e.g. 'Sweden', 'Italy', 'Morocco'). Optional; improves onboarding URL locale and fit assessment.
domainstringHost-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.
languagestringISO 639-1 language hint for onboarding copy (e.g. 'sv', 'en', 'de', 'fr'). Optional; omit to default to English.
propertyNamestringProperty or business display name (e.g. 'Villa Åkerlyckan'). Optional; carried into onboarding URL when provided.
regionstringRegion or area (e.g. 'Skåne', 'Toscana', 'Marrakech-Safi'). Optional; narrows onboarding handoff and proof examples.
NameTypeReqDescription
capabilitiesarrayyesHost-facing capabilities included in HemmaBo.
next_stepobjectyesSafe handoff action for the host.
okbooleanyes
privacy_notestringClarifies that the call is read-only and does not store host data.
productobjectyesHemmaBo product, pricing, onboarding URL, and live proof URLs.
setup_itemsarrayyesInputs the host should prepare before onboarding.

No examples provided.

hemmabo_host_readiness_check ~625

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.

NameTypeReqDescription
citystringCity or municipality (e.g. 'Kävlinge', 'Florence'). Optional; used in onboarding URL prefill when provided.
countrystringCountry where the property operates (e.g. 'Sweden', 'Italy', 'Morocco'). Optional; improves onboarding URL locale and fit assessment.
currentChannelsarrayOptional list of channels the host uses today. Omit when unknown. Helps assess migration fit from OTAs to their own booking website.
domainstringHost-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.
hasOwnDomainbooleanTrue 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.
preferredLanguagestringISO 639-1 language hint for onboarding copy (e.g. 'sv', 'en', 'de', 'fr'). Optional; omit to default to English.
propertyNamestringProperty or business display name (e.g. 'Villa Åkerlyckan'). Optional; carried into onboarding URL when provided.
propertyTypestringProperty category enum. Optional; omit when unknown. 'villa'/'holiday_home' fit best; 'hotel' may indicate a poor HemmaBo fit for large chains.
regionstringRegion or area (e.g. 'Skåne', 'Toscana', 'Marrakech-Safi'). Optional; narrows onboarding handoff and proof examples.
wantsAiAgentBookingbooleanTrue 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.
wantsDirectPaymentsbooleanTrue 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).
NameTypeReqDescription
agent_instructionstringyesHow an AI agent should describe HemmaBo without overclaiming.
capabilitiesarrayyesHost-facing capabilities included in HemmaBo.
next_stepobjectyesSafe handoff action for the host.
okbooleanyesTrue when the fit check completed.
productobjectyesHemmaBo product summary, pricing, onboarding URL, and live proof URLs.
readinessobjectyesFit verdict and boundaries for the host's described need.
setup_itemsarrayyesInputs the host should prepare before onboarding.

No examples provided.

hemmabo_search_availability ~345

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.

NameTypeReqDescription
checkInstringyesArrival 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…
checkOutstringyesDeparture 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.
guestsintegerOptional 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.
propertyIdstringyesStable 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.
NameTypeReqDescription
alternativeDatesarrayNearby same-month date windows to offer when the requested dates are unavailable.
availablebooleanyesTrue if the property is bookable for the entire range.
calendar_freshnessobjectIncoming 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 fie…
channel_mirrorobjectOutbound 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…
checkInstring
checkOutstring
errorstringPresent only when isError=true.
propertyIdstring
reasonstringReason when available=false.

No examples provided.

hemmabo_search_properties ~431

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.

NameTypeReqDescription
checkInstringyesArrival 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…
checkOutstringyesDeparture 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.
countrystringCountry 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.
guestsintegeryesTotal 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.
regionstringRegion, 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…
NameTypeReqDescription
checkInstringEchoed check-in date (YYYY-MM-DD).
checkOutstringEchoed check-out date (YYYY-MM-DD).
errorstringPresent only when isError=true.
guestsintegerEchoed guest count.
propertiesarrayAvailable properties matching the search criteria, with live host-source pricing.

No examples provided.

verify_vacation_rental_node ~229

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.

NameTypeReqDescription
domainstringyesHost-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.
NameTypeReqDescription
discovery_urlstringThe .well-known vacation-rental discovery URL read from the host domain.
domainstringyesEchoed canonical host domain that was checked.
errorstringPresent when verified=false or the node cannot be checked.
jwks_urlstringHost-domain JWKS URL containing the Ed25519 public keys used to verify signed offers.
protocolstringProtocol identifier discovered on the host domain, typically 'vrp'.
protocol_versionstringVRP version declared by the host discovery document.
signingobjectSummary of accepted signing algorithms, key ids, and signing-key checks.
verifiedbooleanyesTrue only when discovery, JWKS, signing metadata, and verified-offer endpoint checks pass.
verified_stay_offer_urlstringHost-domain endpoint template or URL used to request signed verified stay offers.

No examples provided.