Loading...
Loading...
Plan a luxury African safari from inside Claude, ChatGPT, Perplexity, or Grok.
Kiuli operates a public Model Context Protocol server at mcp.kiuli.com. AI chatbots that speak MCP can call five tools to:
plan_safari).search_properties).list_published_itineraries, get_published_itinerary_by_slug).request_inquiry_handoff).Bespoke sketches never carry a USD price — that's a deliberate Kiuli invariant. A real Kiuli designer confirms the exact figure with each operator after checking availability. Published-itinerary fromPrice values are the only place dollar figures appear, and only because those are public on kiuli.com already.
https://mcp.kiuli.com as the server URL.https://mcp.kiuli.com.https://mcp.kiuli.com.https://mcp.kiuli.com.plan_safari (read-only)Input: { brief: string, travellers?: { adults?, children? }, preferences?: string[], contact?: { name?, email?, phone? } }
Output: a SafariSketch with a 200–400 word narrative, structured trip skeleton (nights, countries, properties, transfers, best months), published anchors (the only place USD appears), an internal tier label, confidence flags, open questions, qualifier state, and a static pricing disclaimer.
search_properties (read-only)Semantic search across Kiuli's published property catalogue. Returns matching lodges/camps with name, type, description, destination, star rating, and a fit signal. No per-night USD prices.
list_published_itineraries (read-only)Returns up to 10 of Kiuli's 22 published sample itineraries with title, slug, countries, nights, summary, and fromPricePerPersonUsd. Optional filters: country slug, max price, interests.
get_published_itinerary_by_slug (read-only)Full detail for a single published itinerary — title, day-by-day breakdown, countries, summary, and from/to price per person.
request_inquiry_handoff (destructive)Input: { sketch_id: number, contact: { name, email, phone? }, notes?, mcp_partner_slug?, confirm: 'EXECUTE' }
References a sketch that plan_safari previously returned. Creates an inquiry in Kiuli's pipeline, fires a HubSpot deal, assigns one of our designers, and sends customer + designer notification emails. The magic-string confirm='EXECUTE' guard is required for the call to proceed.
The handoff tool accepts mcp_partner_slug (e.g. claude, chatgpt, perplexity, grok). When set, the resulting inquiry carries utm_source = mcp:<partner-slug> and the HubSpot deal source is tagged AI Partner: <partner-slug>. This gives Kiuli a clean attribution picture without surfacing the partner identity to the customer.
100 calls / minute / identity. Authenticated callers are bucketed by their OAuth client_id; anonymous paste-URL traffic shares a single bucket. Limits can change without notice as we calibrate. A 429 response is the signal to back off.
OAuth 2.1 + PKCE with Dynamic Client Registration (RFC 7591). The first time a connector points at mcp.kiuli.com, it registers itself via the standard MCP DCR flow; subsequent calls use bearer tokens. The flow is the platform-standard one — Claude / ChatGPT / Perplexity / Grok handle it transparently.
Kiuli is a qualification machine. The MCP-facing agent assesses every brief for travel intent + budget signal and assigns one of: qualified, not_qualified, pending. Not-qualified handoffs create an audit-only inquiry row and close politely — no HubSpot deal, no designer email. This keeps our designers focused on customers who fit Kiuli's $25k–$100k+ per person band.
By using the server you agree that Kiuli may store the briefs and handoffs you submit for the purpose of operating the planning conversation, may share the contact details + sketch with the assigned designer, and may use aggregated, non-identifying usage metrics to improve the service. Personal data handling is covered in the MCP privacy notice.
The server is provided as-is. Tool outputs are planning sketches, not quotes. A real Kiuli designer confirms the exact price and availability before any booking.
For partner enquiries, abuse reports, or to flag issues with the server: hello@kiuli.com.