VibeBooking
Find and price independent hotels and inns in Japan, then book on the hotel's own site.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"vibebook": {
"url": "https://vibebook.vibebooking.ai/mcp"
}
}
}Puntos de conexión remotos
https://vibebook.vibebooking.ai/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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
}Comunidad
Evidencia