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"
]
}社区
证据