一个用于管理您细致意式咖啡机上的意式咖啡配置文件的MCP(模型上下文协议)服务器。您可以使用像Claude Desktop或Goose这样的AI助手来创建、验证和管理意式咖啡配置文件,而无需深入应用程序或手动编辑JSON。
细致MCP允许您通过AI代理在您的机器上创建和安装细致配置文件。
您可以使用自然语言描述您想要的配置文件类型、所需阶段、流速、温度等,代理会为您构建配置文件——无需编辑JSON或在应用中进行调整。该服务器帮助代理理解意式咖啡配置,并提供与您的细致意式咖啡机交互的工具。服务器基于细致的Python API、细致意式咖啡配置模式以及来自Lance Hedrick、Aramse和Home-Barista.com的知识。代理的知识库需要改进,并将随着时间的推移而发展。它并不完美,您可能不喜欢它的建议,但您可以具体指导以绕过这些问题。
您必须拥有可以通过STDIO访问桌面/本地MCP的代理。此客户端包括Claude Desktop、Goose、LibreChat、Cherry Studio和LM Studio。仅测试了Goose、Cursor和Claude Desktop。ChatGPT目前无法调用桌面MCP工具。
⚠️ 重要免责声明: 请自行承担使用细致MCP的风险。没有任何形式的保证,如果您的AI构建了一个奇怪的配置文件并导致您的细致意式咖啡机出现问题,创建者不承担责任。MCP服务器只是一个通信层,允许AI与您的细致意式咖啡机通信。虽然有配置文件验证,并且细致意式咖啡机不会加载某些类型的奇怪配置文件,但我们不能保证一切。唯一安全的压力限制是15巴,这似乎是应用程序中的限制。请在运行配置文件之前在应用程序中检查它们。 特别是,模型越不智能,错误就越多,包括提交JSON时的错误。服务器会给模型反馈其提交错误,以便它可以再次尝试,但有些模型不够聪明,无法自我修复。如果模型多次尝试都无法正确提交,请尝试更智能的模型。
最后,细致MCP不是细致家居的产品。请不要打扰细致开发团队关于细致MCP的问题。我们没有故意将其提交给细致,因为它不符合细致的审查标准。服务器是一个有趣的配置文件构建工具,而不是产品的一部分。
享受配置吧!
Mac:
# 检查是否已安装Python 3.11+
python3.11 --version
# 如果未安装,通过Homebrew安装:
brew install python@3.11
Windows:
python --version从GitHub下载或克隆细致MCP仓库:
选项1:使用Git克隆
git clone https://github.com/twchad/meticulous-mcp.git
cd meticulous-mcp
选项2:下载ZIP
导航到meticulous-mcp目录并安装:
cd meticulous-mcp
pip install -r requirements.txt
注意: 此项目使用本地依赖项(pyMeticulous和python-sdk)。确保这些目录位于meticulous-mcp旁边的父文件夹中。
将细致MCP服务器添加到您的MCP客户端配置中。
Mac: 编辑 ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: 编辑 %APPDATA%\Claude\claude_desktop_config.json
添加以下配置:
{
"mcpServers": {
"meticulous-mcp": {
"command": "python3.11",
"args": [
"/绝对路径/to/Meticulous MCP/meticulous-mcp/run_server.py"
],
"env": {
"PYTHONPATH": "/绝对路径/to/Meticulous MCP/meticulous-mcp/src:/绝对路径/to/Meticulous MCP/pyMeticulous:/绝对路径/to/Meticulous MCP/python-sdk/src"
}
}
}
}
替换 /绝对路径/to/Meticulous MCP 为您的实际路径。
注意: 当使用 run_server.py 时,PYTHONPATH 环境变量是可选的,因为脚本内部会自动设置路径。然而,包含它作为保障措施可以确保在不同执行环境中的一致性。如果您遇到导入错误,请确保 PYTHONPATH 设置正确。
Mac 示例:
{
"mcpServers": {
"meticulous-mcp": {
"command": "python3.11",
"args": [
"/Users/yourname/Meticulous MCP/meticulous-mcp/run_server.py"
],
"env": {
"PYTHONPATH": "/Users/yourname/Meticulous MCP/meticulous-mcp/src:/Users/yourname/Meticulous MCP/pyMeticulous:/Users/yourname/Meticulous MCP/python-sdk/src"
}
}
}
}
Windows 示例:
{
"mcpServers": {
"meticulous-mcp": {
"command": "python",
"args": [
"C:\\Users\\YourName\\Meticulous MCP\\meticulous-mcp\\run_server.py"
],
"env": {
"PYTHONPATH": "C:\\Users\\YourName\\Meticulous MCP\\meticulous-mcp\\src;C:\\Users\\YourName\\Meticulous MCP\\pyMeticulous;C:\\Users\\YourName\\Meticulous MCP\\python-sdk\\src"
}
}
}
}
注意对于Windows: 在路径中使用双反斜杠 (\\) 和分号 (;)。
编辑 ~/.cursor/mcp.json(Mac)或 %APPDATA%\Cursor\mcp.json(Windows),并添加上述相同的配置。
Mac:
cd meticulous-mcp
python3.11 test_server.py
或者从父目录运行(确保包含斜杠):
python3.11 meticulous-mcp/test_server.py
Windows:
cd meticulous-mcp
python test_server.py
或者从父目录运行(确保包含反斜杠):
python meticulous-mcp\test_server.py
您应该看到:
测试导入...
✓ 成功导入 meticulous_mcp.server
✓ 服务器名称:细致意式咖啡配置服务器
✓ 所有导入成功!
现在您的细致MCP服务器应该可用!
一旦连接,您可以请求您的AI助手:
这里有一个真实的例子,展示了AI代理如何与您的细致意式咖啡机交互以创建新的意式咖啡配置文件:
用户: “我想创建一个针对轻烘焙埃塞俄比亚咖啡的涡轮射击配置文件。我希望得到一杯明亮、清晰且具有良好酸度的咖啡。”
代理: “我将创建一个优化轻烘焙咖啡的涡轮射击配置文件。此配置文件将使用较高的温度和1:3的比例以获得亮度和清晰度。”
代理调用: create_profile 使用以下数据:
{
"name": "涡轮轻烘焙v1",
"author": "AI助手",
"temperature": 94.0,
"final_weight": 54.0,
"stages": [
{
"name": "预浸润",
"key": "preinfusion",
"type": "flow",
"dynamics_points": [[0, 6]],
"dynamics_over": "time",
"dynamics_interpolation": "linear",
"exit_triggers": [
{"type": "pressure", "value": 1.5, "comparison": ">="},
{"type": "time", "value": 20, "comparison": ">="}
]
},
{
"name": "浸润",
"key": "infusion",
"type": "pressure",
"dynamics_points": [[0, 6.0], [3, 6.0]],
"dynamics_over": "time",
"dynamics_interpolation": "linear",
"exit_triggers": [
{"type": "time", "value": 15, "comparison": ">="},
{"type": "weight", "value": 35, "comparison": ">="}
],
"limits": [{"type": "flow", "value": 8}]
},
{
"name": "下降",
"key": "decline",
"type": "pressure",
"dynamics_points": [[0, 6.0], [10, 3.0]],
"dynamics_over": "time",
"dynamics_interpolation": "linear",
"exit_triggers": [
{"type": "weight", "value": 54, "comparison": ">="},
{"type": "time", "value": 30, "comparison": ">="}
]
}
]
}
来自细致意式咖啡机的响应:
{
"profile_id": "d188ba5f-4939-489a-9c0e-38fb879c9fdd",
"profile_name": "涡轮轻烘焙v1",
"message": "配置文件'Turbo Light Roast v1'创建成功"
}
发送到细致意式咖啡机的最终配置文件JSON:
{
"name": "涡轮轻烘焙v1",
"id": "d188ba5f-4939-489a-9c0e-38fb879c9fdd",
"author": "AI助手",
"author_id": "f2d7b244-b2cd-4f9d-ae27-baee5f9ebaa8",
"display": {
"image": "/api/v1/profile/image/f9e16abcc19c1a34deaa9c2ac3bc7653.png",
"accentColor": "#5098C8"
},
"temperature": 94.0,
"final_weight": 54.0,
"stages": [
{
"name": "预浸润",
"key": "preinfusion",
"type": "flow",
"dynamics": {
"points": [[0.0, 6.0]],
"over": "time",
"interpolation": "linear"
},
"exit_triggers": [
{"type": "pressure", "value": 1.5, "relative": false, "comparison": ">="},
{"type": "time", "value": 20.0, "relative": false, "comparison": ">="}
],
"limits": []
},
{
"name": "浸润",
"key": "infusion",
"type": "pressure",
"dynamics": {
"points": [[0.0, 6.0], [3.0, 6.0]],
"over": "time",
"interpolation": "linear"
},
"exit_triggers": [
{"type": "time", "value": 15.0, "relative": false, "comparison": ">="},
{"type": "weight", "value": 35.0, "relative": false, "comparison": ">="}
],
"limits": [{"type": "flow", "value": 8.0}]
},
{
"name": "下降",
"key": "decline",
"type": "pressure",
"dynamics": {
"points": [[0.0, 6.0], [10.0, 3.0]],
"over": "time",
"interpolation": "linear"
},
"exit_triggers": [
{"type": "weight", "value": 54.0, "relative": false, "comparison": ">="},
{"type": "time", "value": 30.0, "relative": false, "comparison": ">="}
],
"limits": []
}
]
}
代理: “我已经创建了一个名为‘涡轮轻烘焙v1’的涡轮射击配置文件,适用于您的埃塞俄比亚咖啡。以下是它的操作方式:
该配置文件现在保存在您的细致意式咖啡机上并准备好使用!”
relative和limits如果您的细致意式咖啡机使用不同的主机名(不是默认的meticulousmodelalmondmilklatte.local),您可以按两种方式配置它:
向您的MCP客户端配置添加METICULOUS_API_URL环境变量:
Mac 示例:
{
"mcpServers": {
"meticulous-mcp": {
"command": "python3.11",
"args": [
"/Users/yourname/Meticulous MCP/meticulous-mcp/run_server.py"
],
"env": {
"PYTHONPATH": "/Users/yourname/Meticulous MCP/meticulous-mcp/src:/Users/yourname/Meticulous MCP/pyMeticulous:/Users/yourname/Meticulous MCP/python-sdk/src",
"METICULOUS_API_URL": "http://your-machine-name.local"
}
}
}
}
Windows 示例:
{
"mcpServers": {
"meticulous-mcp": {
"command": "python",
"args": [
"C:\\Users\\YourName\\Meticulous MCP\\meticulous-mcp\\run_server.py"
],
"env": {
"PYTHONPATH": "C:\\Users\\YourName\\Meticulous MCP\\meticulous-mcp\\src;C:\\Users\\YourName\\Meticulous MCP\\pyMeticulous;C:\\Users\\YourName\\Meticulous MCP\\python-sdk\\src",
"METICULOUS_API_URL": "http://your-machine-name.local"
}
}
}
}
Mac(终端):
export METICULOUS_API_URL=http://your-machine-name.local
Mac(持久 - 添加到 ~/.zshrc 或 ~/.bash_profile):
echo 'export METICULOUS_API_URL=http://your-machine-name.local' >> ~/.zshrc
source ~/.zshrc
Windows(命令提示符):
set METICULOUS_API_URL=http://your-machine-name.local
Windows(持久 - 系统属性):
METICULOUS_API_URL = http://your-machine-name.local默认: 如果未设置,默认为 http://meticulousmodelalmondmilklatte.local
如果您更喜欢直接使用Python模块而不是运行脚本:
Mac:
{
"mcpServers": {
"meticulous-mcp": {
"command": "python3.11",
"args": [
"-m",
"meticulous_mcp.server"
],
"env": {