Tock (exploretock.com): discover restaurants, search a city, get venue details and availability.
MCP server for Tock (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 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_STATEstore) 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.
// .mcp.json
{
"mcpServers": {
"tock": { "command": "npx", "args": ["-y", "tock-mcp"] }
}
}
You also need the fetchproxy browser extension (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.
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.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.
MIT
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y tock-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-chrischall-tock-mcp": {
"command": "npx",
"args": [
"-y",
"tock-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referencetock-mcpnpmio.github.chrischall/tock-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.