mcp-opentable
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-opentable Book a table for 4 at an Italian place in NYC tomorrow at 8pm"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@striderlabs/mcp-opentable
Book restaurant reservations via OpenTable using AI agents
Part of Strider Labs — action execution for personal AI agents.
Get Started in 2 Minutes
For Claude Desktop Users
Add this to your Claude Desktop config:
{
"mcpServers": {
"opentable": {
"command": "npx",
"args": ["-y", "@striderlabs/mcp-opentable"]
}
}
}Restart Claude.
Tell Claude: "Book a table for 4 at an Italian restaurant for 7 PM tonight"
Your agent can now book reservations. That's it.
Related MCP server: opentable-mcp
Installation (NPM)
npm install @striderlabs/mcp-opentableOr with npx directly:
npx @striderlabs/mcp-opentableFeatures
🔍 Search restaurants by cuisine, location, and rating
⏰ Check availability for specific times and party sizes
📅 Make reservations with one-click confirmation
📝 View booking history and manage reservations
🏷️ Filter by price, cuisine, and dining style
🔐 Persistent sessions - stay logged in across restarts
🔄 Automatic MFA - handles multi-factor authentication
📱 Per-user credentials - encrypted session storage
Tested & Compatible
Component | Version | Status |
MCP SDK | ^1.0.0 | ✅ |
Node.js | 18+ | ✅ |
Claude Desktop | Latest | ✅ |
Claude (API) | claude-3.5-sonnet+ | ✅ |
Anthropic SDK | ^0.20+ | ✅ |
Metrics
Weekly downloads: 187 (Apr 10-17, 2026) — Top restaurant connector (+467% growth)
Status: ✅ Live in production
Reliability: 85%+ task completion rate
Discovery: npm, Claude Plugins, mcpservers.org, ClawHub, PulseMCP
Available Elsewhere
Claude Plugins: Search "Strider Labs" in Claude
mcpservers.org: Strider Labs OpenTable
Full Strider Labs: github.com/striderlabsdev/striderlabs
How It Works
For Agents
Your agent can use these capabilities:
// Search for restaurants
restaurants = search_restaurants({
location: "San Francisco, CA",
cuisine: "Italian",
price_range: "$$",
date: "2026-04-15",
party_size: 4,
time: "19:00"
})
// Get detailed restaurant info
details = get_restaurant_details({
restaurant_id: "ristorante-milano-sf"
})
// Check availability
availability = check_availability({
restaurant_id: "ristorante-milano-sf",
party_size: 4,
date: "2026-04-15",
time: "19:00"
})
// Make a reservation
booking = make_reservation({
restaurant_id: "ristorante-milano-sf",
party_size: 4,
date: "2026-04-15",
time: "19:00",
special_requests: "Window seat if possible"
})
// View your reservations
reservations = get_my_reservations()Session Management
Each user has encrypted, persistent credentials
Automatic OAuth token refresh
MFA handling (SMS/email)
Sessions survive agent restarts
Reliability
85%+ task completion rate
Automated UI change detection (connectors update when OpenTable changes)
Fallback paths for failures
24/7 monitoring + alerting
Configuration
Environment Variables
# Optional: Use a specific OpenTable account
OPENTABLE_EMAIL=your-email@example.com
OPENTABLE_PASSWORD=your-password # Highly recommend using .env fileSelf-Hosted
# Clone the repo
git clone https://github.com/striderlabsdev/mcp-opentable
cd mcp-opentable
# Install dependencies
npm install
# Start the server
npm start
# Your agent can now connect to localhost:3000Architecture
How We Connect
This connector uses browser automation (Playwright) to interact with OpenTable, because OpenTable doesn't have a comprehensive public API for reservations. Here's why that's safe and reliable:
User-controlled: Your agent only accesses your own OpenTable account
Session-based: We store your login session securely, not your password
Change-aware: We detect OpenTable UI changes and alert immediately
Fingerprinting: We use realistic browser profiles to avoid bot detection
Rate-limited: We respect OpenTable's infrastructure with appropriate delays
Security
Credentials stored encrypted in your local
.envor secure vaultSessions isolated per user
No data sent to third parties
MIT Licensed — audit the code yourself
Support
Contributing
We welcome contributions! Areas of interest:
Bug reports and fixes
Feature requests (new filters, integrations, etc.)
Performance improvements
Documentation enhancements
See CONTRIBUTING.md for guidelines.
License
MIT — Free to use, modify, and distribute. See LICENSE for details.
Built by Strider Labs — Making AI agents actually useful.
Available Tools
9 toolsopentable_cancel_reservationA
Cancel an existing reservation. Set confirm=false to preview, confirm=true to actually cancel. This action cannot be undone.
Inputs: confirm (required), reservationId (required).
opentable_check_availabilityA
Check available reservation time slots for a restaurant on a specific date and party size.
Inputs: date (required), time (required), partySize (required), restaurantId (required).
opentable_get_reservationsA
List all upcoming reservations for the logged-in user. Requires authentication.
Inputs: no named parameters.
opentable_get_restaurantB
Get detailed information about a specific restaurant including description, address, hours, and features.
Inputs: restaurantId (required).
opentable_loginA
Get the OpenTable login URL and instructions for the user to authenticate. Use this when opentable_status returns not logged in.
Inputs: no named parameters.
opentable_logoutA
Clear the stored OpenTable session cookies. Use this to log out or reset the authentication state.
Inputs: no named parameters.
opentable_make_reservationA
Book a restaurant reservation on OpenTable. Set confirm=false to preview before booking, confirm=true to actually book. Requires the user to be logged in.
Inputs: date (required), time (required), confirm (required), partySize (required), +2 more.
opentable_searchB
Search for restaurants on OpenTable by location, cuisine, party size, date, and time.
Inputs: location (required), date, time, cuisine, +1 more.
opentable_statusA
Check if the user is logged in to OpenTable. Returns login status and instructions if not authenticated. Call this before any other OpenTable operations.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 9 tools
Each tool targets a distinct resource or action: authentication, search, restaurant details, availability, and reservation lifecycle. There is no meaningful overlap between tools, and the preview/confirm parameters within make/cancel reservation do not create ambiguity.
All tools share the consistent 'opentable_' prefix and mostly follow a verb_noun pattern such as search, get_restaurant, check_availability, and make_reservation. Minor deviations include opentable_status (noun instead of get_status) and opentable_login/logout (verbs without an object), but the pattern remains predictable.
Nine tools is well-suited for an OpenTable server covering authentication, restaurant discovery, availability checking, and reservation management. Each tool has a clear purpose and the count feels appropriately scoped.
The tool surface covers the core user journey: authenticate, search restaurants, view details, check availability, make reservations, list reservations, and cancel. The main gap is the lack of an update/modify reservation tool, though agents can work around it by canceling and rebooking.
Maintenance
Related MCP Connectors
OpenTable MCP server for ChatGPT, Claude and any AI agent: search restaurants with open tables, check availability, book a reservation, modify a reservation, cancel a reservation, list your reservations, read the reservation book and add guest notes and tags in your own OpenTable account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to OpenTable yourself; Cotlet does not store your password and you need no OpenTable API key. About the official OpenTable API: OpenTable has APIs only for approved partners (checked 27 Oct 2026). Booking, Sync, CRM, Directory and Reviews APIs need an application through the OpenTable partner program, and they work per restaurant, not on a diner account. Setup and FAQ: https://cotlet.dev/integrations/opentable-api-mcp-server
Resy MCP server for ChatGPT, Claude and any AI agent: search restaurants, check availability, book a reservation, list reservations, change a reservation, cancel a reservation, set a Notify alert and remove a Notify alert in your own Resy account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Resy yourself; Cotlet does not store your password and you need no Resy API key. About the official Resy API: Resy has no public API (checked 27 Oct 2026). Its official Resy app runs only inside Claude and ChatGPT: in Claude it shows live availability and sends you to Resy to book, in ChatGPT it can also book a table. Setup and FAQ: https://cotlet.dev/integrations/resy-api-mcp-server
ResDiary MCP server for ChatGPT, Claude and any AI agent: list bookings for a date, check open times, create a booking, move a booking, cancel a booking, read the W8LIST, add guest notes and set a customer type in your own ResDiary account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to ResDiary yourself; Cotlet does not store your password and you need no ResDiary API key. About the official ResDiary API: ResDiary has official APIs, but only for approved integrations (checked 31 Oct 2026). A venue or developer asks for access, states the purpose and passes certification, and the API licence then covers that one purpose. Setup and FAQ: https://cotlet.dev/integrations/resdiary-api-mcp-server
Find Resy restaurants and request reservations through Scout; the user approves every booking.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables users to search, check availability, and book restaurant reservations across Resy and OpenTable platforms. It supports direct booking for Resy and includes an automated reservation 'sniper' for securing high-demand slots the moment they become available.124MIT
- AlicenseAqualityAmaintenanceManage OpenTable reservations via natural language — find slots, book, cancel, manage favorites, and read your dashboard using your own browser session.15812 npm1MIT
- AlicenseAqualityDmaintenanceEnables AI agents to search restaurants, check availability, and book reservations on OpenTable, including managing booking history and handling multi-factor authentication.9260 npmMIT
- AlicenseAqualityBmaintenanceBook a table, an appointment or a place in a class at a real local business. Live availability, instant confirmation, no account and no API key. Eight tools: search, fetch, get_business, check_availability, create_booking, check_booking, cancel_booking and request_listing. Guest emails in eight languages. Hosted at https://g-guest.app/api/mcp810 npmMIT