MCP server: One MCP server.

OpenTable

@markswendsen-codeMCP server · External

MCP server for OpenTable - let AI agents book restaurant reservations and manage dining autonomously

Restaurantsv0.1.2TypeScript
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: moves money, runs code or commands, deletes data, or sends messages for you.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

npm@striderlabs/mcp-opentablev0.1.2

Run

npx -y @striderlabs/mcp-opentable

MCP client config

{
  "mcpServers": {
    "opentable": {
      "command": "npx",
      "args": [
        "-y",
        "@striderlabs/mcp-opentable"
      ]
    }
  }
}
README3 min read

@striderlabs/mcp-opentable

Book restaurant reservations via OpenTable using AI agents

npm MCP Registry Claude Desktop License: MIT

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:
json
{
  "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.


Installation (NPM)

bash
npm install @striderlabs/mcp-opentable

Or with npx directly:

bash
npx @striderlabs/mcp-opentable

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:

javascript
// 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

bash
# Optional: Use a specific OpenTable account
OPENTABLE_EMAIL=your-email@example.com
OPENTABLE_PASSWORD=your-password  # Highly recommend using .env file

Self-Hosted

bash
# 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:3000

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

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.

GitHub | Website | Discord

Similar modules

Browse Restaurants