OKstays
Hotels ranked by real comfort, not commission: search 30,000+ hotels by quiet, beds, WiFi and more
我該用這個嗎
品質與安全性
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"okstays": {
"url": "https://okstays.com/api/mcp"
}
}
}遠端端點
https://okstays.com/api/mcpstreamable-http它能做什麼
工具清單
工具(7)
🟢search_hotels(location, persona, tags, min_score, max_price, ...)
Rank hotels in a city by the OKstays Comfort Score (AI scores on the comfort filters; cleanliness, beds, shower, bugs and safety count 40%). Only hotels that pass all five must-haves are returned. Optionally rank for a travel style (persona) and/or require specific strengths. Returns up to 10 hotels with strengths, caveats, price and links.
輸入結構描述
{
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "City name or slug, e.g. 'Barcelona' or 'new-york'. Use list_cities for coverage."
},
"persona": {
"type": "string",
"description": "Travel style to rank for: digital-nomad, deep-sleep, avoid-crowds, romantic, family, business, solo-safe, luxury, budget-comfort."
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filter ids the hotel must score 8+ on, e.g. ['soundproofing', 'reliable_wifi']. See get_filters."
},
"min_score": {
"type": "number",
"minimum": 0,
"maximum": 10,
"description": "Minimum Comfort Score (0-10)."
},
"max_price": {
"type": "number",
"minimum": 0,
"description": "Maximum indicative price per night in USD."
},
"district": {
"type": "string",
"description": "Neighbourhood to restrict to, e.g. 'Gothic Quarter'. get_city_overview lists the districts."
},
"near_lat": {
"type": "number",
"description": "Latitude of a landmark or address the user names (not the user's own location); with near_lng restricts results to hotels within radius_km and reports distance_km."
},
"near_lng": {
"type": "number",
"description": "Longitude of the point of interest."
},
"radius_km": {
"type": "number",
"minimum": 0.1,
"description": "Search radius around near_lat/near_lng in km (default 3)."
},
"sort_by": {
"type": "string",
"enum": [
"best",
"cheapest",
"priciest",
"value",
"nearest"
],
"description": "best = Comfort Score (default); value = Comfort Score per $100; nearest needs near_lat/near_lng."
}
},
"required": [
"location"
]
}🟢get_hotel(hotel_id)
Full details for one hotel: Comfort Score breakdown, every filter score with its explanation, caveats, price and links.
輸入結構描述
{
"type": "object",
"properties": {
"hotel_id": {
"type": "string",
"description": "Hotel id (numeric string) from search_hotels."
}
},
"required": [
"hotel_id"
]
}🟢list_cities(country)
Destinations covered, with hotel counts. Optionally only those in one country.
輸入結構描述
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "Country name to filter by, e.g. 'Spain'."
}
}
}🟢get_filters
All comfort filters (ids, names, descriptions, categories) usable in search_hotels, plus the travel styles (personas).
輸入結構描述
{
"type": "object",
"properties": {}
}🟢compare_hotels(hotel_ids)
Compare 2-4 hotels side by side: Comfort Score breakdown, price, strengths, caveats, the filters where they differ most, and a verdict (best comfort, cheapest, best value).
輸入結構描述
{
"type": "object",
"properties": {
"hotel_ids": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2,
"maxItems": 4,
"description": "2-4 hotel ids from search_hotels."
}
},
"required": [
"hotel_ids"
]
}🟢find_similar_hotels(hotel_id, cheaper_only, max_price, limit)
Hotels in the same city with the comfort profile closest to a given hotel (similar scores across the comfort filters). Use cheaper_only for 'like this one but cheaper'.
輸入結構描述
{
"type": "object",
"properties": {
"hotel_id": {
"type": "string",
"description": "Hotel id to find alternatives for."
},
"cheaper_only": {
"type": "boolean",
"description": "Only hotels priced below this one."
},
"max_price": {
"type": "number",
"minimum": 0,
"description": "Maximum price per night in USD."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"description": "How many to return (default 5)."
}
},
"required": [
"hotel_id"
]
}🟢get_city_overview(location)
Snapshot of a destination: hotel counts, average Comfort Score, median price, where its hotels beat and trail the average hotel, the best neighbourhoods, and which travel styles it suits. Use it when the user is choosing a destination or an area; for a request for hotels (e.g. 'quiet hotels in Bangkok'), call search_hotels directly.
輸入結構描述
{
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "City name or slug."
}
},
"required": [
"location"
]
}社群
證據