Dim Hour
Search 19,000+ verified places to eat and drink across 24 cities, each with a 0-100 quality score.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (1)
- LOWen fetch
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": {
"catalog": {
"url": "https://dimhour-mcp.jakeoborn.workers.dev/mcp"
}
}
}Puntos de conexión remotos
https://dimhour-mcp.jakeoborn.workers.dev/mcpstreamable-httphttps://dimhour-mcp.jakeoborn.workers.dev/ssessehttps://mcp.dimhour.com/mcpstreamable-httphttps://mcp.dimhour.com/ssesseQué puede hacer
Inventario de herramientas
Herramientas (9)
🟢list_cities
List the 24 cities Dim Hour covers, with the city key to pass to the other tools.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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#"
}Comunidad
Evidencia