🍖 BBQ MCP服务器
用于烧烤烹饪指导的MCP(模型上下文协议)服务器 实时ThermoWorks云集成连接您的ThermoWorks帐户,获取实时温度读数、专家烹饪指导、失速检测和完美定时的厨师。
✨ 最新动态:Real ThermoWorks认证
连接您的实际ThermoWorks设备! 此MCP服务器现在使用您现有的帐户凭据(与ThermoWorks移动应用程序相同)直接与ThermoWWorks Cloud进行身份验证。
You: "Connect to my ThermoWorks account"
MCP: thermoworks_authenticate(email, password)
→ ✅ Connected! Found 1 device: Signals (SIG-12345)
You: "How's my brisket doing?"
MCP: thermoworks_get_live_readings() + bbq_analyze_temperature()
→ 🌡️ Probe 1: 168°F | Target: 203°F | 78% complete
→ ⚠️ You're in the stall zone! Consider wrapping.特性
- 📱 ThermoWorks云集成:信号、烟雾、BlueDOT、节点的实时读数
- 🎯 烹饪指导:20多种蛋白质的全面说明
- 🌡️ 温度分析:实时进度跟踪和趋势检测
- ⏱️ 时间估计:基于重量和方法的精确烹饪时间
- 🛑 失速检测:检测并获得可怕失速的建议
- 😴 休息计算:确切地知道什么时候拉,休息多久
支持的蛋白质
牛肉
- 胸脯、罗纹、三尖、优质罗纹、短罗纹
猪肉
- 肩部、臀部、备用肋骨、婴儿背部肋骨、腰部、嫩腰部、腹部
家禽
- 整只鸡,胸脯,大腿,翅膀,整只火鸡,火鸡胸脯
羔羊
- 肩部、腿部、支架
海鲜
- 鲑鱼
烹饪方法
| 方法 | 温度范围 | 最适合 |
|---|---|---|
| 低烟和慢烟 | 225-250°F | 胸脯、猪排、肋骨 |
| 热烟 | 275-325°F | 家禽、猪腰肉 |
| 直接烧烤 | 400-500°F | 牛排、排骨 |
| 间接烧烤 | 300-350°F | 烘烤,大块 |
| 倒车档 | 225°F→ 500°F | 厚牛排 |
| 麻雀 | 325-400°F | 整只鸟 |
| 烤肉店 | 300-350°F | 整只鸟,烤肉 |
安装
本地安装
# Clone or copy the server files
cd bbq-mcp-server
# Install dependencies
npm install
# Build
npm run build
# Run (stdio mode for local use)
npm start
# Run (HTTP mode for remote access)
TRANSPORT=http npm start部署到Smithery
此服务器旨在与 铁匠铺 用于托管部署。Smithery自动处理容器化和缩放。
1.推送到GitHub
git init
git add .
git commit -m "BBQ MCP Server"
git remote add origin https://github.com/YOUR_USERNAME/bbq-mcp-server.git
git push -u origin main2.连接到Smithery
- 首选 史密斯艾 并登录
- 点击“添加服务器”并连接您的GitHub存储库
- Smithery将自动检测
smithery.yaml和package.json配置 - 点击“部署”
3.配置会话
当用户连接到Smithery上的服务器时,他们可以通过会话配置提供他们的ThermoWorks凭据:
| 参数 | 说明 |
|---|---|
thermoworks_email | ThermoWorks帐户电子邮件(可选) |
thermoworks_password | ThermoWorks帐户密码(可选) |
use_legacy_smoke | 设置 true 适用于较旧的Smoke Gateway设备 |
不提供凭据的用户仍然可以使用所有烧烤烹饪指导工具——只有实时设备阅读工具需要身份验证。
4.使用Smithery CLI进行本地开发
# Install Smithery CLI
npm install -D @smithery/cli
# Start development server with hot reload
npm run dev
# This opens the Smithery Playground for testingThermoWorks云认证
连接您的帐户
MCP服务器直接与ThermoWorks Cloud(Firebase后端)进行身份验证。您的凭据将直接发送到ThermoWorks服务器,永远不会被存储。
{
"tool": "thermoworks_authenticate",
"args": {
"email": "your-thermoworks-email@example.com",
"password": "your-password"
}
}适用于自动/无头使用
设置环境变量:
export THERMOWORKS_EMAIL="your-email@example.com"
export THERMOWORKS_PASSWORD="your-password"安全说明
- ✅ 直接发送到ThermoWorks/Firebase的凭据(HTTPS)
- ✅ MCP服务器未存储凭据
- ✅ 代币在1小时后自动过期
- ✅ 令牌在需要时自动刷新
- ⚠️ 在生产中使用环境变量,永远不要硬编码凭据
可用工具
ThermoWorks云工具
thermoworks_authenticate
使用您的帐户连接到ThermoWorks Cloud。
{
"email": "your@email.com",
"password": "your-password",
"use_legacy_smoke": false
}thermoworks_get_live_readings
从所有连接的设备获取当前温度读数。
{
"device_serial": "SIG-12345", // optional, defaults to all
"response_format": "markdown"
}thermoworks_analyze_live
实时阅读并分析烹饪目标。
{
"device_serial": "SIG-12345",
"probe_id": "1",
"protein_type": "beef_brisket"
}烧烤烹饪工具
bbq_get_cooking_guidance
获取特定蛋白质的全面烹饪指南。
{
"protein_type": "beef_brisket",
"weight_pounds": 14,
"serving_time": "2024-12-25T18:00:00"
}bbq_analyze_temperature
分析当前温度并获得进度/建议。
{
"current_temp": 165,
"target_temp": 203,
"protein_type": "beef_brisket",
"previous_readings": [
{"temp": 155, "timestamp": "2024-12-25T10:00:00"},
{"temp": 160, "timestamp": "2024-12-25T11:00:00"},
{"temp": 165, "timestamp": "2024-12-25T12:00:00"}
]
}bbq_get_target_temperature
获取指定熟度下蛋白质的目标温度。
{
"protein_type": "beef_ribeye",
"doneness": "medium_rare"
}bbq_list_proteins
列出所有支持的蛋白质及其烹饪信息。
{
"category": "beef"
}bbq_estimate_cook_time
估计总烹饪时间。
{
"protein_type": "pork_butt",
"weight_pounds": 10,
"cook_method": "smoke_low_slow"
}bbq_detect_stall
检测你的厨师是否出现温度停滞。
{
"protein_type": "beef_brisket",
"current_temp": 160,
"readings": [
{"temp": 158, "timestamp": "2024-12-25T10:00:00"},
{"temp": 159, "timestamp": "2024-12-25T11:00:00"},
{"temp": 160, "timestamp": "2024-12-25T12:00:00"},
{"temp": 160, "timestamp": "2024-12-25T13:00:00"}
]
}bbq_get_cooking_tips
获取蛋白质和烹饪阶段的烹饪技巧。
{
"protein_type": "beef_brisket",
"current_phase": "stall"
}bbq_calculate_rest_time
计算休息时间和剩余烹饪时间。
{
"protein_type": "beef_brisket",
"current_temp": 200
}bbq_analyze_device_reading
分析ThermoWorks设备的读数。
{
"device_type": "Signals",
"probe_readings": [
{"probe_id": "probe1", "name": "Brisket", "temperature": 175},
{"probe_id": "ambient", "name": "Smoker", "temperature": 250}
],
"protein_type": "beef_brisket",
"target_temp": 203
}bbq_convert_temperature
在华氏度和摄氏度之间转换。
{
"temperature": 225,
"from_unit": "fahrenheit",
"to_unit": "celsius"
}示例用法
计划做胸脯厨师
“我有一个14磅重的胸脯,想在下午6点供应晚餐。我什么时候开始?”
服务器将计算:
- 预计烹饪时间(低速和慢速约17-18小时)
- 建议开始时间(考虑休息和缓冲)
- 目标温度
- 失速警告
- 休息说明
监控进度
“我的胸脯温度是165°F,两个小时没有动过。这正常吗?”
服务器将:
- 检测失速
- 确认这是正常行为
- 提供建议(打包或骑行)
- 估计剩余时间
到达终点线
“胸脯刚刚达到200°F。我应该休息多久?”
服务器将:
- 建议休息60+分钟
- 计算预期结转温度(+5°F)
- 提供休息指导
- 建议采用较冷的方法延长保温时间
热电厂集成
此服务器旨在与ThermoWorks Cloud连接的设备配合使用:
- 信号:带Billows风扇控制的4探头温度计
- 烟:带网关的2探头无线温度计
- BlueDOT:带应用程序连接的蓝牙温度计
虽然API完全集成需要ThermoWorks云证书,但服务器可以分析用户提供的温度读数并模拟设备工作流程。
美国农业部温度指南
| 蛋白质 | 最低安全标准 | 推荐 |
|---|---|---|
| 牛肉(整块) | 145°F+3分钟休息 | 中等偏少:130°F |
| 猪肉(整块) | 145°F+3分钟休息 | 中等:145°F |
| 绞肉 | 160°F | 160°F |
| 家禽 | 165°F | 胸围:165°F,大腿:175°F |
| 胸肉/拉肉 | 145°F安全 | 可拉肉:200-205°F |
许可证
麻省理工学院
Smithery部署
此服务器与兼容 铁匠铺 用于托管部署。
快速部署
- 推送到GitHub存储库
- 连接到Smithery并导入您的仓库
- Smithery将检测
smithery.yaml并自动部署
配置架构
当用户连接时,他们可以选择提供:
| 参数 | 类型 | 说明 |
|---|---|---|
thermoworksEmail | string | 热电厂帐户电子邮件 |
thermoworksPassword | string | ThermoWorks帐户密码 |
useLegacySmoke | boolean | 使用旧式Smoke Gateway API |
defaultTempUnit | enum | “华氏度”或“摄氏度” |
使用Smithery CLI进行本地开发
# Install Smithery CLI
npm install -g @smithery/cli
# Run dev server with hot-reload
npm run dev
# Or run playground
npx @smithery/cli playgroundSmithery的档案
smithery.yaml-Smithery配置src/smithery.ts-Smithery兼容入口点configSchema出口
贡献
欢迎投稿!感兴趣的领域:
- 其他蛋白质谱
- 区域烧烤风格变化
- 增强的ThermoWorks云集成
- 吸烟者/烤架特定建议
