An unofficial MCP server for Cookidoo (Thermomix recipe platform). Lets LLMs help you plan meals, manage your shopping list, and schedule recipes in your meal calendar.
Note: This project uses the unofficial
cookidoo-apilibrary. There is no official Cookidoo API.
| Tool | Description |
|---|---|
search_recipes |
Search recipes by name, ingredient, or cuisine |
get_recipe_details |
Full recipe info: ingredients, timing, nutrition, categories |
get_shopping_list |
Current shopping list items |
add_to_shopping_list |
Add recipe ingredients to shopping list |
remove_from_shopping_list |
Remove recipe ingredients from shopping list |
clear_shopping_list |
Wipe the entire shopping list |
get_calendar_week |
View meal plan for a given week |
add_to_calendar |
Schedule recipes for a specific day |
remove_from_calendar |
Remove a recipe from a calendar day |
- Python 3.12+
uvpackage manager
git clone https://github.com/pawel-rusakiewicz/cookidoo-mcp.git
cd cookidoo-mcp
uv synccp .env.example .env
# Edit .env and fill in your Cookidoo email, password, and locale.env contents:
COOKIDOO_EMAIL=your@email.com
COOKIDOO_PASSWORD=yourpassword
COOKIDOO_LOCALE=en-US # Options: en-US, pl, en-GB, de-DE, fr-FR, es-ES, it-IT, nl-NL, pt-PT, ru-RU
uv run python -m cookidoo_mcpAdd to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"cookidoo": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/cookidoo-mcp",
"python",
"-m",
"cookidoo_mcp"
]
}
}
}Replace /path/to/cookidoo-mcp with the absolute path to your clone.
Once connected in Claude Desktop or any MCP-capable client:
- "Find me a quick pasta recipe" → calls
search_recipes - "What's in my meal plan this week?" → calls
get_calendar_week - "Add the ingredients for recipe r907001 to my shopping list" → calls
add_to_shopping_list - "Clear my shopping list" → calls
clear_shopping_list - "Schedule recipe r907001 for March 20" → calls
add_to_calendar
- Credentials are loaded from
.envonly — never hardcoded. - Tokens are never returned in tool output.
- Recipe data is sanitized before returning to prevent prompt injection.
.envis in.gitignoreand will never be committed.
MIT