federation-mcp-server
The federation-mcp-server enables AI agents to search, book, and manage vacation rental properties with real-time pricing and direct booking discounts via the Model Context Protocol (MCP) and Agentic Commerce Protocol (ACP).
Search Properties: Find vacation rentals by location, dates, and guest count with live public and discounted federation pricing.
Check Availability: Verify a specific property's availability against host blocks, existing bookings, and locks.
Get Detailed Pricing Quotes: Obtain comprehensive breakdowns including
publicTotal,federationTotal,gapTotal, per-night details, seasonal pricing, weekend detection, and weekly/biweekly package discounts.Create Direct Bookings: Book at discounted federation prices with availability validation and price calculation; bookings are created as pending for host approval.
Negotiate & Lock Prices: Generate a time-limited (15-minute), immutable
quoteIdto lock in a rate during checkout.Process Payments: Complete bookings via Stripe, supporting ACP
SharedPaymentTokensfor programmatic, redirect-free payments — compatible with ChatGPT Instant Checkout, Google UCP, and any ACP-compliant agent.Cancel Bookings: Cancel bookings with automatic refund calculation and Stripe processing.
Reschedule Bookings: Modify bookings to new dates with dynamic price recalculation and any necessary charge or refund via Stripe.
Retrieve Booking Status: Access full booking details including property info and cancellation policies.
Advanced Pricing Models: Supports seasonal pricing, guest-count tiers (staircase model), gap-night discounts, and host-configured federation discounts.
Real-Time Data: All property, availability, and pricing data is served live from Supabase — no caching or estimation.
Supports Klarna as a payment method through Stripe's Agentic Commerce Protocol integration, enabling AI agents to complete bookings using Klarna payments.
Enables payment processing for bookings through Stripe's Agentic Commerce Protocol (ACP), supporting SharedPaymentTokens, Klarna, Swish, and card payments without redirects or manual payment steps.
Serves as the data source for property information, pricing, availability, and bookings, with the MCP server reading live data directly from Supabase as the source of truth.
HemmaBo MCP Server
Booking infrastructure for vacation rentals.
HemmaBo is to vacation rental hosts what Mirai is to hotels — booking infrastructure on your own domain, Stripe direct, 0% commission.
See it live: villaåkerlyckan.se
npx hemmabo-mcp-serverWhat You Get
Own domain — Guests book on YourProperty.com (you control branding)
Stripe direct payments — Money to your bank, 0% commission
AI-bookable — ChatGPT, Claude, Gemini can search and book autonomously
9 production tools — Complete booking lifecycle (search, availability, pricing, booking, checkout, cancellation, rescheduling, status, modifications)
Real-time data — Never cached, pulled live from Supabase
Related MCP server: stripe
For Hosts: What You Get
Autonomous booking node — AI agents can discover, price, and book your property without human intervention
Host-controlled pricing — seasonal rates, guest-count tiers, package discounts (weekly/biweekly), gap-night discounts, federation discounts
Real-time accuracy — never cached prices, all data pulled live from your Supabase source of truth
Full booking lifecycle — search → quote → book → pay (Stripe ACP) → modify → cancel
Zero platform lock-in — open source (MIT), self-hostable, export your data anytime
For AI Systems: Protocol Support
Quick Start
Install via NPM (recommended)
npx hemmabo-mcp-serverAdd to your MCP client config (e.g., Claude Desktop):
{
"mcpServers": {
"hemmabo": {
"command": "npx",
"args": ["hemmabo-mcp-server"],
"env": {
"SUPABASE_URL": "https://your-project.supabase.co",
"SUPABASE_SERVICE_ROLE_KEY": "your-service-role-key"
}
}
}
}Install via Smithery
npx -y @smithery/cli install @info-00wt/federation-mcp-server --client claudeTools
Tool | Description | Read-only |
| Search vacation rentals by location, dates, and guest count. Returns available properties with live pricing (public + federation rates). | Yes |
| Check if a property is available for specific dates. Verifies blocked dates, bookings, and booking locks. | Yes |
| Get detailed pricing: publicTotal (website rate), federationTotal (direct booking rate), gapTotal (gap-night discount). Per-night breakdown included. | Yes |
| Create a direct booking at federation price. Validates availability, calculates price, creates pending booking for host approval. | No |
| Create a binding price quote with quoteId. Stores immutable snapshot, expires after 15 minutes. Pass quoteId to checkout to lock the price. | Yes |
| Create a booking with Stripe payment. Supports MPP (payment_intent mode for programmatic payment). Optionally locks price via quoteId. | No |
| Cancel a booking. Handles refund calculation, Stripe refund, email notifications via Supabase Edge Function. | No |
| Get booking details, property info, and cancellation policy by reservation ID. | Yes |
| Reschedule to new dates. Checks availability, recalculates price, handles Stripe charge/refund for price delta. | No |
Pricing Architecture
Host sets prices, seasons, guest tiers, federation discount
↓
property node (Supabase — source of truth)
↓
MCP Server reads live data — never cached, never estimated
↓
AI agents → federation_total (direct booking discount)
Websites → public_total (standard rate)
Gap nights → gap_total (calendar-context discount)Price Tiers
Scenario | Price | How |
Website / public |
| Sum of nightly rates per season, guest tier, and day type |
Federation / direct booking |
|
|
Gap night (between bookings) |
|
|
Guest-count pricing uses a staircase model (e.g. 1-2 guests, 3-4, 5-6). The host controls all discount percentages — nothing is hardcoded.
Setup
npm installCreate .env from .env.example:
cp .env.example .env
# Fill in SUPABASE_URL and SUPABASE_SERVICE_ROLE_KEY
# Optionally add STRIPE_SECRET_KEY for checkout/cancel/reschedule toolsRequired environment variables:
SUPABASE_URL— Your Supabase project URLSUPABASE_SERVICE_ROLE_KEY— Service role key (full database access)
Optional (enables Stripe-powered tools):
STRIPE_SECRET_KEY— Enablescheckout,cancel_booking, andreschedule_bookingtools
Agentic Commerce Protocol (ACP)
First vacation rental with Stripe ACP support. AI agents can complete bookings with SharedPaymentTokens — no redirect, no manual payment.
Endpoint | Method | Purpose |
| POST | Create checkout session |
| GET | Retrieve checkout state |
| PUT | Update (dates, guests, buyer) |
| POST | Complete with SharedPaymentToken (spt_) or PaymentMethod (pm_) |
| POST | Cancel checkout + refund |
Supports Stripe SharedPaymentTokens (SPT), Klarna, Swish, and card payments. Compatible with ChatGPT Instant Checkout, Google UCP, and any ACP-compliant agent.
MCP + ACP Endpoints
Path | Method | Purpose |
| POST | MCP Streamable HTTP endpoint |
| GET | Transport info |
| POST/GET/PUT | ACP checkout lifecycle |
| GET | Health check |
| GET | MCP discovery metadata |
| GET | Smithery server card |
Transport
Streamable HTTP (POST /mcp) — required for Smithery Gateway and remote MCP clients. Stateless (no session management needed).
How AI Agents Discover HemmaBo
HemmaBo is distributed across multiple channels to maximize AI discovery:
1. NPM Registry (Primary)
Package:
hemmabo-mcp-serverInstallation:
npx hemmabo-mcp-serverDiscovery: AI agents search NPM for "vacation rental MCP", "booking MCP", "property management MCP"
Keywords in package.json:
mcp,mcp-server,model-context-protocol,vacation-rental,direct-booking,property-management,pricing,availability,federation
2. MCP Registry (Anthropic Official)
Listed in Anthropic's official MCP registry: modelcontextprotocol.io
Indexed by Claude and other MCP-aware systems
Submission:
glama.jsonwith comprehensive metadata
3. Smithery Gateway
Public MCP server directory
Badge:
Install command:
npx -y @smithery/cli install @info-00wt/federation-mcp-server --client claude
4. GitHub Repository
README optimized for AI parsing with structured metadata
Comprehensive tool descriptions in code comments (AI agents read source during research)
5. Web Discovery Endpoints
https://hemmabo-mcp-server.vercel.app/.well-known/mcp.json— MCP capabilities manifesthttps://hemmabo-mcp-server.vercel.app/.well-known/mcp/server-card.json— Smithery metadatahttps://hemmabo-mcp-server.vercel.app/health— Status endpoint
License
MIT
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/HemmaBo-se/hemmabo-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server