核心用法
opentable-mcp 是一款基于MCP(Model Context Protocol)协议的服务器,让用户能够通过自然语言与OpenTable餐厅预订系统交互。该工具并非调用官方API(OpenTable未开放),而是通过浏览器扩展fetchproxy代理用户已登录的OpenTable网页端请求。
主要功能流程
餐厅搜索与预订:
- 使用
opentable_search_restaurants按关键词、位置、日期、人数搜索餐厅 - 通过
opentable_get_restaurant获取餐厅详情,包括可选的用餐区域(diningAreas) - 调用
opentable_find_slots查询指定日期的可预订时段 - 对于普通预订:直接调用
opentable_book - 对于需信用卡担保的热门时段:必须先调用
opentable_book_preview获取预订令牌,再执行opentable_book
管理现有预订:
opentable_list_reservations列出即将到来的/历史预订opentable_cancel通过确认号和安全令牌取消预订opentable_modify_preview+opentable_modify修改预订信息(非先取消再预订)
收藏管理:
opentable_list_favorites/opentable_add_favorite/opentable_remove_favorite
显著优点
1. 无需API密钥或密码管理:认证完全依赖用户浏览器中已登录的OpenTable会话,通过密码less的邮件OTP机制,避免敏感凭证泄露
2. 代理架构安全:fetchproxy扩展仅在用户授权的浏览器标签页中运行,不存储或传输密码
3. 自然语言交互:支持"今晚在附近找家意大利餐厅"等口语化请求
4. 完整预订生命周期:覆盖搜索→预订→修改→取消→收藏的全流程
潜在缺点与局限性
1. 非官方API依赖:使用OpenTable内部端点,可能因网站更新而失效;文档提到的PersistedQueryNotFound错误需要手动修复
2. 架构复杂度高:必须同时安装MCP服务器和浏览器扩展,且需保持opentable.com标签页处于登录状态
3. 时效性限制:预订令牌(reservation_token + slot_hash)仅1-2分钟有效,用户犹豫需重新查询
4. 浏览器依赖:Chrome MV3扩展的服务工作者(Service Worker)会在30秒空闲后休眠,首次请求延迟2-5秒
5. 无支付数据访问:无法查看完整信用卡信息,仅能预览卡号后四位
6. 写入延迟:收藏添加后约10秒才能在列表中显示
适合人群
- 频繁使用OpenTable预订餐厅的重度用户
- 希望用自然语言快速完成多步骤预订操作的用户
- 已习惯浏览器扩展授权模式的技术接受度较高用户
- 需要批量查询或管理多个预订的餐厅爱好者
常规风险
- 架构失效风险:OpenTable网站更新可能导致代理失效,需等待社区修复
- 会话过期:Akamai的
_abck令牌或OpenTable SSO过期时需要重新登录 - 双预订风险:同一天取消后立即重新预订可能触发OpenTable的风控检查
- 体验类餐厅复杂性:含固定菜单(prix-fixe)或主厨餐桌的餐厅预订流程更复杂,需额外选择体验项目
- CC担保误解:用户可能未注意取消政策中的no-show费用条款