使用说明
Paprika MCP服务器
一个MCP服务器,让Claude查询和管理您的辣椒粉3食谱数据库,以进行膳食计划。
工具
阅读工具
- 浏览密码 --使用可配置的排序(名称、id、评级、preference_score、last_made、prep_time、cook_time)和分页(偏移/限制)遍历整个库
- 搜索密码 --按关键字、类别和最低偏好分数搜索(默认4--通过
min_score=0包括所有食谱)。支持三种排序策略:score_then_staleness(默认),staleness(从未制作/最古老的第一个),以及score(纯粹的最爱) - 获取密码详细信息 --获取包含配料和说明的完整食谱;接受
recipe_id(确切地),url(源URL匹配),或name(部分匹配——如果多个食谱匹配,则返回消歧列表) - 获取_历史记录 --看看你最近做了什么(基于过时的菜单类别)
- 列表_类别 --列出所有配方类别及其ID
- get_category_definitions --返回用于对食谱进行分类的完整类别定义JSON(名称、规则、信号、边缘情况)
写入工具
- create_meal计划 --通过用类别标记食谱来创建新的基于日期的膳食计划(自动重新启动辣椒粉)
- 导入密码 --使用Paprika的内置浏览器/抓取器从URL导入食谱(自动重复数据消除)
- 添加密码到类别 --将一个或多个食谱添加到现有类别中(接受单个ID或批量操作列表)
- 从类别中删除密码 --从类别中删除一个或多个配方(接受单个ID或批量操作列表)
- 删除类别 --删除类别及其所有配方关联
- 删除密码 --将配方移至垃圾箱(软删除;将删除同步到其他设备并删除所有类别关联)
偏好评分(0-7)
每个食谱都有一个综合得分:星级(0-5)+1(如果在“尝试和真实”中)+1(如喜欢)。
设置
0.先决条件
- 仅限macOS --导入工作流使用AppleScript驱动Paprika的UI
- Mac版辣椒粉3 已安装,配方库已同步
- 克劳德桌面 安装
1.安装uv
curl -LsSf https://astral.sh/uv/install.sh | sh
2.添加到克劳德桌面
在克隆的仓库中,运行以下命令以打印具有正确路径的精确配置片段:
echo '{
"mcpServers": {
"paprika": {
"command": "uv",
"args": ["--directory", "'"$(pwd)"'", "run", "server.py"]
}
}
}'
将输出粘贴到 ~/Library/Application Support/Claude/claude_desktop_config.json。如果文件已经有其他MCP服务器,只需添加 "paprika": { ... } 现有内部的块 "mcpServers" 对象。
3.重新启动克劳德桌面
Paprika工具现在可以在任何对话中使用。
4.类别定义
回购包括 data/category_definitions.json,告诉克劳德在建议进口食谱的类别时每个类别意味着什么。 如果你在共享同一辣椒库的第二台机器上设置它 (例如,配偶的Mac具有相同的同步配方集合),无需采取任何行动——包含的文件是正确的。
如果你从一个不同类别的辣椒库开始,让克劳德生成一个新的库:
“我的辣椒酱类别与包含的category_definitions.json不匹配。请调用list_categories查看我实际拥有的内容,然后重写data/classy_definitions.mson进行匹配。”
示例提示
- “计划5顿晚餐——一顿素食,一条鱼,把我解冻的鸡腿都吃光。”
- “保留鲑鱼和黄油鸡,但要找到不同的蔬菜和意大利面选择。”
- “我喜欢这些,但加入了一些我们以前从未做过的东西。”
- “我们有一段时间没有做过的评价最高的食谱是什么?”
- “给我看看过去几周我们吃了什么。”
- “导入此配方:https://example.com/amazing-soup"
运作原理
服务器直接访问Paprika 3 SQLite数据库,以读取食谱和管理膳食计划。对于导入,它通过AppleScript驱动Paprika的内置浏览器,从URL中抓取和保存食谱。
在制定用餐计划时,它:
- 使用格式创建新类别
YYYYMMDD Label(例如,“20260215菜单”) - 用此类别标记所选食谱
- 自动重新启动辣椒粉,以便立即看到更改
辣椒粉中的类别类似于标签,因此食谱可以属于多个类别/膳食计划。
“最后制作”日期是从膳食计划类别推断出来的——如果一个食谱标有“20260309菜单”,那么它最后一次制作是在2026年3月9日左右。
跨设备同步
写入操作(创建膳食计划、标记食谱、导入、删除类别)将受影响的记录标记为脏记录(ZISSYNCED = 0, ZSTATUS = 'modified'/'new'/'deleted')与新鲜 ZSYNCHASH。这一消息告诉Paprika内置的同步引擎在下一个同步周期将更改推送到云,以便它们自动传播到其他设备。