mcp
Search & book Lakpura Sri Lanka tours, transfers, stays & activities as an AI agent.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"mcp": {
"url": "https://app.lakpura.com/api/mcp"
}
}
}원격 엔드포인트
https://app.lakpura.com/api/mcpstreamable-httphttps://mcp.lakpura.comstreamable-http할 수 있는 일
도구 목록
도구 (5)
🟢search_stays(query, limit)
Search Lakpura accommodation (hotels, villas, lodges) by name or city. Returns matching stays with their public page URL, city, country and star rating. Use get_service with the returned slug for room details and price.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Hotel/villa name or city (e.g. \"Galle\", \"Cinnamon\", \"Ella tree house\")."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 24,
"description": "Max results (default 12)."
}
},
"required": [
"query"
]
}🟢search_tours(query, kind, page, per_page)
Search Lakpura tours, day-trips and experiences by keyword. Returns each match with a slug, title, rating and its public page URL. Call get_service with a slug to see bookable options and price, then start_booking to book. Optional kind filter: "multi_day" (multi-day tours) or "single_day".
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Keyword(s) to match against the tour title (e.g. \"whale watching\", \"sigiriya\", \"safari\"). Omit to browse top-rated."
},
"kind": {
"type": "string",
"enum": [
"all",
"multi_day",
"single_day"
],
"description": "Filter by tour length. Default \"all\"."
},
"page": {
"type": "integer",
"minimum": 1,
"description": "Page number (default 1)."
},
"per_page": {
"type": "integer",
"minimum": 1,
"maximum": 48,
"description": "Results per page (default 20)."
}
}
}🟢search_products(query, max_price_usd, per_page)
Search physical products Lakpura sells and ships worldwide — Sri Lankan handicrafts, wooden masks, tea, spices, homeware, gifts. Returns each match with its Lakpura reference, title, USD price and public product page URL. Use this for anything the caller wants to BUY and have delivered; use search_tours or search_stays for travel instead.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Keyword(s) describing the product, e.g. \"raksha mask\", \"ceylon tea\", \"batik\", \"wooden elephant\". Required."
},
"max_price_usd": {
"type": "number",
"description": "Optional upper price limit in US dollars."
},
"per_page": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"description": "Results to return (default 8). Keep small — these are read aloud."
}
},
"required": [
"query"
]
}🟢get_service(slug)
Get full details of one tour/experience by slug: title, description, bookable options (each with a price and option_id) and whether it can be booked via start_booking. Pass an option_id from here to start_booking.
입력 스키마
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The service slug from search_tours (the last path segment of /products/{slug})."
}
},
"required": [
"slug"
]
}🟡start_booking(product_type, slug, option_id, selected_date, selected_start_time, ...)
Create a booking and get a secure Stripe checkout URL for the customer to pay. For product_type="tour": pass slug (from search_tours/get_service), selected_date (YYYY-MM-DD), pax, an optional option_id, and lead contact details. For product_type="transfer": pass from, to, optional vehicle/category/pickup_at, pax, and lead details. The price is calculated server-side and returned with the checkout_url. Payment confirms the booking.
입력 스키마
{
"type": "object",
"properties": {
"product_type": {
"type": "string",
"enum": [
"tour",
"transfer"
],
"description": "What is being booked."
},
"slug": {
"type": "string",
"description": "tour: service slug from search_tours/get_service."
},
"option_id": {
"type": "string",
"description": "tour: chosen option_id from get_service (optional — omit for the \"from\" price)."
},
"selected_date": {
"type": "string",
"description": "tour: travel date, YYYY-MM-DD (today or later)."
},
"selected_start_time": {
"type": "string",
"description": "tour: optional start time, e.g. \"09:00\"."
},
"pickup_text": {
"type": "string",
"description": "tour: optional pickup location / hotel."
},
"from": {
"type": "string",
"description": "transfer: pickup location (airport / city / hotel)."
},
"to": {
"type": "string",
"description": "transfer: drop-off location."
},
"vehicle": {
"type": "string",
"description": "transfer: vehicle class (default \"Standard Car\")."
},
"category": {
"type": "string",
"description": "transfer: e.g. \"Arrival Transfers\", \"Departure Transfers\" (default Arrival)."
},
"pickup_at": {
"type": "string",
"description": "transfer: pickup datetime (free text or ISO)."
},
"airline": {
"type": "string",
"description": "transfer: optional airline (airport transfers)."
},
"flight_number": {
"type": "string",
"description": "transfer: optional flight number."
},
"notes": {
"type": "string",
"description": "transfer: optional notes."
},
"pax": {
"type": "integer",
"minimum": 1,
"description": "Number of guests/passengers (default 1)."
},
"lead_first_name": {
"type": "string",
"description": "Customer first name."
},
"lead_surname": {
"type": "string",
"description": "Customer surname."
},
"lead_email": {
"type": "string",
"description": "Customer email (booking confirmation is sent here)."
},
"lead_phone": {
"type": "string",
"description": "Customer phone (optional, E.164 preferred)."
}
},
"required": [
"product_type",
"lead_first_name",
"lead_surname",
"lead_email"
]
}커뮤니티
증거