@striderlabs/mcp-opentable
v0.1.5
Published
Restaurant discovery and autonomous reservations via OpenTable. Let your AI agent search dining options, check real-time availability, and book tables. Persistent session management for travel agents and personal AI assistants. Production-ready MCP server
Maintainers
Keywords
Readme
@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.
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
- npm: npmjs.com/@striderlabs/mcp-opentable
- 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
[email protected]
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 vault - Sessions 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.
