opentable-mcp
MCP server for anonymous OpenTable restaurant discovery and availability checking, enabling restaurant search, autocomplete, and table availability queries without an account.
README
opentable-mcp
MCP server for OpenTable restaurant search and availability, reverse-engineered from observed web traffic.
Built entirely by Claude Opus 4.8 via Claude Code.
Overview
Exposes anonymous, read-only OpenTable restaurant discovery and availability through MCP tools. It can find restaurants and check tables — it cannot book.
opentable_autocomplete— resolve a place, cuisine, or restaurant name to search anchors (restaurantId, lat/long, metroId, areaId)opentable_list_regions— metro and sub-region geography with ids and restaurant countsopentable_nearby_restaurants— restaurants near a lat/long with name, restaurantId, cuisine, price band, rating, phone, and profile URLopentable_restaurant_availability— bookable time slots for one or more restaurants on a single date, time, and party sizeopentable_multi_day_availability— a single restaurant's availability scanned forward across many daysopentable_session_status— inspect or force-refresh the session and Akamai cookie state
Typical workflow: opentable_autocomplete resolves a name to a restaurantId, then opentable_restaurant_availability or opentable_multi_day_availability checks tables. Availability slots are raw data — each dateTime is ISO-8601 local to the restaurant (no timezone), plus the raw timeOffsetMinutes.
Setup
npm install
npm run build
npm run verify
No configuration is required — the server mints its own session on first use. Copy .env.example to .env for optional overrides (default search center, captured-cookie fallback, browser settings).
Requires Node.js 20+ and Google Chrome installed (used via playwright-core to mint an Akamai-valid session; no separate browser download). No OpenTable account needed.
MCP Setup
The server runs over stdio. Example client configuration:
{
"mcpServers": {
"opentable": {
"command": "node",
"args": ["/absolute/path/to/opentable-mcp/dist/index.js"],
"cwd": "/absolute/path/to/opentable-mcp"
}
}
}
For local development, use npx tsx src/index.ts instead of the built output. A manifest.json is included for bundle-aware clients.
Notes
- Anonymous and read-only — no account, no booking. The booking flow is intentionally out of scope.
- OpenTable is behind Akamai Bot Manager, whose
_abckcookie is only validated by a real browser. The server mints a session lazily with a headful (offscreen) Chrome via your installed Chrome, persists it to~/.config/opentable-mcp/session.json, and re-mints only when a request is blocked — no scheduler. A capturedOPENTABLE_COOKIEis used as a fallback when present. - Minting launches Chrome with
--disable-blink-features=AutomationControlled(required for the availability endpoint to trust the session), which shows a cosmetic "unsupported command-line flag" banner. - Heavy back-to-back use can trip Akamai IP rate-limiting; it recovers after a short cooldown.
- Tool errors carry a machine-readable
code(AKAMAI_BLOCKED,PERSISTED_QUERY_NOT_FOUND,CSRF_REJECTED,SESSION_UNAVAILABLE). Seedocs/api-spec.mdfor the reverse-engineering notes.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.