cookidough-mcp
An unofficial Model Context Protocol (MCP) server for the Thermomix® Cookidoo® platform
Install / Use
claude mcp add Poket-Jony -- npx -y github:Poket-Jony/cookidough-mcpIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AI & Machine LearningSupported Platforms
Our assessment of cookidough-mcp
cookidough-mcp scores 72/100 on our quality scale, 871st of 951 AI & Machine Learning skills we index.
Its MCP Server is 44 KB long, well organised into 39 sections with 13 code examples: long enough that it reads more like full documentation than a focused instruction file, which agents can find harder to follow.
It has 10 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 8 days ago, so cookidough-mcp is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
cookidough-mcp compared with similar skills
All 4 of these similar skills score higher than cookidough-mcp; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| cookidough-mcp (this skill)by Poket-Jony | 72 | 10 | 8d ago | MCP Server |
| claude-memby thedotmack | 100 | 102.1k | today | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 100.5k | 1d ago | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 87.4k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 77.0k | today | CLAUDE.md |
Frequently asked questions
- How do I install cookidough-mcp?
- Run
claude mcp add Poket-Jony -- npx -y github:Poket-Jony/cookidough-mcp. The install tabs above show the steps for each supported agent. - Which AI agents does cookidough-mcp work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is cookidough-mcp safe to use?
- It is MIT-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is cookidough-mcp still maintained?
- The repository was last updated 8 days ago, so cookidough-mcp is actively maintained.
Skill content
View source on GitHubCookidough MCP Server
An unofficial Model Context Protocol (MCP) server for the Thermomix® Cookidoo® platform. Plug it into Claude Desktop, Claude Code or any other MCP-aware client and let your LLM search recipes, manage shopping lists and meal plans, and upload custom recipes.
Unofficial project. This is an independent, community-built MCP server. It is not developed, sponsored, endorsed, or affiliated with Vorwerk, Thermomix®, or Cookidoo®. The name "Thermomix" and "Cookidoo" is used here purely to identify the third-party service this software talks to. See Disclaimer & trademarks for details.
- 42 MCP tools across 7 domains (auth, recipes, collections, shopping, calendar, discovery, interactions), plus 3 MCP resources and 2 prompts
- Dual transport: stdio (default) and streamable HTTP
- Recipe quality gate that blocks low-quality custom recipe uploads
- Guided-cooking annotations (TTS time/speed spans, INGREDIENT spans) — delivered explicitly by the LLM or inferred server-side from plain text
- Web recipe import via
recipe-scrapers(200+ supported sites) - Filtered search of the recipe catalogue (time, difficulty, ingredients, rating, device model, …)
- Ingredient-based recipe suggestions — library-wide or scoped to the user's own collections
- Recipe interactions: rate, bookmark, personal notes, cooked-history
- Calendar→shopping-list in one call, personalized recommendations, nutrition data, and optional token persistence across restarts
Table of contents
- Features
- Requirements
- Quickstart
- MCP client setup
- Configuration
- Tool reference
- Resources & prompts
- Quality gate
- Guided-cooking annotations
- HTTP transport
- Development
- Architecture
- Troubleshooting
- Credits
- Disclaimer & trademarks
- License
Features
A high-level overview of what the server can do, grouped by domain. The exact tool names live in the Tool reference further below.
Account & authentication
- Lazy login on first tool call — no separate connect step.
- Read the user profile and active subscription, including subscription
level, type, and expiry; optionally include the devices and
accessories linked to the account (
include_devices=true). - Optional token persistence (
COOKIDOUGH_TOKEN_FILE): the OAuth2 tokens survive a server restart and skip the login for thecookidoo-apipaths.
Recipe lookup, creation & import
- Fetch full details of up to 20 catalogue recipes in one call
(
get_recipe_detailswithrecipe_ids, an unknown ID yields an error entry instead of failing the batch) including the grouped cooking steps (instructions, plain text with the appliance icons spelled out), categories, collections and per-serving nutrition values; optionally with the user's own rating, the community rating and the personal note (include_interactions=true) and every recipe photo in square/portrait/landscape variants (include_images=true). - List, read, delete the authenticated user's custom recipes.
- Edit an existing custom recipe in place: pass
recipe_idtoupload_custom_recipefor a full-replace update (fetch → edit → resubmit). - Upload a photo for a custom recipe (
set_custom_recipe_image): local file or URL, JPEG/PNG — uploaded via Vorwerk's signed Cloudinary flow and preserved across later recipe updates. - Clone any catalogue recipe into the user's custom recipes at a chosen
serving size (
clone_recipe_as_custom). - Build, validate, and upload custom recipes from structured input,
with guided-cooking annotations (
TTS,INGREDIENT, all sevenMODEvariants). - Import a recipe directly from any of 200+ supported recipe sites via
recipe-scrapers, returning the parsed draft + a quality report and uploading when the gate passes. - Filtered search of the recipe catalogue (
search_recipes): total time, difficulty, categories, required/excluded ingredients, minimum rating, portions, device model, accessories, sort order. - Ingredient-based suggestions (
suggest_recipes_from_ingredients) — library-wide via the server-side ingredient filter, or scoped to the user's collections whencollection_idsis given. - Personalized recommendations (
get_recipe_recommendations): the "For you" feed, or recipes similar to a given one.
Collections (managed + custom)
- Browse and subscribe to / unsubscribe from platform-curated managed collections.
- Full CRUD over custom collections: create, list, delete, add recipes, remove a single recipe.
Shopping list
- Read the full list grouped by source (recipe ingredients vs. free-text items), including the recipes whose ingredients are currently on it.
- Push and pull recipe ingredients for regular and custom recipes
(
add_recipes_to_shopping_list,add_custom_recipes_to_shopping_list, the matchingremove_*variants). - Calendar mode:
add_recipes_to_shopping_listwithfrom_date/to_dateputs every recipe planned in that range (incl. custom recipes, deduplicated) on the list in one call. - Add, remove, rename, and check / uncheck free-text shopping items
(
add_additional_items,rename_additional_items,set_additional_items_ownership). - Check / uncheck recipe-derived ingredient items
(
set_ingredient_items_ownership). - Wipe the whole list in one call.
Calendar / meal plan
- Read the meal plan for any week.
- Schedule and remove regular and custom recipes on a specific date
(
add_recipes_to_calendar,add_custom_recipes_to_calendar,remove_recipe_from_calendar,remove_custom_recipe_from_calendar).
Recipe interactions
- Rate recipes (1-5 stars), bookmark them, keep a personal note, and log
them in the cooking history (catalogue and own recipes) — all through
one write tool (
set_recipe_interactions) with per-action success reporting; read the history back viaget_cooking_history. - Read everything back via
get_recipe_detailswithinclude_interactions=true; list bookmarks vialist_bookmarked_recipes. - These wrap undocumented platform endpoints (not part of
cookidoo-api), verified against the live API; individual failures degrade gracefully instead of failing the call.
Quality, safety & transport
- Recipe quality gate that scores every draft and refuses low-quality custom recipe uploads unless explicitly forced.
- All credentials kept in memory as
SecretStr, with email + token redaction in every log message and upstream error body. - Per-request HTTP timeout; reentrant, lock-protected session lifecycle.
- Dual transport: stdio (default) and streamable HTTP.
Requirements
- Python 3.12 or newer
- A valid Cookidoo® account (
COOKIDOUGH_EMAIL/COOKIDOUGH_PASSWORD) - Optional:
uvfor the recommended client setup, orpipif you prefer
Quickstart
git clone https://github.com/Poket-Jony/cookidough-mcp.git
cd cookidough-mcp
cp .env.example .env # fill in COOKIDOUGH_EMAIL / COOKIDOUGH_PASSWORD
./run.sh
run.sh is idempotent: it detects Python 3.12+, creates .venv/, installs
the project the first time around, loads .env, validates credentials, and
starts the server. Subsequent runs skip the install step and start
immediately. It parses no options of its own — everything is configured
through the COOKIDOUGH_* environment variables.
COOKIDOUGH_MCP_MODE=http ./run.sh # start over HTTP instead of stdio
MCP client setup
Claude Desktop / Claude Code
Two ways to wire it up — pick one and add it to your MCP client config
(claude_desktop_config.json or ~/.claude/mcp.json).
Option A — using run.sh (recommended, no extra tooling):
{
"mcpServers": {
"cookidough": {
"command": "/absolute/path/to/cookidough-mcp/run.sh",
"env": {
"COOKIDOUGH_EMAIL": "you@example.com",
"COOKIDOUGH_PASSWORD": "..."
}
}
}
}
Option B — using uvx (no clone required; works
locally with --from):
{
"mcpServers": {
"cookidough": {
"command": "uvx",
"args": [
"--from",
"/absolute/path/to/cookidough-mcp",
"cookidough-mcp"
],
"env": {
"COOKIDOUGH_EMAIL": "you@example.com",
"COOKIDOUGH_PASSWORD": "...",
"COOKIDOUGH_COUNTRY": "de",
"COOKIDOUGH_LANGUAGE": "de-DE",
"COOKIDOUGH_QUALITY_BAR": "70"
}
}
}
}
Smoke-test with the MCP Inspector
npx @modelcontextprotocol/inspector ./run.sh
The inspector lists every registered tool and lets you call them interactively.
Configuration
The server is configured purely via environment variables (see
.env.example):
| Variable | Required | Default | Description |
|--------------------------|----------|-------------|-------------------------------------------------------------------------------------------------------------------|
| COOKIDOUGH_EMAIL | yes | - | Account email |
| COOKIDOUGH_PASSWORD | yes | - | Account password (stored in memory as SecretStr) |
| COOKIDOUGH_COUNTRY | no | de | ISO 3166-1 alpha-2 country code (case-insensitive) |
| COOKIDOUGH_LANGUAGE | no | de | ISO 639-1 (de, paired with COOKIDOUGH_COUNTRY) or BCP-47 (de-DE); case-normalized to lang-REGION |
| COOKIDOUGH_MCP_MODE | no | stdio | Transport: stdio or http |
| COOKIDOUGH_MCP_HOST | no | 127.0.0.1 | Bind host (HTTP only) |
| COOKIDOUGH_MCP_PORT | no | 8765 | Bind port (HTTP only) |
| COOKIDOUGH_QUALITY_BAR | no | 70 | Minimum recipe quality score (0-100) for custom uploads |
| COOKIDOUGH_TOKEN_FILE | no | - | Optional path for persisting the OAuth2 tokens across restarts (skips the login while the refresh token is valid) |
A restored token authenticates every call immediately — the library calls as well as search and the interaction endpoints.
Security note on
COOKIDOUGH_TOKEN_FILE: the file holds the OAuth2 access and refresh tokens — anyone who can read it can act as your platform account, and a refresh token outlives a session cookie. The server creates it with0600permissions before writing; keep it outside any repository (the bundled `.gi
Truncated for display — read the full file on GitHub.
Related Skills
claude-mem
102.1kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Agent-Reach
100.5kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Understand-Anything
87.4kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
77.0kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
