The KaribuKit MCP server
Connect Claude, Codex, or any MCP client to your property. Bookings, folios, availability and rates — over one secure endpoint, with an API key you control.
Run the property in plain language.
Bookings & groups
Create single and multi-room reservations, confirm them, and check guests in and out.
Folios & payments
Post charges, take payments, split and transfer folios, and raise invoices.
Availability & rates
Check availability, quote stays, and manage rate plans and date overrides.
Reports & ops
Today's dashboard, occupancy, night audit, and the property audit trail.
Connect in three steps.
- 1
Create an API key
In KaribuKit, open Settings → API Keys and create a key — read-only for a lookup assistant, or scoped write for one that books and bills. Copy it; the key is shown only once.
- 2
Add it to your client
Pick your client below and paste the config, swapping in your key. One endpoint, one header — that is the whole connection.
- 3
Ask your assistant
“What arrivals do we have today?” · “Book the Acacia suite for the Okello family, 12–15 June.” Your client now works directly against your property.
Copy the config, paste in your key.
# ~/.codex/config.toml
[mcp_servers.karibukit]
url = "https://api.karibukit.com/api/mcp"
http_headers = { "X-Api-Key" = "kk_live_your_key_here" }Codex speaks Streamable HTTP natively — no bridge needed. Add this to your config and restart Codex.
Any other client
Cursor, VS Code, Windsurf and most other MCP clients connect the same way — point them at the endpoint and send your key as a header.
Transport Streamable HTTP
URL https://api.karibukit.com/api/mcp
Auth X-Api-Key: kk_live_your_key_here72 tools across 16 areas.
Every tool respects the calling key’s role and scopes. Read keys see read tools; write tools need a write scope.
- check_availability
- Room availability for a date range, by type and unit.
- get_calendar
- Reservations and room blocks across a date range.
- book_stay
- Create a single-room reservation with guest, dates and pricing.
- book_group
- Create a multi-room group reservation in one call.
- book_services
- Add guest services (activities, transfers) to a stay.
- search_reservations
- Search and filter reservations with pagination.
- get_reservation
- Full detail for one reservation.
- get_reservation_summary
- Lightweight reservation summary.
- get_reservation_services
- Service bookings attached to a reservation.
- update_reservation
- Edit guest details, notes and stay fields.
- check_in
- Check a guest in.
- check_out
- Check a guest out and settle the balance.
- extend_stay
- Push the check-out date out.
- shorten_stay
- Pull the check-out date in.
- change_room_type
- Move a stay to a different room type.
- quote_room_change
- Preview the cost of a room-type change.
- change_room
- Reassign a stay to a specific room.
- confirm_group
- Confirm every tentative room in a group.
- get_group_checkout_preview
- Preview charges before a group checkout.
- checkout_group
- Check out and settle a whole group.
- get_folio
- A folio with its line items.
- list_folios
- Search folios by guest, date or status.
- post_charge
- Add a charge to a folio.
- record_payment
- Record a payment against a folio.
- void_charge
- Void an existing charge.
- transfer_charge
- Move a charge between folios.
- create_split_folio
- Split a folio for multi-party billing.
- list_invoices
- Search invoices.
- get_invoice
- A single invoice.
- create_invoice_from_folio
- Generate an invoice from a folio.
- void_invoice
- Void an invoice.
- quote_stay
- Real-time nightly quote for a stay.
- list_rate_plans
- Active rate plans.
- get_rate_configuration
- A rate plan's rules and definition.
- list_rate_overrides
- Date-specific rate overrides.
- update_rate_plan
- Edit a rate plan.
- upsert_room_type_rate
- Set the rate for a room type and plan.
- create_rate_overrides
- Create bulk date-range rate overrides.
- list_room_types
- Room types with occupancy rules.
- list_rooms
- Individual rooms with status.
- list_room_blocks
- OTA and group holds.
- create_room_block
- Block rooms for a date range.
- delete_room_block
- Remove a room block.
- search_guests
- Find guests by name or email.
- upsert_guest
- Create or update a guest profile.
- add_guest_note
- Add an internal note to a guest.
- list_service_types
- Bookable services with pricing.
- get_service_booking
- A single service booking.
- update_service_booking
- Update vendor, status or notes.
- create_lead
- Capture an enquiry.
- search_leads
- Search leads.
- get_lead
- A single lead.
- update_lead
- Update lead status or detail.
- create_proposal
- Start a proposal / quote.
- update_proposal
- Edit proposal metadata.
- get_proposal
- A proposal with its line items.
- add_proposal_line_item
- Add a room or service line.
- update_proposal_line_item
- Adjust a line item.
- remove_proposal_line_item
- Remove a line item.
- get_proposal_share_link
- Public share link for a proposal.
- send_proposal
- Email the proposal to the guest.
- convert_proposal_to_reservation
- Turn an accepted proposal into a booking.
- list_proposal_kb
- Browse the proposal template library.
- get_dashboard
- Today's occupancy, arrivals and departures.
- get_report_summary
- Multi-metric summary report.
- get_occupancy_report
- Occupancy by room type and date.
- get_month_summary
- Revenue and occupancy for a month.
- get_night_audit_log
- Night-audit results and failures.
- trigger_night_audit
- Run the night audit manually.
- get_property
- Property metadata (name, timezone, currency).
- update_property_settings
- Update property settings.
- get_audit_log
- Read the audit trail (managers only).
One key. One property. Your scopes.
- Authenticate with an API key in the
X-Api-Keyheader. No OAuth setup, no callback URLs. - Each key is scoped to a single property, so a connected client only ever sees that property’s data.
- Scopes gate what a key can do — issue read-only keys for assistants that should never change anything.
- Writes are idempotent: the server de-duplicates retries, so a dropped request won’t double-book or double-charge.
Endpoint https://api.karibukit.com/api/mcp
Transport Streamable HTTP
Auth X-Api-Key request headerAnything that speaks MCP over Streamable HTTP and lets you set a request header. Codex and Claude Code connect natively; Claude Desktop connects through the mcp-remote bridge. Cursor, VS Code and Windsurf work too — point them at the endpoint and add the X-Api-Key header (see "Any other client").
Yes. Every API key is scoped to a single property. The server resolves the property from the key, so a connected client can only ever read and change that one property’s data.
Yes. API keys carry scopes (read versus write, per area). Create a read-only key for an assistant that should never change anything, and a scoped write key for one that books and bills. You choose the scopes when you create the key in Settings → API Keys.
API-key requests are limited to 300 per minute per key. Writes are idempotent — the server de-duplicates retries automatically, so a dropped connection won’t double-book or double-charge.
Not yet. ChatGPT’s connectors require an OAuth flow we don’t expose for third-party clients. Use Codex, Claude, or another header-capable client for now.
Put your property in your assistant.
Generate a key and connect your first client in a couple of minutes.
Get an API key