grr-gaggiuino-mcp
MCP(模型上下文协议)服务器 加吉乌伊诺-改良的浓缩咖啡机。
从任何兼容MCP的客户端监控您的机器、分析注射并管理冲泡配置文件。
工具
| 工具 | 说明 |
|---|---|
get_status | 实时机器状态:温度、压力、重量、水位、活动曲线、酿造/蒸煮状态 |
get_shot | 使用具有时间序列曲线(压力、流量、温度、重量)和剖面的快照数据。默认为最新拍摄。 |
get_profiles | 列出所有带有ID和选择状态的酿造配置文件 |
select_profile | 通过ID激活酿造配置文件 |
安装
先决条件
- Node.js 18+
- 您本地网络上的Gaggiuino改良浓缩咖啡机
选项1:npx(最简单)
无需安装-只需配置Claude Desktop以使用npx:
{
"mcpServers": {
"gaggiuino": {
"command": "npx",
"args": ["grr-gaggiuino-mcp"],
"env": {
"GAGGIUINO_BASE_URL": "http://YOUR_GAGGIUINO_IP"
}
}
}
}选项2:克隆和构建
git clone https://github.com/sgerlach/grr-gaggiuino-mcp.git
cd grr-gaggiuino-mcp
npm install
npm run buildClaude桌面配置
添加到您的Claude Desktop配置中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"gaggiuino": {
"command": "node",
"args": ["/path/to/grr-gaggiuino-mcp/dist/index.js"],
"env": {
"GAGGIUINO_BASE_URL": "http://YOUR_GAGGIUINO_IP"
}
}
}
}备注:如果使用nvm,请指定节点18+的完整路径: ``json "command": "/Users/you/.nvm/versions/node/v20.x.x/bin/node" ``配置
| 变量 | 默认值 | 描述 |
|---|---|---|
GAGGIUINO_BASE_URL | http://192.168.3.248 | 您的Gaggiuino的IP或主机名 |
REQUEST_TIMEOUT | 5000 | API超时(以毫秒为单位) |
测试
# With MCP Inspector
npm run inspect
# Direct run
GAGGIUINO_BASE_URL=http://YOUR_IP npm start示例工作流
快速状态检查
You: "Is my machine ready to pull a shot?"
→ get_status: temp 93°C (target 93°C), pressure stable, water level 85%点一杯新咖啡
You: "I have a new bag of coffee - Ethiopian Yirgacheffe, light roast,
tasting notes of blueberry and citrus. It's 10 days off roast.
What profile should I start with?"
→ LLM recommends a profile based on the coffee characteristics
You: "OK I pulled the shot, analyze it"
→ get_shot returns pressure/flow/temp curves
You: "It tasted sour and watery"
→ LLM analyzes the shot data against your taste feedback:
"The pressure ramped too quickly and flow was high (4.2 ml/s).
Try grinding 2 steps finer. The 6:1 ratio in 24s suggests
under-extraction - aim for 28-32s."
You: "Pulled another shot after adjusting"
→ get_shot for the new shot
→ "Much better - pressure curve is smoother, 2.8 ml/s flow.
How did it taste?"射击分析和故障排除
You: "My shots have been channeling lately, look at my last few shots"
→ get_shot (latest), get_shot (id: previous)
→ LLM identifies pressure spikes/instability indicating channeling
You: "Compare this shot to yesterday's good one"
→ Side-by-side analysis of shot curves配置文件管理
You: "What profiles do I have?"
→ get_profiles lists all available profiles
You: "Switch to my low-pressure blooming profile"
→ select_profile activates it
You: "Pull a shot and tell me if this profile works for my current beans"
→ get_shot + analysis based on bean characteristics you've shared迭代拨入会话
You: "Let's dial in this coffee. Medium-dark Brazilian, chocolate/nutty,
for milk drinks. 18g dose, targeting 36g out."
→ LLM suggests starting parameters and profile
[Pull shot 1]
You: "Done, check it"
→ get_shot → "23 seconds, slightly fast. Bitter finish suggests
over-extraction at the end despite short time - likely channeling.
Grind 1 step finer and improve puck prep."
[Pull shot 2]
You: "Better prep this time"
→ get_shot → "27 seconds, smooth pressure curve. How's the taste?"
You: "Really good! Balanced, nice chocolate, good body for a cortado"
→ "Great - this is your baseline. Shot data saved.
Current recipe: 18g → 36g in 27s, Profile: X"单位换算
Gaggiuino API返回的值单位为分位数。此服务器将它们转换为标准单位:
| 原始API | 已转换 |
|---|---|
| 分秒 | 秒 |
| 分贝 | 巴 |
| 摄氏度 | |
| 分克 | 克 |
| 分毫升/秒 | 毫升/秒 |
API 参考
基于 使用 REST API.
许可证
麻省理工学院
