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
관련 서버
Poof
Background removal API - remove backgrounds from images with a simple API call. Supports PNG, JPEG, WebP output with transparency or custom backgrounds.
GMX MCP Server
Perpetuals trading data, pool stats, and position info on GMX
Phone Carrier Detector
Detects Chinese mobile phone carriers, including China Mobile, China Unicom, China Telecom, and virtual carriers.
UPS MCP Server
An MCP server for accessing UPS shipping and logistics services.
sapient-mcp
MCP toAutomate SAP GUI
ADM1 MCP Server
Control anaerobic digestion modeling (ADM1) using natural language.
mycop
AI code security scanner with 100 built-in rules covering OWASP Top 10 and CWE Top 25
Minecraft MCP
Control a Minecraft character to build, explore, and interact with the game world using natural language.
Zen7-Payment-Agent
Zen7 Payment Agent is the first implementation project of DePA (Decentralized Payment Agent), pioneers next-generation intelligent payment infrastructure.
VFX MCP
A powerful video editing server using ffmpeg-python to process external video files.