chrischall avatar

Opentable Mcp

chrischall/opentable-mcp

Lets Claude manage your OpenTable account through natural language: search restaurants, find available time slots, book or cancel reservations, and manage your favorites list. Instead of scraping or headless browsers, it relays requests through your actual signed-in Chrome tab via a WebSocket bridge, so every call rides your existing session and cookies. Ships with ten tools that hit OpenTable's GraphQL endpoints and parse server-rendered pages for your dashboard and profile data. You'll need the fetchproxy extension installed once, then point your MCP config at the bundled server. Worth noting that OpenTable's terms explicitly call out automated access, so this is strictly personal use, and you're responsible for what the agent books or cancels on your behalf.

GitHub stars
1
tools
15
transport
STDIO
env vars
5
last updated
Nov 4, 2026

Tools

15 tools

Public tool metadata for what this MCP can expose to an agent.

opentable_list_reservationsLists reservations from the dining dashboard.

Lists reservations from the dining dashboard.

No parameter schema in public metadata yet.

opentable_get_profileReturns profile information from the dining dashboard.

Returns profile information from the dining dashboard.

No parameter schema in public metadata yet.

opentable_list_favoritesLists favorite restaurants.

Lists favorite restaurants.

No parameter schema in public metadata yet.

opentable_search_restaurantsSearches for restaurants.

Searches for restaurants.

No parameter schema in public metadata yet.

opentable_get_restaurantGets details for a restaurant.

Gets details for a restaurant.

No parameter schema in public metadata yet.

opentable_get_menuReturns published menus for a restaurant, with optional menu, section, and paging selection.

Returns published menus for a restaurant, with optional menu, section, and paging selection.

No parameter schema in public metadata yet.

opentable_find_slotsFinds available reservation slots.

Finds available reservation slots.

No parameter schema in public metadata yet.

opentable_book_previewPreviews a booking before it is made.

Previews a booking before it is made.

No parameter schema in public metadata yet.

opentable_bookBooks a reservation.

Books a reservation.

No parameter schema in public metadata yet.

opentable_cancelCancels a reservation.

Cancels a reservation.

No parameter schema in public metadata yet.

opentable_modify_previewPreviews a reservation modification.

Previews a reservation modification.

No parameter schema in public metadata yet.

opentable_modifyModifies an existing reservation.

Modifies an existing reservation.

No parameter schema in public metadata yet.

opentable_add_favoriteAdds a restaurant to favorites.

Adds a restaurant to favorites.

No parameter schema in public metadata yet.

opentable_remove_favoriteRemoves a restaurant from favorites.

Removes a restaurant from favorites.

No parameter schema in public metadata yet.

opentable_healthcheckChecks the bridge connection.

Checks the bridge connection.

No parameter schema in public metadata yet.

Sponsors

Configuration

OT_BRIDGE

Which browser transport to use: "websocket" (default, the fetchproxy bridge) or "mcp-chrome".

OT_MCP_CHROME_URL

URL of the mcp-chrome bridge (default http://127.0.0.1:12306/mcp). Only used when OT_BRIDGE=mcp-chrome.

OT_WS_PORT

Overrides the fetchproxy WebSocket port (default 37149, the fleet-shared port).

FETCHPROXY_WS_HOST

Bridge bind interface, a literal IP only (anything else is ignored); default 127.0.0.1. Keep on loopback — it exists for a hosted child in its own network namespace.

FETCHPROXY_IDENTITY_DIR

Where to store the long-term bridge identity keypair, an absolute path only (anything else is ignored); default ~/.fetchproxy/identity/. Exists for a host that runs a separate child per caller.

Readme

opentable-mcp

CI npm license

OpenTable reservation manager as an MCP server for Claude — find slots, book, cancel, manage favorites, and read your dashboard via natural language.

v0.3.0-alpha status: Chrome-extension bridge, 10 tools, read + write. Every OpenTable request is relayed through your signed-in Chrome tab over a localhost WebSocket — each request rides your existing session and reaches OpenTable as if you'd clicked it yourself.

How it works

OpenTable's edge (Akamai Bot Manager) enforces a behavioral challenge on /, /s, /r/…, /dapi/…, and /booking/…. Tooling that builds its own HTTP client — cycletls, impersonated curl, headless Chrome — invents a separate identity and gets a 403 or JS interstitial. opentable-mcp does the opposite: it uses your own browser session as-is, with the cookies and TLS context it already has.


View the full README on GitHub

Details

Repository
github.com/chrischall/opentable-mcp
Package
opentable-mcp
Transport
STDIO
Registry
MCP registry, active

More from chrischall