Strider Labs OpenTable MCP
MCP server for OpenTable - let AI agents make restaurant reservations and find availability
@striderlabs/mcp-opentable
MCP server for OpenTable — let AI agents search restaurants and book reservations.
Built by Strider Labs.
Features
- Search restaurants by location, cuisine, party size, date and time
- Get detailed restaurant info — description, address, hours, and features
- Check real-time availability for any date, time, and party size
- Book reservations with a confirmation step before committing
- View all upcoming reservations in one place
- Cancel reservations safely with a confirm gate
- Persistent sessions — stay logged in across restarts
Installation
npm install -g @striderlabs/mcp-opentable
Or with npx:
npx @striderlabs/mcp-opentable
Configuration
Add to your MCP client configuration (e.g., Claude Desktop ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"opentable": {
"command": "npx",
"args": ["-y", "@striderlabs/mcp-opentable"]
}
}
}
Authentication
This connector uses browser automation via Playwright. On first use:
- Call
opentable_status— it returns a login URL - Open the login URL in your browser and sign in to OpenTable
- Session cookies are automatically saved to
~/.strider/opentable/cookies.json - Sessions persist across restarts — no need to log in again
To log out or reset your session:
opentable_logout
Available Tools
Session Management
| Tool | Description |
|---|---|
opentable_status | Check login status; returns login URL if not authenticated |
opentable_login | Get the OpenTable login URL and instructions |
opentable_logout | Clear stored session cookies (log out) |
Discovery
| Tool | Description |
|---|---|
opentable_search | Search restaurants by location, cuisine, party size, date/time |
opentable_get_restaurant | Get full details for a specific restaurant |
opentable_check_availability | List available time slots for a restaurant |
Reservations
| Tool | Description |
|---|---|
opentable_make_reservation | Book a reservation (requires confirm=true) |
opentable_get_reservations | List all upcoming reservations |
opentable_cancel_reservation | Cancel a reservation (requires confirm=true) |
Example Usage
Search for restaurants
{
"tool": "opentable_search",
"arguments": {
"location": "San Francisco",
"cuisine": "italian",
"partySize": 4,
"date": "2026-03-20",
"time": "19:30"
}
}
Check availability
{
"tool": "opentable_check_availability",
"arguments": {
"restaurantId": "restaurant-slug-or-id",
"date": "2026-03-20",
"time": "19:30",
"partySize": 4
}
}
Book a reservation (two-step)
// Step 1: Preview
{
"tool": "opentable_make_reservation",
"arguments": {
"restaurantId": "restaurant-slug-or-id",
"date": "2026-03-20",
"time": "19:30",
"partySize": 4,
"specialRequests": "Window table if possible",
"confirm": false
}
}
// Step 2: Confirm and book
{
"tool": "opentable_make_reservation",
"arguments": {
"restaurantId": "restaurant-slug-or-id",
"date": "2026-03-20",
"time": "19:30",
"partySize": 4,
"specialRequests": "Window table if possible",
"confirm": true
}
}
View upcoming reservations
{
"tool": "opentable_get_reservations",
"arguments": {}
}
Cancel a reservation
// Step 1: Preview cancellation
{
"tool": "opentable_cancel_reservation",
"arguments": {
"reservationId": "res-abc123",
"confirm": false
}
}
// Step 2: Confirm cancellation
{
"tool": "opentable_cancel_reservation",
"arguments": {
"reservationId": "res-abc123",
"confirm": true
}
}
Requirements
- Node.js 18+
- Playwright browsers (auto-installed on first run via
playwright install chromium)
How It Works
This connector uses Playwright for browser automation:
- Headless Chrome — runs a real browser in the background
- Cookie persistence — maintains logged-in state across sessions
- Stealth mode — uses realistic browser fingerprints to avoid detection
- Structured responses — all data returned as JSON
Security
- Session cookies are stored locally in
~/.strider/opentable/cookies.json - No credentials are stored — authentication uses browser-based login
- Cookies are only readable by the current OS user
Limitations
- OpenTable must be available in your region
- Some reservation flows may require additional profile information on your OpenTable account
- Bot-detection countermeasures on OpenTable's site may occasionally interrupt automation
Development
git clone https://github.com/markswendsen-code/mcp-opentable.git
cd mcp-opentable
npm install
npx playwright install chromium
npm run build
npm start
License
MIT © Strider Labs
Related
- @striderlabs/mcp-doordash - DoorDash MCP connector
- @striderlabs/mcp-gmail - Gmail MCP connector
- Model Context Protocol - Learn more about MCP
Serveurs connexes
timeService-mcp
A simple Model Context Protocol (MCP) server that provides the current date and time.
DealX
MCP Server for DealX platform
FastMCP Calculator Server
A calculator server that performs basic math operations like addition, subtraction, multiplication, division, power, and square root.
Curve MCP Server
Pool data, swap rates, and liquidity info on Curve Finance.
Send247 Human Logistics
Human Logistics in the AI Layer
Tideways MCP Server
Enables AI assistants to query Tideways performance monitoring data and provide conversational performance insights
Uniswap Trader MCP
Automate token swaps on the Uniswap DEX across multiple blockchains.
RustChain MCP
MCP server for RustChain Proof-of-Antiquity blockchain and BoTTube AI video platform — 14 tools for wallet management, mining stats, video operations, and agent-to-agent job marketplace.
Map Traveler
A virtual travel environment for an avatar on Google Maps, utilizing various Google Maps and optional AI image generation APIs.
FinMCP
Lightweight TypeScript Finance MCP server wrapping Yahoo Finance APIs. Plug real-time financial data — stocks, options, crypto, earnings — into any AI assistant. No API key. Works via stdio, Docker, or HTTP.