Back to the catalog

io.github.chrischall/tock-mcp

Tock (exploretock.com): discover restaurants, search a city, get venue details and availability.

Open source Open in the app JSON README (API)

About

Tock (exploretock.com): discover restaurants, search a city, get venue details and availability.

Details

Kind
MCP servers
Topic
No topic detected
Publisher
chrischall
Origin
official
Category
ferramentas
Transport
local
Version
0.5.0
Last push
2026-09-05T21:53:38Z
Repository state
ativo
Language
TypeScript
License
MIT
Added
2026-08-29 03:02:34
Updated
2026-09-04 23:00:30
Origin id
io.github.chrischall/tock-mcp

README

# tock-mcp

MCP server for **Tock** ([exploretock.com](https://www.exploretock.com)) — restaurant discovery and availability for Claude. List cities, search a metro, and get a venue's details plus its bookable experiences, prices, party sizes, and open dates/times.

Every request is relayed through your own signed-in browser tab via the [fetchproxy](https://github.com/chrischall/fetchproxy) extension — no cookie paste, no bot-wall dance, no password handling. This project was developed and is maintained by AI (Claude Code).

> Tock publishes no official consumer API, and exploretock.com sits behind a Cloudflare challenge. tock-mcp fetches the same server-rendered pages the Tock web app uses (parsing their embedded `window.$REDUX_STATE` store) through your signed-in tab. It is **read-only** — Tock reservations are prepaid tickets, so booking stays on exploretock.com. Use at your own discretion.

## Install

```json
// .mcp.json
{
  "mcpServers": {
    "tock": { "command": "npx", "args": ["-y", "tock-mcp"] }
  }
}
```

You also need the [fetchproxy browser extension](https://github.com/chrischall/fetchproxy) (shared across the fleet) running in a Chrome/Safari tab. The first tool call prints a one-time pair code to approve in the extension popup — run `tock_healthcheck` to trigger it. Discovery works signed-out; the account tools need you signed in to exploretock.com.

## Tools

- **`tock_list_metros`** — Tock cities/metros with business counts; filter by name/country.
- **`tock_search_restaurants`** — venues in a metro slug (cuisine, price, neighborhood, slug).
- **`tock_get_restaurant`** — venue details + its bookable experiences.
- **`tock_get_availability`** — a venue's bookable calendar (experiences, prices, open dates/times).
- **`tock_list_reservations`** / **`tock_get_profile`** — the signed-in user's purchases and profile.
- **`tock_verify_reservation`** — after a booking attempt, re-query the account and return an explicit `confirmed` / `cancelled` / `not_found` verdict. A success screen is not proof; this is.
- **`tock_healthcheck`** — bridge status + the one-time pair code.

## Develop

```bash
npm install
npm run build     # tsc + esbuild bundle → dist/bundle.js
npm test          # vitest
```

Architecture and the reverse-engineered Tock surface are documented in [`docs/TOCK-API.md`](docs/TOCK-API.md).

## License

MIT

More