内容
# Cookidoo MCP 服务器
一款 MCP(模型上下文协议)服务器,封装了非官方的 [cookidoo-api](https://github.com/miaucl/cookidoo-api) 库,以便 AI 助手与您的 Cookidoo 账户进行交互。
## 功能特点
- **食谱** -- 获取食谱详情,管理自定义食谱
- **收藏集** -- 浏览精选收藏集,创建和管理自定义收藏集
- **日历** -- 通过在特定日期添加/删除食谱来计划膳食
- **购物清单** -- 完整的购物清单管理(食材,自定义物品,勾选)
- **建议** -- 根据您拥有的食材查找食谱
- **账户** -- 查看用户信息和订阅状态
## 安装配置
### 前置条件
- Python 3.13+
- [uv](https://docs.astral.sh/uv/) 包管理器
- 一个 Cookidoo 账户(cookidoo.com)
### 配置
复制 `.env.example` 到 `.env` 并填写您的凭证:
```bash
cp .env.example .env
```
```
COOKIDOO_EMAIL=您的邮箱@example.com
COOKIDOO_PASSWORD=您的密码
# 可选的本地化设置(默认为 ch / de-CH)
# COOKIDOO_COUNTRY_CODE=ch
# COOKIDOO_LANGUAGE=de-CH
```
凭证也可以直接作为环境变量传递(它们优先于 `.env`)。
### 运行
```bash
# 运行服务器(stdio 传输)
uv run cookidoo-mcp
# 使用 MCP Inspector 进行测试
uv run mcp dev src/cookidoo_mcp/server.py
```
### Cursor 集成
将以下内容添加到您的 `~/.cursor/mcp.json`(全局)或 `.cursor/mcp.json`(工作区):
```json
{
"mcpServers": {
"cookidoo": {
"command": "uv",
"args": ["run", "--directory", "/path/to/cookido-mcp", "cookidoo-mcp"],
"env": {
"COOKIDOO_EMAIL": "您的邮箱@example.com",
"COOKIDOO_PASSWORD": "您的密码"
}
}
}
}
```
## 工具列表
| 类别 | 工具 | 描述 |
|----------|------|-------------|
| 食谱 | `get_recipe_details` | 通过 ID 获取完整的食谱详情 |
| 食谱 | `get_custom_recipe` | 通过 ID 获取自定义食谱 |
| 食谱 | `add_custom_recipe_from` | 复制食谱为自定义食谱 |
| 食谱 | `remove_custom_recipe` | 删除自定义食谱 |
| 收藏集 | `get_managed_collections` | 列出精选收藏集 |
| 收藏集 | `add_managed_collection` | 订阅精选收藏集 |
| 收藏集 | `remove_managed_collection` | 取消订阅收藏集 |
| 收藏集 | `get_custom_collections` | 列出自定义收藏集 |
| 收藏集 | `add_custom_collection` | 创建自定义收藏集 |
| 收藏集 | `remove_custom_collection` | 删除自定义收藏集 |
| 收藏集 | `add_recipes_to_custom_collection` | 将食谱添加到收藏集 |
| 收藏集 | `remove_recipe_from_custom_collection` | 从收藏集移除食谱 |
| 日历 | `get_calendar_week` | 获取一周的计划食谱 |
| 日历 | `add_recipes_to_calendar` | 将食谱添加到日期 |
| 日历 | `remove_recipe_from_calendar` | 从日期移除食谱 |
| 日历 | `add_custom_recipes_to_calendar` | 将自定义食谱添加到日期 |
| 日历 | `remove_custom_recipe_from_calendar` | 从日期移除自定义食谱 |
| 购物 | `get_shopping_list_recipes` | 获取购物清单上的食谱 |
| 购物 | `get_ingredient_items` | 获取食材项 |
| 购物 | `add_ingredients_for_recipes` | 为食谱添加食材 |
| 购物 | `remove_ingredients_for_recipes` | 为食谱移除食材 |
| 购物 | `add_ingredients_for_custom_recipes` | 为自定义食谱添加食材 |
| 购物 | `remove_ingredients_for_custom_recipes` | 为自定义食谱移除食材 |
| 购物 | `edit_ingredient_items_ownership` | 勾选/取消勾选食材 |
| 购物 | `get_additional_items` | 获取自定义购物项 |
| 购物 | `add_additional_items` | 添加自定义项 |
| 购物 | `edit_additional_items` | 编辑自定义项 |
| 购物 | `edit_additional_items_ownership` | 勾选/取消勾选自定义项 |
| 购物 | `remove_additional_items` | 移除自定义项 |
| 购物 | `clear_shopping_list` | 清空整个购物清单 |
| 账户 | `get_user_info` | 获取用户信息 |
| 账户 | `get_active_subscription` | 检查订阅状态 |
| 建议 | `suggest_recipes_from_ingredients` | 根据可用食材查找食谱 |
## 免责声明
本项目不隶属于或关联 Cookidoo 或 Vorwerk。它使用非官方的 [cookidoo-api](https://github.com/miaucl/cookidoo-api) 库。