餐厅数据访问服务

Toast MCP Server是一个为Toast餐厅平台提供AI助手结构化访问餐厅操作数据的服务,包括菜单、订单和配置等。

  • by atthewm
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 atthewm/toast-mcp-server

使用说明

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.

返回计算的小计、税金和总计,而不创建实际订单。

编写安全模型

写操作使用三层保护:

  1. ALLOW_WRITES 环境变量 必须设置为 true.何时 false (默认),写入工具甚至没有在MCP服务器上注册。客户看不见它们。

  2. DRY_RUN 环境变量 默认为 true启用后,写工具验证有效载荷并返回不执行操作时会发生什么。设置为 false 只有当你准备好进行真正的写作时。

  3. 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凭据。要获取它们:

  1. 注册为Toast合作伙伴或联系Toast以获得API访问权限
  2. 获取客户端ID和客户端密钥
  3. 获取您要访问的位置的餐厅GUID

Toast API访问受限于Toast的服务条款和合作伙伴协议。本项目不隶属于Toast,股份有限公司或由其背书。

许可证

MIT。看 许可证.