← Back to Dim Hour

MCP Server

Model Context Protocol · last updated July 2026

Dim Hour runs a public MCP server so AI assistants can query the catalog directly instead of scraping the site. Five read tools need no API key. Ask for the best omakase in New York under $$$, Michelin-starred Mexican in Chicago, or what opened in Austin recently, and get structured JSON back.

Connect

Streamable HTTP
https://dimhour-mcp.jakeoborn.workers.dev/mcp
SSE
https://dimhour-mcp.jakeoborn.workers.dev/sse

Claude

Settings → Connectors → Add custom connector, and paste the Streamable HTTP URL above. No key, no account.

Claude Code

claude mcp add --transport http dimhour \
  https://dimhour-mcp.jakeoborn.workers.dev/mcp

Cursor, VS Code, Cline, Continue

Any client that speaks Streamable HTTP works with the same URL. A typical config entry:

{
  "mcpServers": {
    "dimhour": {
      "url": "https://dimhour-mcp.jakeoborn.workers.dev/mcp"
    }
  }
}

The server is stateless per MCP revision 2026-07-28 — a POST with no Mcp-Session-Id is answered directly, so serverless and edge clients work without a handshake. The SSE endpoint remains available for older clients.

Tools

The five read tools are open. The rest act on a Dim Hour account and need a personal API key.

ToolAuthWhat it does
list_citiesnoneThe 20 covered cities and the key to pass to other tools.
search_venuesnoneFree-text plus filters: cuisine, neighborhood, price, min score, awards, happy hour, trending. Omit city to search all cities at once.
get_venuenoneThe full record for one venue.
list_curatednoneEditorial lists for a city.
list_new_venuesnoneRecently added venues.
list_my_tripsAPI keyYour saved trips.
save_venueAPI keySave a venue to your account.
add_to_tripAPI keyAdd a venue to a trip.

Every tool is annotated with a title and a readOnlyHint, so a client can tell a read from a write before calling it. The three write tools are additive — they never delete or overwrite.

What a venue record carries

Example

curl -s -X POST https://dimhour-mcp.jakeoborn.workers.dev/mcp \
  -H 'content-type: application/json' \
  -H 'accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"search_venues",
                 "arguments":{"city":"nyc","query":"omakase","limit":3}}}'

Rate limits and fair use

Anonymous read access is capped per minute and search_venues returns at most 25 results per call. An API key lifts the per-minute cap. The limits exist to stop bulk extraction, not to make normal assistant use awkward — if you are building something real and hitting them, get in touch.

API keys

Generate one in the Dim Hour app under Profile. The server stores only a SHA-256 hash of the key, never the key itself. Send it as Authorization: Bearer <key> or x-api-key. A key is tied to your account and only ever reads or writes your own data.

Data, accuracy and terms

The catalog is editorial. Venue data is verified against the venue's own site or a named source, and fields we cannot verify are left empty rather than filled with plausible guesses. Even so, restaurants close, move and change menus — treat hours and reservation links as best-effort and check the venue directly before relying on them.

The read tools are free for assistant use. Bulk extraction, redistribution of the catalog, or reselling it as a dataset is not permitted. See the privacy policy for how account data is handled.

Support

Issues, questions, or a use case you would like supported — support@dimhour.com or open an issue. Machine-readable discovery lives at /llms.txt.