使用说明
Toast MCP服务器
Toast餐厅平台的MCP(模型上下文协议)服务器。让AI助手结构化、安全地访问餐厅运营:菜单、订单、配置等。
这是什么
Toast MCP服务器将AI工具(Claude Desktop、Claude Code或任何MCP客户端)连接到Toast POS API。它公开了一组精心策划的读写工具,让您查询餐厅数据、搜索菜单、检查订单,甚至创建具有分层安全控制的订单。
这是 不 1:1 API包装。这是一个为运营工作流程设计的固执己见的工具界面:检查菜单上的内容、查看今天的订单、验证定价和监控餐厅健康状况。
这是给谁的
- 餐厅经营者 谁想要人工智能辅助访问他们的Toast数据
- 开发者 在Toast上构建自动化系统
- 自动化建设者 将餐厅运营整合到人工智能工作流程中
- 使用Claude的团队 谁想用自然语言访问POS数据
特性
阅读工具(11)
查询餐厅信息、配置、菜单、订单和系统健康状况,无需修改任何内容。
书写工具(3个,门控)
定价订单、创建订单和更新订单。所有写操作都需要通过环境变量和每次调用确认进行显式的选择加入。
事件系统
菜单更改、订单阈值、健康检查等的标准化事件类型。准备好进行webhook摄取和下游路由。
团队桥梁基础
脚手架,用于通过传入的webhooks将Toast事件转发到Microsoft Teams频道,具有MessageCard格式和基于严重性的颜色编码。
尚未支持的内容
- Webhook摄取(事件类型已定义,但尚未定义入站侦听器)
- 完整报告终结点(需要特定的Toast API作用域)
- 跨管理组发现合作伙伴
- 双向团队沟通(机器人框架、自适应卡)
- 通过轮询检测菜单更改
- 订单阈值警报
看 docs/roadmap.md 对于完整的计划。
快速开始
1.安装
npm install toast-mcp-server
或者克隆并从源代码构建:
git clone https://github.com/matthewmckenzie/toast-mcp-server.git
cd toast-mcp-server
npm install
npm run build
2.配置
复制示例环境文件并填写Toast API凭据:
cp .env.example .env
至少,您需要:
TOAST_CLIENT_ID=your_client_id
TOAST_CLIENT_SECRET=your_client_secret
TOAST_RESTAURANT_GUID=your_restaurant_guid
3.跑步
# Via npx (if installed globally or as a dependency)
npx toast-mcp-server
# Or directly
node dist/index.js
# Or in development mode
npm run dev
环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
TOAST_CLIENT_ID |
是 | Toast API客户端ID | |
TOAST_CLIENT_SECRET |
是 | 吐司API客户机密 | |
TOAST_RESTAURANT_GUID |
是* | 单餐厅GUID | |
TOAST_RESTAURANT_GUIDS |
否 | 多位置逗号分隔列表 | |
TOAST_API_HOST |
没有 | https://ws-api.toasttab.com |
Toast API基础URL |
ALLOW_WRITES |
没有 | false |
启用写入工具(价格、创建、更新订单) |
DRY_RUN |
没有 | true |
验证写入有效负载而不执行 |
LOG_LEVEL |
没有 | info |
日志记录级别:调试、信息、警告、错误 |
PARTNER_MODE |
没有 | false |
启用合作伙伴集成模式 |
WEBHOOK_SECRET |
否 | 未来webhook摄取的秘密 | |
WEBHOOK_PORT |
没有 | 3100 |
未来webhook侦听器的端口 |
MICROSOFT_TEAMS_WEBHOOK_URL |
否 | 团队传入webhook URL | |
MICROSOFT_BRIDGE_ENABLED |
没有 | false |
启用团队事件转发 |
*要么 TOAST_RESTAURANT_GUID 或 TOAST_RESTAURANT_GUIDS 应该设置。
MCP客户端配置
克劳德代码
添加到MCP配置中:
{
"mcpServers": {
"toast": {
"command": "npx",
"args": ["toast-mcp-server"],
"env": {
"TOAST_CLIENT_ID": "your_client_id",
"TOAST_CLIENT_SECRET": "your_client_secret",
"TOAST_RESTAURANT_GUID": "your_restaurant_guid"
}
}
}
}
克劳德桌面
{
"mcpServers": {
"toast": {
"command": "node",
"args": ["/path/to/toast-mcp-server/dist/index.js"],
"env": {
"TOAST_CLIENT_ID": "your_client_id",
"TOAST_CLIENT_SECRET": "your_client_secret",
"TOAST_RESTAURANT_GUID": "your_restaurant_guid",
"ALLOW_WRITES": "false",
"LOG_LEVEL": "info"
}
}
}
}
示例用法
检查连接健康状况
Use toast_healthcheck to verify the server is properly connected.
返回身份验证状态、API连接和配置摘要。
搜索菜单
Use toast_search_menu_items with query "burger" to find all burger items on the menu.
返回匹配的项目及其菜单上下文、组、价格和修饰符。
列出今天的订单
Use toast_list_orders with businessDate "20260321" to see today's orders.
返回最近的订单,包括支票详细信息、金额、服务器信息和时间。
在创建订单之前为其定价
Use toast_price_order with selections to validate pricing before placing an order.
返回计算的小计、税金和总计,而不创建实际订单。
编写安全模型
写操作使用三层保护:
-
ALLOW_WRITES环境变量 必须设置为true.何时false(默认),写入工具甚至没有在MCP服务器上注册。客户看不见它们。 -
DRY_RUN环境变量 默认为true启用后,写工具验证有效载荷并返回不执行操作时会发生什么。设置为false只有当你准备好进行真正的写作时。 -
confirm_write参数 在每次写入工具调用时。调用者必须显式传递confirm_write: true每次调用。这可以防止意外写入,即使为它们配置了环境。
要执行写入,必须满足所有三个层。这意味着您不能意外创建真正的订单。
工具参考
阅读工具
| 工具 | 说明 |
|---|---|
toast_auth_status |
验证API凭据和连接状态 |
toast_list_restaurants |
列出所有已配置的餐厅及其基本信息 |
toast_get_restaurant_info |
获取特定餐厅的详细信息 |
toast_get_config_summary |
收入中心、餐饮场所、服务区 |
toast_get_menu_metadata |
轻量级菜单概述(名称、计数) |
toast_get_menu |
包含项目、修改器和价格的完整菜单 |
toast_search_menu_items |
按关键字搜索菜单项 |
toast_get_order |
按GUID获取特定订单 |
toast_list_orders |
使用筛选器列出最近的订单 |
toast_healthcheck |
验证配置、身份验证和连接 |
toast_api_capabilities |
报告可用功能和权限 |
写入工具
| 工具 | 描述 | 安全 |
|---|---|---|
toast_price_order |
验证拟议订单并定价 | 需要 ALLOW_WRITES |
toast_create_order |
在Toast中创建真实订单 | 需要 ALLOW_WRITES + DRY_RUN=false + confirm_write |
toast_update_order |
修改现有订单 | 需要 ALLOW_WRITES + DRY_RUN=false + confirm_write |
看 docs/tools.md 获取完整的工具文档。
发展
构建
npm run build # Compile TypeScript
npm run clean # Remove dist/
测试
npm test # Run tests
npm run test:watch # Watch mode
npm run test:coverage # With coverage
棉绒
npm run lint # Check for issues
npm run lint:fix # Auto fix
npm run typecheck # Type checking only
开发者模式
npm run dev # Watch mode with tsx
建筑
服务器分为几个层次:配置、Toast API客户端、工具注册表、事件系统和通知桥。工具是为操作用例而策划的,而不是公开每个API端点。
看 docs/architecture.md 了解详情。
路线图
该项目遵循从核心读取工具到实时事件处理和团队集成的分阶段计划。
看 docs/roadmap.md 完整的路线图。
Toast API访问
此服务器需要有效的Toast API凭据。要获取它们:
- 注册为Toast合作伙伴或联系Toast以获得API访问权限
- 获取客户端ID和客户端密钥
- 获取您要访问的位置的餐厅GUID
Toast API访问受限于Toast的服务条款和合作伙伴协议。本项目不隶属于Toast,股份有限公司或由其背书。
许可证
MIT。看 许可证.