MCPサーバー

Dim Hour

com.dimhour/catalog

このMCPでできること

Searches and describes restaurants, bars, and other venues across covered cities, including hours, pricing, quality scores, and curated lists.

fetch
Fetch a Dim Hour venue
Get the full Dim Hour record for one venue by the id returned from `search`: description, signature dishes, address, hours, phone, happy hour, reservation platform, awards, website and Instagram.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': "Venue id from `search`, in the form 'city:id' e.g. 'nyc:1367'"}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id', 'title', 'text', 'url', 'receipt'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'text': {'type': 'string'}, 'title': {'type': 'string'}, 'receipt': {'type': 'object', 'required': ['as_of', 'as_of_scope', 'source', 'abstained', 'stale', 'reason'], 'properties': {'as_of': {'type': ['string', 'null']}, 'stale': {'type': 'boolean'}, 'reason': {'type': ['string', 'null']}, 'source': {'type': 'string'}, 'abstained': {'type': 'boolean'}, 'as_of_scope': {'type': 'string'}}, 'additionalProperties': False}, 'metadata': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'additionalProperties': False}
find_places
Find places
Find places for a specific occasion in one city — the task-shaped entry point. Give the city and what the evening needs (a cuisine, a neighborhood, a budget, a vibe) and it returns ranked, citable venues with a freshness receipt. Prefer this over search_venues when you are planning rather than browsing.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['city'], 'properties': {'city': {'type': 'string', 'description': 'City name or key from list_cities'}, 'limit': {'type': 'integer', 'maximum': 25, 'minimum': 1, 'description': 'Max results, default 6'}, 'max_price': {'type': 'integer', 'maximum': 4, 'minimum': 1, 'description': 'Max price tier 1-4'}, 'looking_for': {'type': 'string', 'description': "What the occasion needs, e.g. 'omakase', 'patio', 'birthday dinner'"}, 'neighborhood': {'type': 'string', 'description': 'Narrow to a neighborhood'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['city', 'total_matches', 'showing', 'venues', 'receipt'], 'properties': {'city': {'type': 'string'}, 'note': {'type': 'string'}, 'venues': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'cuisine', 'neighborhood', 'happy_hour', 'reservation', 'description', 'url'], 'properties': {'id': {'type': 'number'}, 'url': {'type': 'string'}, 'name': {'type': 'string'}, 'price': {'type': 'string'}, 'score': {'type': 'number'}, 'awards': {'type': 'string'}, 'iconic': {'type': 'boolean'}, 'opened': {'type': 'string'}, 'cuisine': {'type': 'string'}, 'trending': {'type': 'boolean'}, 'happy_hour': {'type': 'string'}, 'description': {'type': 'string'}, 'reservation': {'type': 'string'}, 'neighborhood': {'type': 'string'}}, 'additionalProperties': False}}, 'receipt': {'type': 'object', 'required': ['as_of', 'as_of_scope', 'source', 'abstained', 'stale', 'reason'], 'properties': {'as_of': {'type': ['string', 'null']}, 'stale': {'type': 'boolean'}, 'reason': {'type': ['string', 'null']}, 'source': {'type': 'string'}, 'abstained': {'type': 'boolean'}, 'as_of_scope': {'type': 'string'}}, 'additionalProperties': False}, 'showing': {'type': 'number'}, 'total_matches': {'type': 'number'}}, 'additionalProperties': False}
get_hours
Get opening hours
Opening hours for one venue, from the Dim Hour catalog. ALWAYS returns `as_of` and never claims to be live — hours are catalog data, not a live feed, and the receipt says how old they are. Measured 2026-09-16, 82% of venues carry hours; when a venue has none this ABSTAINS and says so rather than guessing. Confirm with the venue before relying on it.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['city'], 'properties': {'id': {'type': 'integer', 'description': 'Venue id from search_venues'}, 'city': {'type': 'string', 'description': 'City name or key'}, 'name': {'type': 'string', 'description': 'Venue name (used if id not given)'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['city', 'id', 'name', 'hours', 'url', 'receipt'], 'properties': {'id': {'type': 'number'}, 'url': {'type': 'string'}, 'city': {'type': 'string'}, 'name': {'type': 'string'}, 'hours': {'type': ['string', 'null']}, 'receipt': {'type': 'object', 'required': ['as_of', 'as_of_scope', 'source', 'abstained', 'stale', 'reason'], 'properties': {'as_of': {'type': ['string', 'null']}, 'stale': {'type': 'boolean'}, 'reason': {'type': ['string', 'null']}, 'source': {'type': 'string'}, 'abstained': {'type': 'boolean'}, 'as_of_scope': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
get_venue
Get venue details
Get the full Dim Hour record for one venue: description, signature dishes, address, hours, phone, happy hour, reservation platform, awards, website, Instagram, and (for Iconic 50 venues) the long-form story.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['city'], 'properties': {'id': {'type': 'integer', 'description': 'Venue id from search_venues'}, 'city': {'type': 'string', 'description': 'City name or key'}, 'name': {'type': 'string', 'description': 'Venue name (used if id not given)'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id', 'name', 'cuisine', 'neighborhood', 'tags', 'description', 'dishes', 'happy_hour', 'address', 'hours', 'phone', 'reservation', 'awards', 'website', 'instagram', 'url', 'city_name', 'photoUrl', 'receipt'], 'properties': {'id': {'type': 'number'}, 'lat': {'type': 'number'}, 'lng': {'type': 'number'}, 'url': {'type': 'string'}, 'name': {'type': 'string'}, 'tags': {'type': 'array', 'items': {'type': 'string'}}, 'hours': {'type': 'string'}, 'phone': {'type': 'string'}, 'price': {'type': 'string'}, 'score': {'type': 'number'}, 'story': {'type': 'string'}, 'awards': {'type': 'string'}, 'dishes': {'type': 'array', 'items': {'type': 'string'}}, 'iconic': {'type': 'boolean'}, 'opened': {'type': 'string'}, 'address': {'type': 'string'}, 'cuisine': {'type': 'string'}, 'receipt': {'type': 'object', 'required': ['as_of', 'as_of_scope', 'source', 'abstained', 'stale', 'reason'], 'properties': {'as_of': {'type': ['string', 'null']}, 'stale': {'type': 'boolean'}, 'reason': {'type': ['string', 'null']}, 'source': {'type': 'string'}, 'abstained': {'type': 'boolean'}, 'as_of_scope': {'type': 'string'}}, 'additionalProperties': False}, 'website': {'type': 'string'}, 'photoUrl': {'type': 'string'}, 'trending': {'type': 'boolean'}, 'city_name': {'type': 'string'}, 'instagram': {'type': 'string'}, 'happy_hour': {'type': 'string'}, 'highlights': {'type': 'array', 'items': {'type': 'string'}}, 'price_tier': {'type': 'number'}, 'description': {'type': 'string'}, 'reservation': {'type': 'string'}, 'neighborhood': {'type': 'string'}, 'other_locations': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
list_cities
List cities
List the 24 cities Dim Hour covers, with the city key to pass to the other tools.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['cities'], 'properties': {'cities': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'name', 'state', 'kind'], 'properties': {'key': {'type': 'string'}, 'kind': {'enum': ['city', 'state'], 'type': 'string'}, 'name': {'type': 'string'}, 'state': {'type': 'string'}, 'parent': {'type': 'string'}, 'children': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}}}, 'additionalProperties': False}
list_curated
List editorial lists
Dim Hour's editorial themed lists for a city (e.g. 'Unmarked Doors' speakeasies). Without list_id: returns all list titles. With list_id: returns that list's venues with editorial notes.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['city'], 'properties': {'city': {'type': 'string', 'description': 'City name or key'}, 'list_id': {'type': 'string', 'description': 'A list id from the no-arg call'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['city', 'receipt'], 'properties': {'id': {'type': 'string'}, 'city': {'type': 'string'}, 'note': {'type': 'string'}, 'lists': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'subtitle', 'venue_count'], 'properties': {'id': {'type': 'string'}, 'title': {'type': 'string'}, 'subtitle': {'type': 'string'}, 'venue_count': {'type': 'number'}}, 'additionalProperties': False}}, 'title': {'type': 'string'}, 'venues': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'note', 'url'], 'properties': {'id': {'type': 'number'}, 'url': {'type': 'string'}, 'name': {'type': 'string'}, 'note': {'type': 'string'}, 'price': {'type': 'string'}, 'neighborhood': {'type': 'string'}}, 'additionalProperties': False}}, 'receipt': {'type': 'object', 'required': ['as_of', 'as_of_scope', 'source', 'abstained', 'stale', 'reason'], 'properties': {'as_of': {'type': ['string', 'null']}, 'stale': {'type': 'boolean'}, 'reason': {'type': ['string', 'null']}, 'source': {'type': 'string'}, 'abstained': {'type': 'boolean'}, 'as_of_scope': {'type': 'string'}}, 'additionalProperties': False}, 'subtitle': {'type': 'string'}}, 'additionalProperties': False}
list_new_venues
List new venues
Venues recently added to the Dim Hour catalog — across all 24 cities or one city. Use for 'what's new on Dim Hour' / new-opening alerts / weekly digests. Scored places to eat and drink come first; hotels, malls, museums and landmarks carry no `score` and follow them. Recency orders within each group. Dates earlier than 2026-06-06 are estimates reconstructed from history.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'city': {'type': 'string', 'description': 'Optional city name or key; omit for all cities'}, 'days': {'type': 'integer', 'maximum': 90, 'minimum': 1, 'description': 'Look-back window in days, default 30 (max 90)'}, 'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Max results, default 25'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['window_days', 'city', 'total_new', 'showing', 'receipt', 'venues'], 'properties': {'city': {'type': 'string'}, 'venues': {'type': 'array', 'items': {'type': 'object', 'required': ['city', 'city_name', 'id', 'name', 'cuisine', 'neighborhood', 'awards', 'happy_hour', 'first_seen', 'url'], 'properties': {'id': {'type': 'number'}, 'url': {'type': 'string'}, 'city': {'type': 'string'}, 'name': {'type': 'string'}, 'price': {'type': 'string'}, 'score': {'type': 'number'}, 'awards': {'type': 'string'}, 'cuisine': {'type': 'string'}, 'city_name': {'type': 'string'}, 'estimated': {'type': 'boolean'}, 'first_seen': {'type': 'string'}, 'happy_hour': {'type': 'string'}, 'neighborhood': {'type': 'string'}}, 'additionalProperties': False}}, 'receipt': {'type': 'object', 'required': ['as_of', 'as_of_scope', 'source', 'abstained', 'stale', 'reason'], 'properties': {'as_of': {'type': ['string', 'null']}, 'stale': {'type': 'boolean'}, 'reason': {'type': ['string', 'null']}, 'source': {'type': 'string'}, 'abstained': {'type': 'boolean'}, 'as_of_scope': {'type': 'string'}}, 'additionalProperties': False}, 'showing': {'type': 'number'}, 'total_new': {'type': 'number'}, 'window_days': {'type': 'number'}, 'feed_generated': {'type': 'string'}}, 'additionalProperties': False}
search
Search Dim Hour
Search Dim Hour's restaurant, bar and venue catalog across all 24 cities. Returns ranked venues with a dimhour.com link for each. Use for questions about where to eat or drink — by cuisine, dish, neighborhood, city, vibe, or award.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': "What to look for, e.g. 'best ramen in NYC', 'michelin dallas', 'rooftop bar miami'"}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['results', 'receipt'], 'properties': {'receipt': {'type': 'object', 'required': ['as_of', 'as_of_scope', 'source', 'abstained', 'stale', 'reason'], 'properties': {'as_of': {'type': ['string', 'null']}, 'stale': {'type': 'boolean'}, 'reason': {'type': ['string', 'null']}, 'source': {'type': 'string'}, 'abstained': {'type': 'boolean'}, 'as_of_scope': {'type': 'string'}}, 'additionalProperties': False}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'title': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
search_venues
Search venues
Search Dim Hour's restaurant, bar and venue catalog. Pass `city` to search one city, or OMIT `city` to search more than 20,000 venues across every city at once (e.g. 'best ramen anywhere', 'michelin spots'). Returns ranked matches with score (0-100 quality), price tier, neighborhood, happy-hour info, and a dimhour.com link. Free-text `query` matches each content word individually across cuisine, dish, vibe, and name (filler like 'best' or 'tonight' is ignored) - one strong keyword beats a sentence; combine with filters.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'city': {'type': 'string', 'description': "City name or key, e.g. 'NYC', 'dallas'. OMIT to search ALL cities at once."}, 'sort': {'enum': ['score_desc', 'score_asc', 'name_asc'], 'type': 'string', 'description': 'Result order. Default score_desc (highest quality first).'}, 'limit': {'type': 'integer', 'maximum': 25, 'minimum': 1, 'description': 'Max results, default 10'}, 'query': {'type': 'string', 'description': "Free text; every content word must appear in name, cuisine, neighborhood, tags, dishes, or description (filler like 'best'/'tonight' is ignored). One strong keyword beats a full sentence."}, 'fields': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Return only these fields on each venue, to keep a result small. `id`, `name` and `url` are always included — `url` is the citation link.'}, 'cuisine': {'type': 'string', 'description': 'Filter to a cuisine (substring match)'}, 'max_price': {'type': 'integer', 'maximum': 4, 'minimum': 1, 'description': 'Max price tier 1-4 ($-$$$$)'}, 'min_score': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'Minimum quality score 0-100'}, 'iconic_only': {'type': 'boolean', 'description': "Only 'Iconic 50' venues (NYC has these today)"}, 'neighborhood': {'type': 'string', 'description': 'Filter to a neighborhood (substring match)'}, 'trending_only': {'type': 'boolean', 'description': 'Only trending venues'}, 'awards_contains': {'type': 'string', 'description': "Only venues whose awards field matches, e.g. 'michelin', 'james beard', 'bib gourmand'"}, 'happy_hour_only': {'type': 'boolean', 'description': 'Only venues with happy hour info'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['total_matches', 'total_exact', 'showing', 'venues', 'receipt'], 'properties': {'city': {'type': 'string'}, 'note': {'type': 'string'}, 'scope': {'type': 'string'}, 'venues': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'cuisine', 'neighborhood', 'happy_hour', 'reservation', 'description', 'url'], 'properties': {'id': {'type': 'number'}, 'url': {'type': 'string'}, 'name': {'type': 'string'}, 'price': {'type': 'string'}, 'score': {'type': 'number'}, 'awards': {'type': 'string'}, 'iconic': {'type': 'boolean'}, 'opened': {'type': 'string'}, 'cuisine': {'type': 'string'}, 'trending': {'type': 'boolean'}, 'happy_hour': {'type': 'string'}, 'description': {'type': 'string'}, 'reservation': {'type': 'string'}, 'neighborhood': {'type': 'string'}}, 'additionalProperties': False}}, 'receipt': {'type': 'object', 'required': ['as_of', 'as_of_scope', 'source', 'abstained', 'stale', 'reason'], 'properties': {'as_of': {'type': ['string', 'null']}, 'stale': {'type': 'boolean'}, 'reason': {'type': ['string', 'null']}, 'source': {'type': 'string'}, 'abstained': {'type': 'boolean'}, 'as_of_scope': {'type': 'string'}}, 'additionalProperties': False}, 'showing': {'type': 'number'}, 'total_exact': {'type': 'boolean'}, 'total_matches': {'type': 'number'}}, 'additionalProperties': False}
変更
search
2026年9月19日2:50
変更
list_new_venues
2026年9月19日2:50
変更
list_cities
2026年9月19日2:50
追加
get_hours
2026年9月17日12:34
追加
find_places
2026年9月17日12:34
追加
list_curated
2026年9月17日12:34
追加
fetch
2026年9月17日12:34
追加
search
2026年9月17日12:34
追加
get_venue
2026年9月17日12:34
追加
list_new_venues
2026年9月17日12:34
追加
search_venues
2026年9月17日12:34
追加
list_cities
2026年9月17日12:34