com.dimhour/catalog
REMOTE · DIMHOUR-MCP.JAKEOBORN.WORKERS.DEV · 2 COMPONENTS · SCANNED AUG 3
Search 18,723 verified restaurants and bars across 20 cities, each with a 0-100 quality score.
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security46
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 7 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS not yet verified: we couldn't determine whether a plaintext access path exists. View diagnostics → Unverified
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability80
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 1324 tokens (~120/item across 11 items; 10 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management13
- Stability observed for 4 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
- Supports UI / widget rendering.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · dimhour-mcp.jakeoborn.workers.dev
claude mcp add --transport http com-dimhour-catalog https://dimhour-mcp.jakeoborn.workers.dev/mcp
[mcp_servers.com-dimhour-catalog] url = "https://dimhour-mcp.jakeoborn.workers.dev/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-dimhour-catalog": {
"type": "remote",
"url": "https://dimhour-mcp.jakeoborn.workers.dev/mcp",
"enabled": true
}
}
} openclaw mcp add com-dimhour-catalog --url https://dimhour-mcp.jakeoborn.workers.dev/mcp --transport streamable-http
mcp_servers:
com-dimhour-catalog:
url: "https://dimhour-mcp.jakeoborn.workers.dev/mcp" {
"mcpServers": {
"com-dimhour-catalog": {
"type": "http",
"url": "https://dimhour-mcp.jakeoborn.workers.dev/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 −2
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 62
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://dimhour-mcp.jakeoborn.workers.dev/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=jakeoborn.workers.dev | CN=YE2,O=Let's Encrypt,C=US | 21 Jul 2026 | 19 Oct 2026 | ECDSA 256 | ECDSA-SHA384 | 50c5a1f5e37fb3f0b543b48db60b6006914 |
| SANs: *.jakeoborn.workers.dev, jakeoborn.workers.dev | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
DNSSEC insecure
Validation of dimhour-mcp.jakeoborn.workers.dev. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| dev. | present | 60074 | 8 | Verified |
| workers.dev. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://dimhour-mcp.jakeoborn.workers.dev/mcp | Verified | 200 | |
| http (plaintext) | http://dimhour-mcp.jakeoborn.workers.dev/mcp | Inconclusive | 406 |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
add_to_trip Add a venue to a trip ~186
Add a venue to one of the user's Dim Hour trips (creates the trip if needed). Identify the trip by trip_code (from list_my_trips) or trip_name; with neither, a new trip is created for the venue's city. Requires the user's Dim Hour API key. Returns the trip's public share link (dimhour.com/trip.html?code=...).
| Name | Type | Req | Description |
|---|---|---|---|
| city | string | yes | City name or key of the venue |
| date | string | — | Reservation date YYYY-MM-DD |
| id | integer | yes | Venue id from search_venues / get_venue |
| time | string | — | Reservation time, e.g. '7:30 PM' |
| trip_code | string | — | 6-char trip code from list_my_trips |
| trip_name | string | — | Trip name to match or create, e.g. 'NYC July' |
No output schema declared.
No examples provided.
get_venue Get venue details ~95
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.
| Name | Type | Req | Description |
|---|---|---|---|
| city | string | yes | City name or key |
| id | integer | — | Venue id from search_venues |
| name | string | — | Venue name (used if id not given) |
No output schema declared.
No examples provided.
list_cities List cities ~29
List the 20 cities Dim Hour covers, with the city key to pass to the other tools.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_curated List curated lists ~84
Dim Hour's hand-curated 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.
| Name | Type | Req | Description |
|---|---|---|---|
| city | string | yes | City name or key |
| list_id | string | — | A list id from the no-arg call |
No output schema declared.
No examples provided.
list_my_trips List my trips ~45
List the user's Dim Hour trips (code, name, city, item count, share link). Requires the user's Dim Hour API key. Use the code with add_to_trip.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_new_venues List new venues ~114
Venues recently added to the Dim Hour catalog — across all 20 cities or one city. Use for 'what's new on Dim Hour' / new-opening alerts / weekly digests. Dates earlier than 2026-06-06 are estimates reconstructed from history.
| Name | Type | Req | Description |
|---|---|---|---|
| city | string | — | Optional city name or key; omit for all cities |
| days | integer | — | Look-back window in days, default 30 (max 90) |
| limit | integer | — | Max results, default 25 |
No output schema declared.
No examples provided.
post_to_brain Post to the brain bus ~188
Post a message or a proposed state-change into the Dim Hour Triangle brain (the shared room for Poke, Claude, and Clicky). Use this to drop an objective, a status note, or a proposed live_nodes patch. IMPORTANT: every post is recorded as 'asserted' and is NOT treated as true until Claude verifies it against the real repo/DB and lands it in THREAD.md / live_nodes.json. You cannot mark a post verified. Requires the user's Dim Hour API key.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | The message text, or — for node_update — a JSON patch string, e.g. {"repo":{"catalog_venues":10200}} |
| kind | string | yes | thread = a message for the room; node_update = a proposed JSON patch to live_nodes |
| ref | string | — | Optional evidence: a git sha, PR url, or dashboard link |
No output schema declared.
No examples provided.
read_brain Read brain posts ~116
Read the recent Dim Hour Triangle brain posts (the shared room) so you can see what's been proposed and what Claude has verified. Posts route sender_node -> target_node with a topic + payload; status is 'pending' (unverified), 'processing', 'completed' (confirmed by Claude against the repo/DB), or 'failed'. Requires the user's Dim Hour API key.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Max posts, default 20 |
| status | string | — | Optional filter to one status; omit for all recent posts |
No output schema declared.
No examples provided.
save_venue Save a venue ~126
Save a venue to the user's Dim Hour account: 'fav' (Favorites), 'want' (Want to try), or 'visited' (Been there). Requires the user's Dim Hour API key (generated in the app: Profile → Concierge API key). The save appears in the app after its next sync (app open or sign-in).
| Name | Type | Req | Description |
|---|---|---|---|
| city | string | yes | City name or key |
| id | integer | yes | Venue id from search_venues / get_venue |
| kind | string | yes | fav = Favorites, want = Want to try, visited = Been there |
No output schema declared.
No examples provided.
search_venues Search venues ~314
Search Dim Hour's curated restaurant/bar/venue catalog. Pass `city` to search one city, or OMIT `city` to search all ~9,500 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. Use free-text `query` for cuisine, dish, vibe, or name; combine with filters.
| Name | Type | Req | Description |
|---|---|---|---|
| awards_contains | string | — | Only venues whose awards field matches, e.g. 'michelin', 'james beard', 'bib gourmand' |
| city | string | — | City name or key, e.g. 'NYC', 'dallas'. OMIT to search ALL cities at once. |
| cuisine | string | — | Filter to a cuisine (substring match) |
| happy_hour_only | boolean | — | Only venues with happy hour info |
| iconic_only | boolean | — | Only 'Iconic 50' venues (NYC has these today) |
| limit | integer | — | Max results, default 10 |
| max_price | integer | — | Max price tier 1-4 ($-$$$$) |
| min_score | number | — | Minimum quality score 0-100 |
| neighborhood | string | — | Filter to a neighborhood (substring match) |
| query | string | — | Free text matched against name, cuisine, neighborhood, tags, dishes, description |
| trending_only | boolean | — | Only trending venues |
No output schema declared.
No examples provided.