Skip to main content
Glama

@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:

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


Related MCP server: opentable-mcp

Installation (NPM)

npm install @striderlabs/mcp-opentable

Or with npx directly:

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

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

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 file

Self-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: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

Available Tools

9 tools
opentable_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_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

    A4/5.0

    Scored across 9 tools

    Disambiguation5/5

    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.

    Naming Consistency4/5

    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.

    Tool Count5/5

    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.

    Completeness4/5

    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

    ActivityInactive
    ResponsivenessNo recent community issues

    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

      https://cotlet.dev/mcp/v1/resy
    • 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.

      https://dinewithscout.com/mcp

    Related MCP Servers

    • A
      license
      A
      quality
      A
      maintenance
      Manage OpenTable reservations via natural language — find slots, book, cancel, manage favorites, and read your dashboard using your own browser session.
      15
      812 npm
      1
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Book 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/mcp
      8
      10 npm
      MIT