VibeBooking
Find and price independent hotels and inns in Japan, then book on the hotel's own site.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"vibebook": {
"url": "https://vibebook.vibebooking.ai/mcp"
}
}
}원격 엔드포인트
https://vibebook.vibebooking.ai/mcpstreamable-http할 수 있는 일
도구 목록
도구 (5)
🟢book_link(checkin, currency, guests, hotel, nights, ...)
The link that hands the traveller to the hotel's own booking page for a stay, optionally for one offer from get_rates (its id, and total.minor and total.currency as get_rates gave them, so the price is re-checked when they click). Nothing is booked, held or paid here: the traveller books and pays on the hotel's page. Never call it a confirmed booking.
입력 스키마
{
"type": "object",
"properties": {
"checkin": {
"description": "Check-in date, YYYY-MM-DD.",
"type": "string"
},
"currency": {
"description": "With offer: total.currency from get_rates, such as JPY.",
"type": "string"
},
"guests": {
"description": "Number of adult guests.",
"type": "integer"
},
"hotel": {
"description": "The hotel id from search_hotels or resolve_hotel, or the hotel's website domain.",
"type": "string"
},
"nights": {
"description": "Number of nights, 1 or more.",
"type": "integer"
},
"offer": {
"description": "The offer's id from get_rates; leave out to open the hotel's booking page for the stay.",
"type": "string"
},
"total": {
"description": "With offer: total.minor from get_rates, the whole-stay total in minor units.",
"type": "integer"
}
},
"required": [
"hotel",
"checkin",
"nights",
"guests"
],
"additionalProperties": false
}🟢get_hotel(hotel, room)
A VibeBooking hotel's published facts, with no dates needed: name, address, check-in and cancellation terms, images and its room types (rooms[].ref, name, max_occupancy, size_m2 and each room's own facts). With room, a ref from rooms[].ref, one room type's page instead. hotel is the id from search_hotels or resolve_hotel, or the hotel's domain. For a hotel that is not ours the answer is its own site's address.
입력 스키마
{
"type": "object",
"properties": {
"hotel": {
"description": "The hotel id from search_hotels or resolve_hotel, or the hotel's website domain.",
"type": "string"
},
"room": {
"description": "A room type's ref, from get_hotel's rooms[].ref; leave out for the whole hotel.",
"type": "string"
}
},
"required": [
"hotel"
],
"additionalProperties": false
}🟢get_rates(checkin, guests, hotel, nights)
Live rates for a stay at a VibeBooking hotel: each room and plan's whole-stay total with its currency, tax and cancellation terms, when the rate was read (observed_at), and book: the link to give the traveller for the cheapest offer. For another offer, call book_link with its id and total. hotel is the id from search_hotels or resolve_hotel, or the hotel's domain. For a hotel that is not ours there are no rates here: the answer is its own site's address.
입력 스키마
{
"type": "object",
"properties": {
"checkin": {
"description": "Check-in date, YYYY-MM-DD.",
"type": "string"
},
"guests": {
"description": "Number of adult guests.",
"type": "integer"
},
"hotel": {
"description": "The hotel id from search_hotels or resolve_hotel, or the hotel's website domain.",
"type": "string"
},
"nights": {
"description": "Number of nights, 1 or more.",
"type": "integer"
}
},
"required": [
"hotel",
"checkin",
"nights",
"guests"
],
"additionalProperties": false
}🟢resolve_hotel(domain_or_name)
Call this whenever the user gives you, or your web search finds, a hotel's website. Pass its domain or URL. For a VibeBooking hotel it answers the hotel id and its agent page, which get_hotel, get_rates and book_link take; for any other hotel, its own site to send the traveller to and, when we have probed it, its agent-readiness level and the surfaces an agent can use there. A hotel name alone cannot be resolved: find its website first.
입력 스키마
{
"type": "object",
"properties": {
"domain_or_name": {
"description": "The hotel's website domain or URL, such as inn.example.jp. A name alone is not enough.",
"type": "string"
}
},
"required": [
"domain_or_name"
],
"additionalProperties": false
}🟢search_hotels(area, checkin, guests, min_level, nights)
Search VibeBooking's registry of independent hotels and inns in Japan by destination area: a city, ward, district or station name as it appears in a hotel's address (日本語 or English, e.g. 京都市東山区, Gion, 河原町). This is where the traveller wants to stay, not where they are. The registry is small and growing: when it has no match, use your own web search to find hotels' websites, then call resolve_hotel with each domain. Each hit carries the hotel id to pass to get_hotel (its facts and room types) or get_rates. other_hotels lists hotels in the same prefecture that are not VibeBooking's, from our agent-readiness index: each one's own site and how far an agent can get there (level 0 invisible, 1 discoverable, 2 priceable, 3 machine-readable, 4 transactable), at min_level or above. There are no rates for them here, but they are real places to stay: list them to the traveller by their site, beside any hit, so they can check dates and book there.
입력 스키마
{
"type": "object",
"properties": {
"area": {
"description": "Where the traveller wants to stay: a city, ward, district or station name.",
"type": "string"
},
"checkin": {
"description": "Check-in date, YYYY-MM-DD.",
"type": "string"
},
"guests": {
"description": "Number of adult guests.",
"type": "integer"
},
"min_level": {
"description": "Lowest agent-readiness level to list in other_hotels, 0 to 4; default 1.",
"type": "integer"
},
"nights": {
"description": "Number of nights, 1 or more.",
"type": "integer"
}
},
"required": [
"area"
],
"additionalProperties": false
}커뮤니티
증거