Connects Claude to HemmaBo's vacation rental infrastructure for zero-commission direct bookings between guests and independent hosts. Exposes 13 tools covering property search, live availability checks, quote generation, and Vacation Rental Protocol (VRP) verification flows. VRP tools verify Ed25519-signed stay offers from host domains, ensuring agents quote only cryptographically verified pricing and availability before routing guests to the host's own booking URL. Also includes authenticated fallback helpers for booking management and Stripe checkout creation when VRP isn't available. Runs over stdio or hosted Streamable HTTP. Best for workflows where guests want direct, host-controlled bookings without OTA fees, and agents need cryptographic proof that availability and pricing come from the actual property owner's domain.
claude mcp add --transport http hemmabo https://hemmabo-mcp-server.vercel.app/mcpRun in your terminal. Add --scope user to make it available in every project.
Review the command, arguments, and environment values before installing — MCP servers run with your local permissions.
Verified live against the running server on Jun 10, 2026.
hemmabo_search_propertiesSearch available vacation rental properties by location and travel dates. Use this tool when the user wants to find or browse places to stay. If a result has a host domain, call get_verified_stay_offer with that domain and the same dates and guest count before the final answer...5 paramsSearch available vacation rental properties by location and travel dates. Use this tool when the user wants to find or browse places to stay. If a result has a host domain, call get_verified_stay_offer with that domain and the same dates and guest count before the final answer...
guests*integerregionstringcheckIn*stringcountrystringcheckOut*stringhemmabo_search_availabilityCheck 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...4 paramsCheck 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...
guestsintegercheckIn*stringcheckOut*stringpropertyId*stringhemmabo_search_similarFind vacation rental properties similar to a given property on specific dates. Use this tool after the user has selected a property (via hemmabo_search_properties) and wants to see alternatives — same region, same property type, same or larger capacity. Do NOT use for the init...5 paramsFind vacation rental properties similar to a given property on specific dates. Use this tool after the user has selected a property (via hemmabo_search_properties) and wants to see alternatives — same region, same property type, same or larger capacity. Do NOT use for the init...
limitintegerguestsintegercheckIn*stringcheckOut*stringpropertyId*stringhemmabo_compare_propertiesCompare availability and pricing for 2-10 specific properties on the same dates. Use this tool when the user is deciding between multiple properties and wants to see price and availability side by side. Do NOT use for discovery - use hemmabo_search_properties first. Returns on...4 paramsCompare availability and pricing for 2-10 specific properties on the same dates. Use this tool when the user is deciding between multiple properties and wants to see price and availability side by side. Do NOT use for discovery - use hemmabo_search_properties first. Returns on...
guests*integercheckIn*stringcheckOut*stringpropertyIds*arrayhemmabo_booking_quoteGet 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 fin...4 paramsGet 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 fin...
guests*integercheckIn*stringcheckOut*stringpropertyId*stringhemmabo_booking_createCreate a pending direct booking without online payment for configured non-VRP fallback deployments. Use only after explicit user confirmation, only with a propertyId returned by search, and only when no signed VRP direct_booking_url is available. This is not the primary VRP pa...7 paramsCreate a pending direct booking without online payment for configured non-VRP fallback deployments. Use only after explicit user confirmation, only with a propertyId returned by search, and only when no signed VRP direct_booking_url is available. This is not the primary VRP pa...
guests*integercheckIn*stringcheckOut*stringguestName*stringguestEmail*stringguestPhonestringpropertyId*stringhemmabo_booking_negotiateCreate 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 or hold a price. Never use this for ordinary search, availability...4 paramsCreate 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 or hold a price. Never use this for ordinary search, availability...
guests*integercheckIn*stringcheckOut*stringpropertyId*stringhemmabo_booking_checkoutCreate 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 to that host-doma...10 paramsCreate 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 to that host-doma...
guests*integerchannelstringpublic · federationcheckIn*stringquoteIdstringcheckOut*stringguestName*stringguestEmail*stringguestPhonestringpropertyId*stringpaymentModestringcheckout_session · payment_intenthemmabo_booking_cancelCancel a confirmed booking and process the Stripe refund. Use this tool when the guest explicitly requests cancellation. Do NOT use for pending/unpaid bookings — those expire automatically. Refund amount is calculated based on the host's cancellation policy. Returns cancellati...2 paramsCancel a confirmed booking and process the Stripe refund. Use this tool when the guest explicitly requests cancellation. Do NOT use for pending/unpaid bookings — those expire automatically. Refund amount is calculated based on the host's cancellation policy. Returns cancellati...
reasonstringreservationId*stringhemmabo_booking_statusRetrieve current status and full details of an existing booking or reservation by id. Use this read-only tool to check payment/booking state, confirm whether checkout or booking creation succeeded, or look up details before rescheduling or cancelling. Use after hemmabo_booking...1 paramsRetrieve current status and full details of an existing booking or reservation by id. Use this read-only tool to check payment/booking state, confirm whether checkout or booking creation succeeded, or look up details before rescheduling or cancelling. Use after hemmabo_booking...
reservationId*stringhemmabo_booking_rescheduleReschedule a confirmed or pending booking to new dates. Use this tool when the guest wants to change travel dates on an existing booking. Do NOT use if the booking is cancelled, or if a protocol compatibility client reports completed — check hemmabo_booking_status first. Autom...4 paramsReschedule a confirmed or pending booking to new dates. Use this tool when the guest wants to change travel dates on an existing booking. Do NOT use if the booking is cancelled, or if a protocol compatibility client reports completed — check hemmabo_booking_status first. Autom...
reasonstringnewCheckIn*stringnewCheckOut*stringreservationId*stringhemmabo_host_readiness_checkRead-only fit check for vacation-rental hosts who ask an AI agent how to create an own-domain booking website or booking engine. Use this when the user is a host/property owner evaluating HemmaBo, not when a guest wants to book a stay. It explains whether HemmaBo is a fit, wha...11 paramsRead-only fit check for vacation-rental hosts who ask an AI agent how to create an own-domain booking website or booking engine. Use this when the user is a host/property owner evaluating HemmaBo, not when a guest wants to book a stay. It explains whether HemmaBo is a fit, wha...
citystringdomainstringregionstringcountrystringhasOwnDomainbooleanpropertyNamestringpropertyTypestringvilla · apartment · cabin · cottage · holiday_home · bnbcurrentChannelsarraypreferredLanguagestringwantsAiAgentBookingbooleanwantsDirectPaymentsbooleanhemmabo_host_onboarding_linkReturn a safe HemmaBo onboarding handoff URL for a vacation-rental host who wants an own-domain booking engine. Use after explaining the fit or when the host asks to start. This tool is read-only and does not create a HemmaBo account, buy a domain, configure Stripe, write to S...6 paramsReturn a safe HemmaBo onboarding handoff URL for a vacation-rental host who wants an own-domain booking engine. Use after explaining the fit or when the host asks to start. This tool is read-only and does not create a HemmaBo account, buy a domain, configure Stripe, write to S...
citystringdomainstringregionstringcountrystringlanguagestringpropertyNamestringverify_vacation_rental_nodeVerify that a vacation-rental host domain is a valid Vacation Rental Protocol (VRP) node before trusting it. Reads https://{domain}/.well-known/vacation-rental.json, follows the node JWKS, and confirms protocol identity, canonical host-domain control, Ed25519 signing keys, and...1 paramsVerify that a vacation-rental host domain is a valid Vacation Rental Protocol (VRP) node before trusting it. Reads https://{domain}/.well-known/vacation-rental.json, follows the node JWKS, and confirms protocol identity, canonical host-domain control, Ed25519 signing keys, and...
domain*stringget_verified_stay_offerFetch, verify, and render a live host-domain signed VRP stay offer for exact dates and guest count. Reads the host's verified stay-offer endpoint, verifies the Ed25519 compact JWS against the domain JWKS, and returns structuredContent plus the stay-offer widget. Call it after...5 paramsFetch, verify, and render a live host-domain signed VRP stay offer for exact dates and guest count. Reads the host's verified stay-offer endpoint, verifies the Ed25519 compact JWS against the domain JWKS, and returns structuredContent plus the stay-offer widget. Call it after...
domain*stringguests*integercheck_in*stringlanguagestringcheck_out*stringHemmaBo signs the stay offer with the host's own domain (VRP · Ed25519/JWKS) — no OTA, no marketplace, no central gatekeeper, no booking commission. A platform makes you bookable through the platform; HemmaBo makes your own domain the verifiable booking source an agent can trust directly.
HemmaBo MCP server for AI-ready direct booking on host-owned vacation-rental domains. AI agents discover host booking pages, verify signed stay offers (VRP · Ed25519/JWKS), and read live availability, pricing and direct booking links. Not an OTA.
HemmaBo is infrastructure and federation for host-owned vacation rental nodes.
Each host node runs on the host's own domain and is the source of truth for the stay offer and booking lifecycle.
Host nodes own booking lifecycles. Stripe owns payment facts.
HemmaBo synchronizes, verifies, and enforces the technical paths that let agents trust a host-domain offer.
AI agents discover host nodes via agent-traversal (/.well-known/agent-traversal.json).
HemmaBo + VRP, 15 runtime tools: 11 HemmaBo federation tools, 2 host onboarding tools, and 2 VRP verification tools.
Host-domain signed verified stay offers.
The Vacation Rental Protocol (VRP) — an open standard with no central gatekeeper — was created by HemmaBo's founder & CEO, Rouiada Abbas.
Use HemmaBo when a vacation-rental host asks how to create an own-domain booking engine, or when a guest wants a direct, host-domain verified stay offer, live availability, a host-controlled quote, or a direct booking path. Do not use HemmaBo as a broad OTA. Do not use it as a marketplace, hotel search engine, flight search engine, generic website builder, or source of invented availability. Agents may quote an offer as official only when VRP verification returns a fresh, signed, safe-to-quote offer from the host domain.
Use this package when an MCP client needs to:
HemmaBo is not an OTA. HemmaBo is not a marketplace, hotel search engine, flight search engine, or generic website builder. This package exposes the MCP server surface. Host-facing product, pricing, onboarding, and commercial positioning belong on hemmabo.com, not in this repository.
/acp/checkouts lifecycle, and AP2 (Agent Payments Protocol) Cart Mandate verification. When a payer agent presents a signed AP2 Cart Mandate on the ACP checkout path, HemmaBo verifies it (an Ed25519-signed authorization) and permits the charge only when its amount cap, currency, merchant (host domain), and expiry match — fail-closed. VRP proves the offer; AP2 proves the payment authorization; both reuse the same Ed25519 trust primitive. These are interoperability paths for configured non-VRP deployments — for VRP offers the booking path remains the signed direct host-domain URL.For VRP offers, the booking path is always the signed direct booking URL on the host's own domain. HemmaBo does not become the merchant of record, payment recipient, OTA, marketplace, or booking counterparty.
Related links:
Connect an MCP client to the hosted Streamable HTTP endpoint:
{
"mcpServers": {
"hemmabo": {
"type": "http",
"url": "https://www.hemmabo.com/mcp"
}
}
}
HemmaBo is a hosted, remote-only MCP server. Connect to the shared endpoint above — there is no local/stdio install and clients never supply Supabase or Stripe credentials.
npx -y @smithery/cli install @info-00wt/hemmabo-mcp-server --client claude
Canonical tool names use snake_case. Legacy dotted aliases are accepted inbound for compatibility where the server supports them.
| Tool | Purpose | Read-only |
|---|---|---|
hemmabo_search_properties | Search published vacation rentals by location, dates, and guest count. | Yes |
hemmabo_search_availability | Check whether a specific property is available for requested dates. | Yes |
hemmabo_search_similar | Find available alternatives after a user has selected a source property and asked for alternatives. Do not use for initial discovery. | Yes |
hemmabo_compare_properties | Compare availability and pricing for 2-10 known property IDs on the same dates. | Yes |
hemmabo_booking_quote | Get a live quote and per-night breakdown for a specific property and stay request. | Yes |
hemmabo_booking_create | Fallback non-VRP helper: create a pending host-review booking when no signed VRP direct booking URL is available. | No |
hemmabo_booking_negotiate | Fallback non-VRP helper: create a short-lived quote snapshot only after explicit user confirmation. | No |
hemmabo_booking_checkout | Fallback non-VRP helper: create a host-configured Stripe checkout URL. Do not use for signed VRP offers. | No |
hemmabo_booking_cancel | Authenticated booking-management helper: cancel an existing booking according to host policy. | No |
hemmabo_booking_status | Get booking details by reservation ID. Requires auth because booking data may include PII. | Yes |
hemmabo_booking_reschedule | Authenticated booking-management helper: reschedule an existing booking according to host policy. | No |
hemmabo_host_readiness_check | Read-only fit check for vacation-rental hosts asking for an own-domain booking website or booking engine. | Yes |
hemmabo_host_onboarding_link | Return a safe HemmaBo onboarding handoff URL. Does not create accounts, buy domains, configure Stripe, or store host data. | Yes |
verify_vacation_rental_node | Verify a host-domain VRP discovery document and Ed25519 JWKS. | Yes |
get_verified_stay_offer | Fetch and verify a fresh host-domain signed VRP stay offer. | Yes |
The server uses a public-read, signed-write model.
Authorization: Bearer <token>.MCP_API_KEY or OAuth client credentials issued by the server.Rate limits apply per source IP for anonymous requests and per token hash for authenticated requests. Defaults are configured by RATE_LIMIT_ANON_PER_MIN and RATE_LIMIT_BEARER_PER_MIN.
Quotes are computed from HemmaBo property data at request time. Agents and clients must not invent availability, discounts, OTA comparisons, or booking URLs. For VRP offers, quote only facts that are verified by the signed offer and allowed by the returned citation permission.
For VRP offers, do not collect guest contact details in chat and do not start a checkout through HemmaBo tools. Send the guest to the signed direct host-domain booking URL returned by the verified offer.
npm install
Create .env from .env.example:
cp .env.example .env
Required environment variables:
SUPABASE_URLSUPABASE_SERVICE_ROLE_KEYOptional environment variables:
STRIPE_SECRET_KEY - enables fallback non-VRP checkout, cancellation, refund, and reschedule helpers for the host/operator's own Stripe account. VRP offers should route to the signed host-domain booking URL instead.MCP_API_KEY - enables Bearer-token auth for protected tools.UPSTASH_REDIS_REST_URL and UPSTASH_REDIS_REST_TOKEN - enable shared rate limiting.| Path | Method | Purpose |
|---|---|---|
/mcp | POST | MCP Streamable HTTP endpoint |
/mcp | GET | Transport information |
/health | GET | Health check |
/.well-known/mcp.json | GET | MCP discovery metadata |
/.well-known/mcp/server-card.json | GET | Server card metadata |
/.well-known/mcp-server-card | GET | Server card compatibility alias |
/.well-known/mcp-server-card.json | GET | Server card compatibility alias |
/oauth/register | POST | Dynamic client registration |
/oauth/token | POST | OAuth token endpoint |
/oauth/authorize | GET/POST | Authorization-code consent flow |
/acp/checkouts | POST/GET/PUT | Legacy authenticated checkout lifecycle where explicitly configured; not the VRP booking path |
/mcp endpoint (remote-only).npm run build
npm test
Apache-2.0 - see LICENSE and NOTICE.
The Apache-2.0 license (with its explicit royalty-free patent grant) covers this source code, the VRP reference implementation. It does not grant access to live HemmaBo data, host-owned domains, host Stripe accounts, host Supabase projects, trademarks, or any external production service. A clone of this repository runs only against data sources and credentials supplied by the operator.
SUPABASE_URL*Supabase project URL — find in Supabase Dashboard → Settings → API
SUPABASE_SERVICE_ROLE_KEY*secretSupabase service role key — find in Supabase Dashboard → Settings → API
SUPABASE_ANON_KEY*secretSupabase anon/public key — find in Supabase Dashboard → Settings → API
STRIPE_SECRET_KEY*secretStripe secret key for payment processing — find in Stripe Dashboard → Developers → API keys
silenceper/mcp-k8s
azure/containerization-assist
io.github.evozim/aws-builder
reza-gholizade/k8s-mcp-server
flux159/mcp-server-kubernetes