Opentable

io.github.markswendsen-codePublished by GitHub account markswendsen-codev0.1.2Updated Oct 24, 2026

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

Overview

AI-generated overview

A local MCP server that lets an AI assistant search OpenTable restaurants, check availability, and book or manage dining reservations on the user's own account.

What you can do
Search restaurants by cuisine, location, price, rating and dining style, and view restaurant details and availability for a date, time and party size. Make reservations with special requests and view or manage existing bookings. Keep a persistent, per-user login session across restarts, including automatic multi-factor authentication handling.
When to use it
Useful when you want an assistant to find restaurants and complete OpenTable bookings for you, rather than only suggesting places. Suited to personal dining planning where the assistant acts on your own OpenTable account.
Requirements
Runs locally via npm (Node.js 18+) with npx or a Claude Desktop config entry. Requires an OpenTable account: OPENTABLE_EMAIL and OPENTABLE_PASSWORD are required, and OPENTABLE_LOCATION is optional. Uses browser automation to reach OpenTable, so network access is needed.
Before you install
Requires your OpenTable account password in OPENTABLE_PASSWORD; the README recommends a .env file. It can create and change real reservations on your account, which may carry restaurant cancellation policies. It drives OpenTable through browser automation rather than an official API, so behavior may break when the site changes.

Installation

In SourceWeft

  1. Open Opentable in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

@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 restaurantsrestaurants = search_restaurants({  location: "San Francisco, CA",  cuisine: "Italian",  price_range: "$$",  date: "2026-04-15",  party_size: 4,  time: "19:00"})
// Get detailed restaurant infodetails = get_restaurant_details({  restaurant_id: "ristorante-milano-sf"})
// Check availabilityavailability = check_availability({  restaurant_id: "ristorante-milano-sf",  party_size: 4,  date: "2026-04-15",  time: "19:00"})
// Make a reservationbooking = 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 reservationsreservations = 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[email protected]OPENTABLE_PASSWORD=your-password  # Highly recommend using .env file

Self-Hosted

bash
# Clone the repogit clone https://github.com/striderlabsdev/mcp-opentablecd mcp-opentable
# Install dependenciesnpm install
# Start the servernpm 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

Source: README.md at commit 0b5980e

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.2LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.