opentable について
opentableは、エージェントがOpenTableのレストラン検索や予約を行うためのMCPサーバーです。予約履歴の確認と予約管理にも対応し、セッション維持やMFA処理を備えています。
主な機能
- 01料理、場所、評価で検索
- 02日時と人数を指定して空席を確認
- 03レストランを予約
- 04予約履歴の確認と予約管理
- 05価格や食事スタイルで絞り込み
- 06セッション維持とMFA対応
活用シーン
- 01場所や料理に合うレストランを探す
- 02指定日と人数で空席を調べる
- 03テーブルを予約して既存予約を確認する
MCP 対応
MCPクライアントに、レストラン検索、空席確認、予約、予約管理のツールを提供します。ブラウザー自動化でOpenTableを操作します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @striderlabs/mcp-opentableOPENTABLE_EMAILOpenTable email for authenticationOPENTABLE_PASSWORDシークレットOpenTable account passwordOPENTABLE_LOCATIONDefault location/city for restaurant searchesローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
@striderlabs/mcp-opentable
AI エージェントを使って OpenTable でレストランを予約
Strider Labs の一部 — パーソナル AI エージェント向けのアクション実行ツールです。
2 分で始める
Claude Desktop ユーザー向け
- Claude Desktop の設定に以下を追加します。
{
"mcpServers": {
"opentable": {
"command": "npx",
"args": ["-y", "@striderlabs/mcp-opentable"]
}
}
}
- Claude を再起動します。
- Claude にこう伝えます:「今夜 7 時にイタリアンレストランを 4 人で予約して」
これでエージェントが予約できるようになります。以上です。
インストール(NPM)
npm install @striderlabs/mcp-opentable
または、npx から直接実行します。
npx @striderlabs/mcp-opentable
機能
- 🔍 レストランを検索:料理の種類、場所、評価で検索します
- ⏰ 空き状況を確認:指定した時間と人数で確認します
- 📅 予約を作成:ワンクリックで確定します
- 📝 予約履歴を表示し、予約を管理します
- 🏷️ 価格、料理の種類、食事スタイルで絞り込み
- 🔐 セッションを永続化:再起動後もログイン状態を維持します
- 🔄 MFA を自動処理:多要素認証に対応します
- 📱 ユーザーごとの認証情報:セッションを暗号化して保存します
テスト済み・互換性あり
| コンポーネント | バージョン | 状態 |
|---|---|---|
| MCP SDK | ^1.0.0 | ✅ |
| Node.js | 18+ | ✅ |
| Claude Desktop | 最新 | ✅ |
| Claude (API) | claude-3.5-sonnet+ | ✅ |
| Anthropic SDK | ^0.20+ | ✅ |
指標
- 週間ダウンロード数: 187(2026 年 4 月 10~17 日)— レストランコネクターのトップ(成長率 +467%)
- 状態: ✅ 本番環境で稼働中
- 信頼性: タスク完了率 85% 以上
- 掲載先: npm、Claude Plugins、mcpservers.org、ClawHub、PulseMCP
他の掲載先
- npm: npmjs.com/@striderlabs/mcp-opentable
- Claude Plugins: Claude で「Strider Labs」を検索
- mcpservers.org: Strider Labs OpenTable
- Strider Labs 全体: github.com/striderlabsdev/striderlabs
仕組み
エージェント向け
エージェントは以下の機能を利用できます。
// 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()
セッション管理
- 各ユーザーの認証情報は暗号化され、永続的に保存されます
- OAuth トークンを自動更新します
- MFA(SMS/メール)を処理します
- エージェントを再起動してもセッションが維持されます
信頼性
- タスク完了率 85% 以上
- UI の変更を自動検出(OpenTable の変更に合わせてコネクターを更新)
- 障害発生時の代替手段
- 24 時間 365 日の監視とアラート
設定
環境変数
# Optional: Use a specific OpenTable account
[email protected]
OPENTABLE_PASSWORD=your-password # Highly recommend using .env file
セルフホスト
# 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
アーキテクチャ
接続方法
このコネクターは、OpenTable とやり取りするためにブラウザー自動化(Playwright)を使用します。OpenTable には予約用の包括的な公開 API がないためです。これが安全で信頼できる理由は以下のとおりです。
- ユーザーが制御: エージェントがアクセスするのは、ご自身の OpenTable アカウントのみです
- セッションベース: パスワードではなく、ログインセッションを安全に保存します
- 変更を検知: OpenTable の UI の変更を検出し、すぐに通知します
- フィンガープリンティング: ボット検出を回避するため、実際のブラウザーに似たプロファイルを使用します
- レート制限: 適切な待機時間を設け、OpenTable のインフラストラクチャに配慮します
セキュリティ
- 認証情報はローカルの
.envまたはセキュアなボールトに暗号化して保存されます - セッションはユーザーごとに分離されます
- 第三者にデータを送信しません
- MIT ライセンス — ご自身でコードを監査できます
サポート
- 📖 Strider Labs の全ドキュメント
- 🐛 問題を報告
- 💬 ディスカッション
- 🌐 ウェブサイト
- 📧 メール
貢献
皆さまからの貢献を歓迎します!以下の分野に関心があります。
- バグ報告と修正
- 機能リクエスト(新しいフィルター、インテグレーションなど)
- パフォーマンスの改善
- ドキュメントの充実
ガイドラインについては、CONTRIBUTING.mdをご覧ください。
ライセンス
MIT — 自由に使用、変更、配布できます。詳細はLICENSEをご覧ください。
Strider Labs が開発 — AI エージェントを本当に役立つものにします。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。