{
  "markdown": "# tock-mcp\n\nMCP 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.\n\nEvery 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).\n\n> 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.\n\n## Install\n\n```json\n// .mcp.json\n{\n  \"mcpServers\": {\n    \"tock\": { \"command\": \"npx\", \"args\": [\"-y\", \"tock-mcp\"] }\n  }\n}\n```\n\nYou 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.\n\n## Tools\n\n- **`tock_list_metros`** — Tock cities/metros with business counts; filter by name/country.\n- **`tock_search_restaurants`** — venues in a metro slug (cuisine, price, neighborhood, slug).\n- **`tock_get_restaurant`** — venue details + its bookable experiences.\n- **`tock_get_availability`** — a venue's bookable calendar (experiences, prices, open dates/times).\n- **`tock_list_reservations`** / **`tock_get_profile`** — the signed-in user's purchases and profile.\n- **`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.\n- **`tock_healthcheck`** — bridge status + the one-time pair code.\n\n## Develop\n\n```bash\nnpm install\nnpm run build     # tsc + esbuild bundle → dist/bundle.js\nnpm test          # vitest\n```\n\nArchitecture and the reverse-engineered Tock surface are documented in [`docs/TOCK-API.md`](docs/TOCK-API.md).\n\n## License\n\nMIT\n",
  "bytes": 2372,
  "sha": "158855c694ab6c455cd4b4d781db63e35ee6401b79d9ed7cc4eeb17b812fd1cf",
  "repo_slug": "chrischall/tock-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_chrischall_tock_mcp_995845e0/readme"
}