MCPサーバー

mcp

com.lakpura/mcp

このMCPでできること

Searches Sri Lankan tours, stays, transfers, and physical products, and can initiate bookings through a Stripe checkout.

get_service
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', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'The service slug from search_tours (the last path segment of /products/{slug}).'}}}
search_products
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', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Keyword(s) describing the product, e.g. "raksha mask", "ceylon tea", "batik", "wooden elephant". Required.'}, 'per_page': {'type': 'integer', 'maximum': 25, 'minimum': 1, 'description': 'Results to return (default 8). Keep small — these are read aloud.'}, 'max_price_usd': {'type': 'number', 'description': 'Optional upper price limit in US dollars.'}}}
search_stays
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', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'maximum': 24, 'minimum': 1, 'description': 'Max results (default 12).'}, 'query': {'type': 'string', 'description': 'Hotel/villa name or city (e.g. "Galle", "Cinnamon", "Ella tree house").'}}}
search_tours
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': {'kind': {'enum': ['all', 'multi_day', 'single_day'], 'type': 'string', 'description': 'Filter by tour length. Default "all".'}, 'page': {'type': 'integer', 'minimum': 1, 'description': 'Page number (default 1).'}, 'query': {'type': 'string', 'description': 'Keyword(s) to match against the tour title (e.g. "whale watching", "sigiriya", "safari"). Omit to browse top-rated.'}, 'per_page': {'type': 'integer', 'maximum': 48, 'minimum': 1, 'description': 'Results per page (default 20).'}}}
start_booking
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', 'required': ['product_type', 'lead_first_name', 'lead_surname', 'lead_email'], 'properties': {'to': {'type': 'string', 'description': 'transfer: drop-off location.'}, 'pax': {'type': 'integer', 'minimum': 1, 'description': 'Number of guests/passengers (default 1).'}, 'from': {'type': 'string', 'description': 'transfer: pickup location (airport / city / hotel).'}, 'slug': {'type': 'string', 'description': 'tour: service slug from search_tours/get_service.'}, 'notes': {'type': 'string', 'description': 'transfer: optional notes.'}, 'airline': {'type': 'string', 'description': 'transfer: optional airline (airport transfers).'}, 'vehicle': {'type': 'string', 'description': 'transfer: vehicle class (default "Standard Car").'}, 'category': {'type': 'string', 'description': 'transfer: e.g. "Arrival Transfers", "Departure Transfers" (default Arrival).'}, 'option_id': {'type': 'string', 'description': 'tour: chosen option_id from get_service (optional — omit for the "from" price).'}, 'pickup_at': {'type': 'string', 'description': 'transfer: pickup datetime (free text or ISO).'}, 'lead_email': {'type': 'string', 'description': 'Customer email (booking confirmation is sent here).'}, 'lead_phone': {'type': 'string', 'description': 'Customer phone (optional, E.164 preferred).'}, 'pickup_text': {'type': 'string', 'description': 'tour: optional pickup location / hotel.'}, 'lead_surname': {'type': 'string', 'description': 'Customer surname.'}, 'product_type': {'enum': ['tour', 'transfer'], 'type': 'string', 'description': 'What is being booked.'}, 'flight_number': {'type': 'string', 'description': 'transfer: optional flight number.'}, 'selected_date': {'type': 'string', 'description': 'tour: travel date, YYYY-MM-DD (today or later).'}, 'lead_first_name': {'type': 'string', 'description': 'Customer first name.'}, 'selected_start_time': {'type': 'string', 'description': 'tour: optional start time, e.g. "09:00".'}}}
追加
start_booking
2026年9月17日12:35
追加
get_service
2026年9月17日12:35
追加
search_products
2026年9月17日12:35
追加
search_tours
2026年9月17日12:35
追加
search_stays
2026年9月17日12:35