关于 opentable
opentable 是供 Agent 搜索餐厅并处理 OpenTable 预订的 MCP 服务,也支持查看预订记录和管理预订,并提供持久会话及 MFA 处理。
主要功能
- 01按菜系、地点和评分搜索
- 02按时间和人数查询空位
- 03预订餐厅座位
- 04查看预订记录并管理预订
- 05按价格和用餐风格筛选
- 06保持会话并处理 MFA
适用场景
- 01查找符合地点和菜系的餐厅
- 02查询指定日期和人数的座位
- 03预订餐桌并查看现有预订
MCP 相关
该服务向 MCP 客户端提供餐厅搜索、空位查询、预订和预订管理工具,并通过浏览器自动化与 OpenTable 交互。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
mcp.json · 通用配置
启动命令
npx -y @striderlabs/mcp-opentable需要配置的环境变量
OPENTABLE_EMAILOpenTable email for authenticationOPENTABLE_PASSWORD密钥OpenTable account passwordOPENTABLE_LOCATIONDefault location/city for restaurant searches本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
@striderlabs/mcp-opentable
通过 AI Agent 使用 OpenTable 预订餐厅
这是 Strider Labs 的一部分——为个人 AI Agent 提供操作执行能力。
2 分钟快速上手
Claude Desktop 用户
- 将以下内容添加到 Claude Desktop 配置中:
{
"mcpServers": {
"opentable": {
"command": "npx",
"args": ["-y", "@striderlabs/mcp-opentable"]
}
}
}
- 重启 Claude。
- 告诉 Claude:“今晚 7 点预订一家意大利餐厅,4 人用餐。”
你的 Agent 现在可以预订餐位了。就是这么简单。
安装(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
工作原理
面向 Agent
你的 Agent 可以使用以下功能:
// 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(短信/电子邮件)
- Agent 重启后会话仍然有效
可靠性
- 任务完成率达 85%+
- 自动检测 UI 变更(OpenTable 更新时连接器也会随之更新)
- 故障时提供备用路径
- 全天候监控与告警
配置
环境变量
# 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
架构
连接方式
此连接器使用浏览器自动化(Playwright)与 OpenTable 交互,因为 OpenTable 没有用于预订的全面公开 API。以下是这种方式安全可靠的原因:
- 由用户控制: 你的 Agent 只能访问你自己的 OpenTable 账户
- 基于会话: 我们安全存储你的登录会话,而非密码
- 及时响应变更: 我们会检测 OpenTable UI 变更并立即发出告警
- 指纹识别: 我们使用逼真的浏览器配置文件来避免被检测为机器人
- 限制请求速率: 我们通过适当的延迟来尊重 OpenTable 的基础设施
安全性
- 凭据经过加密后存储在本地
.env文件或安全保管库中 - 各用户的会话相互隔离
- 不会向第三方发送数据
- MIT 许可——可自行审查代码
支持
- 📖 Strider Labs 完整文档
- 🐛 报告问题
- 💬 讨论
- 🌐 网站
- 📧 电子邮件
贡献
欢迎贡献!我们感兴趣的方向包括:
- 错误报告与修复
- 功能请求(新增筛选器、集成等)
- 性能改进
- 文档完善
请参阅 CONTRIBUTING.md 了解指南。
许可证
MIT — 可自由使用、修改和分发。详情请参阅 LICENSE。
由 Strider Labs 构建 — 让 AI Agent 真正发挥作用。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。