Labsco
markswendsen-code logo

Strider Labs OpenTable MCP

โ˜… 1

from markswendsen-code

MCP server for OpenTable - let AI agents make restaurant reservations and find availability

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeAdvanced setup

@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

  1. Add this to your Claude Desktop config:
{
  "mcpServers": {
    "opentable": {
      "command": "npx",
      "args": ["-y", "@striderlabs/mcp-opentable"]
    }
  }
}
  1. Restart Claude.
  2. Tell Claude: "Book a table for 4 at an Italian restaurant for 7 PM tonight"

Your agent can now book reservations. That's it.


Features

  • ๐Ÿ” 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

ComponentVersionStatus
MCP SDK^1.0.0โœ…
Node.js18+โœ…
Claude DesktopLatestโœ…
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

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

Architecture

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 .env or secure vault
  • Sessions isolated per user
  • No data sent to third parties
  • MIT Licensed โ€” audit the code yourself

Support