Dim Hour
Search 19,000+ verified places to eat and drink across 24 cities, each with a 0-100 quality score.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (1)
- LOWin fetch
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"catalog": {
"url": "https://dimhour-mcp.jakeoborn.workers.dev/mcp"
}
}
}Remote-Endpunkte
https://dimhour-mcp.jakeoborn.workers.dev/mcpstreamable-httphttps://dimhour-mcp.jakeoborn.workers.dev/ssessehttps://mcp.dimhour.com/mcpstreamable-httphttps://mcp.dimhour.com/ssesseWas es kann
Tool-Inventar
Tools (9)
🟢list_cities
List the 24 cities Dim Hour covers, with the city key to pass to the other tools.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"cities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string"
},
"state": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"city",
"state"
]
},
"children": {
"type": "array",
"items": {
"type": "string"
}
},
"parent": {
"type": "string"
}
},
"required": [
"key",
"name",
"state",
"kind"
],
"additionalProperties": false
}
}
},
"required": [
"cities"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_venues(city, query, neighborhood, cuisine, max_price, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "City name or key, e.g. 'NYC', 'dallas'. OMIT to search ALL cities at once."
},
"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."
},
"neighborhood": {
"type": "string",
"description": "Filter to a neighborhood (substring match)"
},
"cuisine": {
"type": "string",
"description": "Filter to a cuisine (substring match)"
},
"max_price": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "Max price tier 1-4 ($-$$$$)"
},
"min_score": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Minimum quality score 0-100"
},
"happy_hour_only": {
"type": "boolean",
"description": "Only venues with happy hour info"
},
"awards_contains": {
"type": "string",
"description": "Only venues whose awards field matches, e.g. 'michelin', 'james beard', 'bib gourmand'"
},
"iconic_only": {
"type": "boolean",
"description": "Only 'Iconic 50' venues (NYC has these today)"
},
"trending_only": {
"type": "boolean",
"description": "Only trending venues"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"description": "Max results, default 10"
},
"sort": {
"type": "string",
"enum": [
"score_desc",
"score_asc",
"name_asc"
],
"description": "Result order. Default score_desc (highest quality first)."
},
"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."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"scope": {
"type": "string"
},
"city": {
"type": "string"
},
"total_matches": {
"type": "number"
},
"total_exact": {
"type": "boolean"
},
"showing": {
"type": "number"
},
"note": {
"type": "string"
},
"venues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"name": {
"type": "string"
},
"cuisine": {
"type": "string"
},
"neighborhood": {
"type": "string"
},
"score": {
"type": "number"
},
"price": {
"type": "string"
},
"happy_hour": {
"type": "string"
},
"reservation": {
"type": "string"
},
"awards": {
"type": "string"
},
"opened": {
"type": "string"
},
"iconic": {
"type": "boolean"
},
"trending": {
"type": "boolean"
},
"description": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"id",
"name",
"cuisine",
"neighborhood",
"happy_hour",
"reservation",
"description",
"url"
],
"additionalProperties": false
}
},
"receipt": {
"type": "object",
"properties": {
"as_of": {
"type": [
"string",
"null"
]
},
"as_of_scope": {
"type": "string"
},
"source": {
"type": "string"
},
"abstained": {
"type": "boolean"
},
"stale": {
"type": "boolean"
},
"reason": {
"type": [
"string",
"null"
]
}
},
"required": [
"as_of",
"as_of_scope",
"source",
"abstained",
"stale",
"reason"
],
"additionalProperties": false
}
},
"required": [
"total_matches",
"total_exact",
"showing",
"venues",
"receipt"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_new_venues(city, days, limit)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "Optional city name or key; omit for all cities"
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 90,
"description": "Look-back window in days, default 30 (max 90)"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "Max results, default 25"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"window_days": {
"type": "number"
},
"city": {
"type": "string"
},
"total_new": {
"type": "number"
},
"showing": {
"type": "number"
},
"feed_generated": {
"type": "string"
},
"receipt": {
"type": "object",
"properties": {
"as_of": {
"type": [
"string",
"null"
]
},
"as_of_scope": {
"type": "string"
},
"source": {
"type": "string"
},
"abstained": {
"type": "boolean"
},
"stale": {
"type": "boolean"
},
"reason": {
"type": [
"string",
"null"
]
}
},
"required": [
"as_of",
"as_of_scope",
"source",
"abstained",
"stale",
"reason"
],
"additionalProperties": false
},
"venues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"city_name": {
"type": "string"
},
"id": {
"type": "number"
},
"name": {
"type": "string"
},
"cuisine": {
"type": "string"
},
"neighborhood": {
"type": "string"
},
"score": {
"type": "number"
},
"price": {
"type": "string"
},
"awards": {
"type": "string"
},
"happy_hour": {
"type": "string"
},
"first_seen": {
"type": "string"
},
"url": {
"type": "string"
},
"estimated": {
"type": "boolean"
}
},
"required": [
"city",
"city_name",
"id",
"name",
"cuisine",
"neighborhood",
"awards",
"happy_hour",
"first_seen",
"url"
],
"additionalProperties": false
}
}
},
"required": [
"window_days",
"city",
"total_new",
"showing",
"receipt",
"venues"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_venue(city, id, name)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "City name or key"
},
"id": {
"type": "integer",
"description": "Venue id from search_venues"
},
"name": {
"type": "string",
"description": "Venue name (used if id not given)"
}
},
"required": [
"city"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "number"
},
"name": {
"type": "string"
},
"cuisine": {
"type": "string"
},
"neighborhood": {
"type": "string"
},
"score": {
"type": "number"
},
"price": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"description": {
"type": "string"
},
"dishes": {
"type": "array",
"items": {
"type": "string"
}
},
"highlights": {
"type": "array",
"items": {
"type": "string"
}
},
"happy_hour": {
"type": "string"
},
"address": {
"type": "string"
},
"hours": {
"type": "string"
},
"phone": {
"type": "string"
},
"reservation": {
"type": "string"
},
"awards": {
"type": "string"
},
"opened": {
"type": "string"
},
"website": {
"type": "string"
},
"instagram": {
"type": "string"
},
"lat": {
"type": "number"
},
"lng": {
"type": "number"
},
"iconic": {
"type": "boolean"
},
"trending": {
"type": "boolean"
},
"story": {
"type": "string"
},
"other_locations": {
"type": "array",
"items": {
"type": "string"
}
},
"url": {
"type": "string"
},
"city_name": {
"type": "string"
},
"price_tier": {
"type": "number"
},
"photoUrl": {
"type": "string"
},
"receipt": {
"type": "object",
"properties": {
"as_of": {
"type": [
"string",
"null"
]
},
"as_of_scope": {
"type": "string"
},
"source": {
"type": "string"
},
"abstained": {
"type": "boolean"
},
"stale": {
"type": "boolean"
},
"reason": {
"type": [
"string",
"null"
]
}
},
"required": [
"as_of",
"as_of_scope",
"source",
"abstained",
"stale",
"reason"
],
"additionalProperties": false
}
},
"required": [
"id",
"name",
"cuisine",
"neighborhood",
"tags",
"description",
"dishes",
"happy_hour",
"address",
"hours",
"phone",
"reservation",
"awards",
"website",
"instagram",
"url",
"city_name",
"photoUrl",
"receipt"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search(query)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "What to look for, e.g. 'best ramen in NYC', 'michelin dallas', 'rooftop bar miami'"
}
},
"required": [
"query"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"id",
"title",
"url"
],
"additionalProperties": false
}
},
"receipt": {
"type": "object",
"properties": {
"as_of": {
"type": [
"string",
"null"
]
},
"as_of_scope": {
"type": "string"
},
"source": {
"type": "string"
},
"abstained": {
"type": "boolean"
},
"stale": {
"type": "boolean"
},
"reason": {
"type": [
"string",
"null"
]
}
},
"required": [
"as_of",
"as_of_scope",
"source",
"abstained",
"stale",
"reason"
],
"additionalProperties": false
}
},
"required": [
"results",
"receipt"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢fetch(id)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Venue id from `search`, in the form 'city:id' e.g. 'nyc:1367'"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"text": {
"type": "string"
},
"url": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"receipt": {
"type": "object",
"properties": {
"as_of": {
"type": [
"string",
"null"
]
},
"as_of_scope": {
"type": "string"
},
"source": {
"type": "string"
},
"abstained": {
"type": "boolean"
},
"stale": {
"type": "boolean"
},
"reason": {
"type": [
"string",
"null"
]
}
},
"required": [
"as_of",
"as_of_scope",
"source",
"abstained",
"stale",
"reason"
],
"additionalProperties": false
}
},
"required": [
"id",
"title",
"text",
"url",
"receipt"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_curated(city, list_id)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "City name or key"
},
"list_id": {
"type": "string",
"description": "A list id from the no-arg call"
}
},
"required": [
"city"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"city": {
"type": "string"
},
"note": {
"type": "string"
},
"receipt": {
"type": "object",
"properties": {
"as_of": {
"type": [
"string",
"null"
]
},
"as_of_scope": {
"type": "string"
},
"source": {
"type": "string"
},
"abstained": {
"type": "boolean"
},
"stale": {
"type": "boolean"
},
"reason": {
"type": [
"string",
"null"
]
}
},
"required": [
"as_of",
"as_of_scope",
"source",
"abstained",
"stale",
"reason"
],
"additionalProperties": false
},
"lists": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"subtitle": {
"type": "string"
},
"venue_count": {
"type": "number"
}
},
"required": [
"id",
"title",
"subtitle",
"venue_count"
],
"additionalProperties": false
}
},
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"subtitle": {
"type": "string"
},
"venues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"name": {
"type": "string"
},
"note": {
"type": "string"
},
"neighborhood": {
"type": "string"
},
"price": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"id",
"note",
"url"
],
"additionalProperties": false
}
}
},
"required": [
"city",
"receipt"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢find_places(city, looking_for, neighborhood, max_price, limit)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "City name or key from list_cities"
},
"looking_for": {
"type": "string",
"description": "What the occasion needs, e.g. 'omakase', 'patio', 'birthday dinner'"
},
"neighborhood": {
"type": "string",
"description": "Narrow to a neighborhood"
},
"max_price": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "Max price tier 1-4"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"description": "Max results, default 6"
}
},
"required": [
"city"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"city": {
"type": "string"
},
"total_matches": {
"type": "number"
},
"showing": {
"type": "number"
},
"note": {
"type": "string"
},
"venues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"name": {
"type": "string"
},
"cuisine": {
"type": "string"
},
"neighborhood": {
"type": "string"
},
"score": {
"type": "number"
},
"price": {
"type": "string"
},
"happy_hour": {
"type": "string"
},
"reservation": {
"type": "string"
},
"awards": {
"type": "string"
},
"opened": {
"type": "string"
},
"iconic": {
"type": "boolean"
},
"trending": {
"type": "boolean"
},
"description": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"id",
"name",
"cuisine",
"neighborhood",
"happy_hour",
"reservation",
"description",
"url"
],
"additionalProperties": false
}
},
"receipt": {
"type": "object",
"properties": {
"as_of": {
"type": [
"string",
"null"
]
},
"as_of_scope": {
"type": "string"
},
"source": {
"type": "string"
},
"abstained": {
"type": "boolean"
},
"stale": {
"type": "boolean"
},
"reason": {
"type": [
"string",
"null"
]
}
},
"required": [
"as_of",
"as_of_scope",
"source",
"abstained",
"stale",
"reason"
],
"additionalProperties": false
}
},
"required": [
"city",
"total_matches",
"showing",
"venues",
"receipt"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_hours(city, id, name)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "City name or key"
},
"id": {
"type": "integer",
"description": "Venue id from search_venues"
},
"name": {
"type": "string",
"description": "Venue name (used if id not given)"
}
},
"required": [
"city"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"city": {
"type": "string"
},
"id": {
"type": "number"
},
"name": {
"type": "string"
},
"hours": {
"type": [
"string",
"null"
]
},
"url": {
"type": "string"
},
"receipt": {
"type": "object",
"properties": {
"as_of": {
"type": [
"string",
"null"
]
},
"as_of_scope": {
"type": "string"
},
"source": {
"type": "string"
},
"abstained": {
"type": "boolean"
},
"stale": {
"type": "boolean"
},
"reason": {
"type": [
"string",
"null"
]
}
},
"required": [
"as_of",
"as_of_scope",
"source",
"abstained",
"stale",
"reason"
],
"additionalProperties": false
}
},
"required": [
"city",
"id",
"name",
"hours",
"url",
"receipt"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Nachweis