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
Servidores relacionados
ThinkPLC-MCP
Interface with SIEMENS PLC S7-1500/1200 using their JSON-RPC 2.0 API, exposing PLC functionalities as MCP tools for programmatic interaction.
MCP Claude Spotify
An integration for Claude Desktop to interact with Spotify using the Model Context Protocol (MCP).
Windows Screenshots
A Model Context Protocol (MCP) server that provides screenshot capture functionality on Windows systems.
Reaudit MCP
An MCP Server to Control Your AI Visibility Through Reaudit.io
Crypto Fear & Greed Index
Provides real-time and historical Crypto Fear & Greed Index data from the Alternative.me API.
WoWok
A server for the WoWok platform, designed for co-creation, transactions, and empowering potential.
AGA MCP Server
Cryptographic runtime governance for AI agents. 20 tools. Sealed policy artifacts, continuous measurement, tamper-evident proof. Ed25519 + SHA-256.
Haiguitang (Turtle Soup) Game
An MCP server for '海龟汤' (Turtle Soup), a scenario-based reasoning puzzle game.
stresszero-mcp
MCP server for burnout risk scoring across 3 dimensions (physical, emotional, effectiveness) via the StressZero Intelligence API. Provides AI agents with burnout analysis, personalized recommendations, and detailed reports for coaches and HR platforms.
MCP Seat Reservation Server
A server for managing a comprehensive seat reservation system.