Thermomix-MCP
Fetches recipe data from Instagram posts, including captions and optional audio transcription from video reels.
Provides fallback image search for recipe images when the source does not supply one.
Fetches recipe data from TikTok posts, including captions and audio transcription, with deep-hunt capability to find original recipe if not present.
Extracts recipes from YouTube videos by parsing descriptions and transcripts.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Thermomix-MCPConvert this Chefkoch recipe to Thermomix format."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Thermomix-MCP
Rezepte aus beliebigen Quellen (Rezept-Websites, YouTube, Instagram, TikTok, KI) in ein Thermomix-Rezept verwandeln — und wahlweise direkt in Cookidoo → „Meine Kreationen" hochladen, inkl. Guided-Cooking-Schritten und Bild, sodass es am TM7 abrufbar ist.
Zwei Betriebsarten:
MCP-Server (Chat-Flow) — Claude bekommt die Rohdaten und baut das Rezept.
Webhook (headless) — nimmt eine geteilte URL entgegen und macht die Umwandlung selbst per Anthropic-API. Ideal für einen „aus jeder App teilen"-Flow.
Kein offizielles Vorwerk-/Cookidoo-API. Der Cookidoo-Upload nutzt eine reverse-engineerte Schnittstelle (
cookidoo-api
rohe
created-recipes-Endpoints) und ein aktives Cookidoo-Abo. Das kann jederzeit brechen. Der TM7 selbst lässt sich nicht fernsteuern — nur Content-Sync über den Account.
Quellen
Quelle | Weg |
Rezept-Websites (Chefkoch & Co.) |
|
YouTube | Beschreibung + Transkript |
Instagram / TikTok | Caption (oEmbed), optional Tonspur-Transkription (Whisper) |
KI-generiert | Claude erstellt das Rezept ohne Quelle |
Enthält ein Post kein Rezept (z. B. TikTok-Caption „recipe on the blog"), sucht der Deep-Hunt die Original-Rezeptseite per Websuche und transkribiert notfalls die Tonspur.
Related MCP server: yes_chef_mcp
MCP-Tools & Prompts
Tool | Zweck |
| Rezept-Rohdaten aus Web/YouTube/Instagram/TikTok |
| Fallback-Bildsuche (Pexels) |
| Rezept-Karte als |
| Rezept nach Cookidoo hochladen (Guided) |
Prompts: thermomix_guide (TM-Konvertierungsregeln), cookidoo_guide (Modus-Zuordnung).
Setup
uv sync # Kern
uv sync --extra cookidoo # + Cookidoo-Upload
uv sync --extra whisper # + Audio-Transkription (Social-Reels)
cp .env.example .env # Keys/Optionen eintragenffmpeg wird für YouTube-/Social-Audio gebraucht (brew install ffmpeg).
In Claude Code einbinden
claude mcp add thermomix -- uv --directory /pfad/zu/thermomix-mcp run thermomix-mcpDann z. B.: „Mach mir aus dieser Chefkoch-URL ein Thermomix-Rezept."
Webhook — „aus jeder App teilen"
uv run thermomix-webhook # startet auf 0.0.0.0:8787Endpunkte:
GET /health→ StatusPOST /recipemit{"url": "…", "caption": "…"(optional)}und HeaderX-Auth-Token: <WEBHOOK_TOKEN>→ extrahiert, wandelt um, speichert die Karte, lädt (wenn konfiguriert) nach Cookidoo hoch. Rezeptlose Video-Posts → sofort202+ Deep-Hunt im Hintergrund.
Für den Zugriff von unterwegs den Webhook über einen Tunnel freigeben (z. B.
Tailscale Funnel oder Cloudflare Tunnel — feste
HTTPS-URL, keine Portfreigabe). Ein iOS-Kurzbefehl im Teilen-Menü POSTet die geteilte URL
dorthin. Vor jeder öffentlichen Exposure WEBHOOK_TOKEN setzen.
Konfiguration (.env)
Variable | Zweck |
| Zielordner für Rezept-Karten (Default |
| Fallback-Bildsuche (kostenlos) |
|
|
|
|
| Webhook: für die headless-Umwandlung nötig |
| Webhook-Modell (Default Haiku; |
| Webhook: Auth-Token — vor öffentlicher Exposure zwingend |
| Webhook-Bind (Default |
| Cookidoo-Upload (braucht aktives Abo) |
Lizenz
Available Tools
4 toolsfetch_recipeA
Liest ein Rezept aus einer beliebigen Quelle und gibt Rohdaten zurück.
Unterstützt: Rezept-Websites (Chefkoch & Co. via schema.org/Recipe), YouTube (Beschreibung + Transkript), Instagram & TikTok (Caption + optional Audio-Transkript).
Nächster Schritt für dich (das aufrufende Modell): Wandle diese Rohdaten in ein
Thermomix-Rezept um — folge den Regeln aus dem Prompt thermomix_guide. Nimm das
image_url als Rezeptbild; fehlt es, hol per find_recipe_image einen Fallback.
Speichere am Ende mit save_thermomix_recipe. Beachte das Feld notes.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool returns raw data and mentions supported sources, but it does not discuss auth, rate limits, or error behavior. It adequately suggests a non-destructive read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately concise, with a clear structure separating supported sources from post-fetch instructions. Every sentence adds value, though the extra guidance for the calling model could be considered slightly beyond the tool's core description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multiple source types) and the existence of an output schema, the description is fairly complete. It covers input, output, and follow-up actions, though it omits error specifics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description adds meaning by implying that the 'url' parameter should point to a supported recipe source. However, it lacks details like format examples or validation rules.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('liest ein Rezept') and resource ('aus einer beliebigen Quelle') and specifies supported sources, distinguishing it from sibling tools like find_recipe_image and save_thermomix_recipe.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use this tool (to fetch raw recipe data from a URL) and provides a clear next-step pipeline (convert to Thermomix recipe, save). It lacks explicit when-not-to-use or alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_recipe_imageA
Sucht ein passendes Gerichtsfoto (Fallback, wenn das Rezept kein eigenes Bild hat).
Bevorzuge immer das image_url aus fetch_recipe. Kurzer, konkreter Suchbegriff
(z.B. "Kürbissuppe Teller"). Braucht einen PEXELS_API_KEY in der .env.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that it requires a PEXELS_API_KEY in the .env file, which is important for the agent to know. However, it does not specify rate limits, error behavior, or details about the external API call. With no annotations, the description carries the full burden; the key disclosure adds value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, efficiently front-loading the purpose and then providing usage guidance and parameter advice. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and an existing output schema, the description covers purpose, usage guidelines, parameter semantics, and an environment requirement. It is sufficiently complete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has a single string parameter 'query' with no description (0% coverage). The description compensates by advising a 'short, concrete search term' with an example, adding meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: searching for a matching dish photo as a fallback when the recipe has no own image. It distinguishes itself from siblings like fetch_recipe by positioning this as a fallback.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance is given: first prefer the image_url from fetch_recipe, and only use this tool as fallback. Also provides an example of a concrete search term.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_thermomix_recipeA
Speichert die fertige Thermomix-Rezept-Karte als Markdown-Datei.
markdown = vollständige Karte (mit YAML-Frontmatter, wie im Prompt
thermomix_guide beschrieben). filename optional — sonst aus der Überschrift
abgeleitet. Zielordner: THERMOMIX_OUTPUT_DIR oder /recipes.
| Name | Required | Description | Default |
|---|---|---|---|
| filename | No | ||
| markdown | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It mentions the output format and target folder but lacks details on overwrite behavior, error handling, or prerequisites. The basic file-saving operation is described, but depth is limited.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, using two sentences to convey the core purpose and parameter details. It front-loads the main action. However, it could be slightly more structured or include a brief note on behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (2 parameters) and presence of an output schema, the description covers essential aspects: purpose, parameters (meaning), and target folder. It lacks alternative tool guidance but is otherwise adequate for a simple save operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description effectively compensates by explaining what `markdown` contains (full card with YAML frontmatter) and that `filename` is optional, derived from the heading. It adds meaningful context beyond bare parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the tool's action: saving a finished recipe card as a Markdown file. It distinguishes from siblings (fetch, find, upload) by focusing on local file saving.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains how to use the parameters but does not provide explicit guidance on when to use this tool versus alternatives like upload_thermomix_recipe. Usage context is implied but not elaborated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_thermomix_recipeA
Lädt ein Rezept in Cookidoo „Meine Kreationen" hoch → Guided Cooking am TM7.
recipe = strukturiertes JSON wie im Prompt cookidoo_guide beschrieben
(name, ingredients, steps[{text, mode?}], totalTime, prepTime, yield, tools).
Setze mode je Schritt nur, wo die Werte exakt in einen Cookidoo-Modus passen
(Details im Prompt) — sonst bleibt der Schritt Text. image_url = Rezeptfoto
(nimm das image_url aus fetch_recipe); wird zu Cloudinary hochgeladen und
erscheint in der Cookidoo-App. Braucht COOKIDOO_EMAIL/COOKIDOO_PASSWORD in der
.env + aktives Cookidoo-Abo. Antwort enthält recipe_id und guided_buttons
(Anzahl gesetzter Guided-Modi).
| Name | Required | Description | Default |
|---|---|---|---|
| recipe | Yes | ||
| image_url | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the tool uploads to Cookidoo, handles image upload to Cloudinary, requires credentials and subscription, and returns recipe_id and guided_buttons. This provides good behavioral insight beyond the input schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the main purpose and then provides necessary details. It is concise for the complexity, with each sentence adding value (structure of recipe, mode guidelines, image handling, requirements). No redundancies.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given two parameters, an output schema (exists), and sibling tools, the description covers what the tool does, how to use the parameters, prerequisites (env vars, subscription), and response fields. It lacks explicit differentiation from siblings but is otherwise complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must add meaning. It does so by explaining the 'recipe' parameter as structured JSON (name, ingredients, steps with optional mode, etc.) and 'image_url' as a photo from fetch_recipe. This adds significant context beyond the generic object and string schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool uploads a recipe to Cookidoo 'Meine Kreationen' and enables Guided Cooking on TM7. The verb 'Lädt... hoch' is specific, and the resource is identified. However, it does not explicitly differentiate from the sibling 'save_thermomix_recipe', which could be similar.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage context: requires COOKIDOO_EMAIL/COOKIDOO_PASSWORD in .env and an active subscription. It implies when to use (uploading structured recipes), but does not give explicit when-not or alternatives (e.g., vs save_thermomix_recipe).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
v0.1.0- First observed
fetch_recipe - First observed
find_recipe_image - First observed
save_thermomix_recipe - First observed
upload_thermomix_recipe
TDQS
Scored across 4 tools
Each tool has a distinct and non-overlapping purpose: fetching raw recipe data, finding a fallback image, saving as markdown, and uploading to Cookidoo. No ambiguity.
All tool names follow a consistent verb_noun pattern with underscores (e.g., fetch_recipe, find_recipe_image), making them predictable and easy to understand.
4 tools is on the lower side but appropriate for the focused domain of Thermomix recipe processing. Each tool serves a clear step in the workflow without unnecessary bloat.
The tool set covers the core workflow: fetching, image fallback, saving locally, and uploading. The conversion step is handled by the model via a prompt, so no gap exists.
Maintenance
Related MCP Connectors
Search, save, organize, cook, and share recipes with any AI assistant.
AI-powered kitchen management — pantry, recipes, meal plans, shopping lists
AI-powered recipe platform: 18 MCP tools for meal planning, grocery lists & Instacart.
- SpoonjoyOAuthapp.spoonjoy
Your personal recipe kitchen: save, fork, and cook recipes, build cookbooks, and shopping lists.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceLets Claude read recipes from your Cookidoo account and create TM7-optimized custom recipes with guided-cooking annotations, quality scoring, and automatic rollback on upload failure.MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to search recipes, compose nutritionally balanced meals, optimize weekly meal plans based on macro targets for family members, and generate consolidated grocery lists from a personal recipe database.-
- AlicenseNot gradedqualityBmaintenanceMCP server for Cookidoo, enabling AI tools to search recipes, manage shopping lists, and retrieve account and subscription information.2GPL 3.0
- AlicenseAqualityBmaintenanceEnables LLMs to upload and manage Thermomix recipes on Cookidoo, including structured steps with Thermomix settings, images, and access to shopping lists and meal planning.11MIT