MCP 서버

Aurinia — book across venues via your AI assistant

online.aurinia/connect
헬스케어 여행 및 호스피탈리티 공개 · 연결 가능 MCP 2026-07-28

이 MCP로 할 수 있는 일

Finds venues and checks availability, prices, bookings, cancellations, and rescheduling for doctors, hostels, and spas.

book
REAL action: book at a network venue on the user's behalf. provider_id + item (the venue interprets it). Doctor: item={date,time}. Hostel: item={check_in,check_out,guests,promo_code?} — do NOT ask for name/contact: identity comes from a one-time Telegram consent. Spa: item={date,time,procedure}. Hostel: book returns a HOLD with payment_url; the booking is finalized by PAYMENT, not by this call. CONSENT: do NOT ask for approval up front — just call book. ONLY if the call returns consent_url/telegram.consent_url (linked=false = not yet authorized at this venue) do you show that link to the user for a one-tap approval in Telegram, then retry. If consent_url_native (tg://...) is present, try to open it on the user's device (open/xdg-open/Start-Process — launches Telegram directly if installed). BUT tg:// fails SILENTLY without Telegram — so ALWAYS also show the user consent_url (https): t.me opens the app or offers to install it. Open once, then retry. If already authorized (consent given earlier) book succeeds IMMEDIATELY, with no prompts. Never ask for consent when you already have it.
외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['provider_id', 'item'], 'properties': {'item': {'type': 'object', 'description': 'Doctor/spa: date,time. Hostel: check_in,check_out,guests,promo_code? (no contact needed — identity via Telegram consent).'}, 'provider_id': {'type': 'string'}}}
cancel
REAL action: cancel a booking at a network venue IMMEDIATELY — no confirmation step. If the user said cancel, cancel; do NOT re-ask (repeated confirmations frustrate users — act decisively). provider_id + item {booking_id} — the booking id from list_current_bookings. Do NOT ask for consent up front (only if the call returns a consent link).
외부 접근 가능 멱등성
입력 스키마
{'type': 'object', 'required': ['provider_id', 'item'], 'properties': {'item': {'type': 'object'}, 'provider_id': {'type': 'string'}}}
find_providers
Find a venue in the Aurinia network (doctor, hostel, spa). Optional: query (e.g. 'vertebrologist'), city, type. Returns a providers array; use a provider_id from it for get_availability / book.
읽기 전용 외부 접근 가능
입력 스키마
{'type': 'object', 'properties': {'city': {'type': 'string'}, 'type': {'type': 'string'}, 'query': {'type': 'string'}}}
출력 스키마
{'type': 'object', 'required': ['providers'], 'properties': {'providers': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'provider_id for other tools'}, 'city': {'type': 'string'}, 'name': {'type': 'string'}, 'type': {'type': 'string', 'description': 'doctor | hostel | spa'}, 'address': {'type': 'string'}}}}}}
get_availability
Availability and price at a venue. provider_id is required. Use EXACTLY these param names: doctor — date (YYYY-MM-DD); hostel — check_in, check_out, guests (with underscores: check_in/check_out, NOT 'checkin'/'checkout'; guests is an integer). There is no room_type param — a dorm bed is the default. Optional promo_code (AI-booking discount). If availability=null it almost always means wrong param names (check check_in/check_out).
읽기 전용 외부 접근 가능
입력 스키마
{'type': 'object', 'required': ['provider_id'], 'properties': {'date': {'type': 'string', 'description': 'Doctor: YYYY-MM-DD'}, 'guests': {'type': 'integer', 'description': 'Hostel: number of guests'}, 'check_in': {'type': 'string', 'description': 'Hostel: YYYY-MM-DD'}, 'check_out': {'type': 'string', 'description': 'Hostel: YYYY-MM-DD'}, 'promo_code': {'type': 'string'}, 'provider_id': {'type': 'string'}}}
출력 스키마
{'type': 'object', 'required': ['provider', 'availability'], 'properties': {'provider': {'type': 'string'}, 'availability': {'description': 'Venue-specific payload: doctor = free time slots; hostel = rooms & price. null usually means none available OR wrong param names (check check_in/check_out).'}}}
get_provider_info
Details for one venue by provider_id: id, type (doctor/hostel/spa), name, city, address. Read-only, no auth. Use it to confirm a venue before get_availability / book.
읽기 전용
입력 스키마
{'type': 'object', 'required': ['provider_id'], 'properties': {'provider_id': {'type': 'string'}}}
출력 스키마
{'type': 'object', 'required': ['id', 'type', 'name'], 'properties': {'id': {'type': 'string'}, 'city': {'type': 'string'}, 'name': {'type': 'string'}, 'type': {'type': 'string', 'description': 'doctor | hostel | spa'}, 'address': {'type': 'string'}}}
list_current_bookings
The user's current/upcoming bookings at a network venue (by date, nearest first). Each has a status field (e.g. booked/confirmed/cancelled) — distinguish active vs cancelled. provider_id optional (without it — the first venue). Requires authorization.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'provider_id': {'type': 'string'}}}
list_past_bookings
The user's past bookings at a network venue (by date, most recent first). Each has a status field. provider_id optional; limit (default 20)/offset for pagination. Requires authorization.
읽기 전용
입력 스키마
{'type': 'object', 'properties': {'limit': {'type': 'integer'}, 'offset': {'type': 'integer'}, 'provider_id': {'type': 'string'}}}
reschedule
REAL action: reschedule a booking at a network venue. provider_id + item (doctor: {date, from, to} — SAME day, ATOMIC: if the target slot was just taken, the user KEEPS their current slot — never loses the held slot; that guarantee is the point). For a DIFFERENT day just book again (cross-day needs no atomic hold). No confirmation — act on request; do NOT ask for consent up front (only if the call returns a consent link). Not all venues support it: a hostel has NO reschedule — there, cancel and book again.
외부 접근 가능 멱등성
입력 스키마
{'type': 'object', 'required': ['provider_id', 'item'], 'properties': {'item': {'type': 'object'}, 'provider_id': {'type': 'string'}}}
추가됨
list_past_bookings
2026년 9월 17일 12:54 PM
추가됨
list_current_bookings
2026년 9월 17일 12:54 PM
추가됨
cancel
2026년 9월 17일 12:54 PM
추가됨
reschedule
2026년 9월 17일 12:54 PM
추가됨
book
2026년 9월 17일 12:54 PM
추가됨
get_availability
2026년 9월 17일 12:54 PM
추가됨
get_provider_info
2026년 9월 17일 12:54 PM
추가됨
find_providers
2026년 9월 17일 12:54 PM