io.github.smlfg/chefkoch-mcp
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., "@io.github.smlfg/chefkoch-mcpfind a quick vegetarian recipe rated 4+ stars and scale it to 4 portions"
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.
chefkoch-mcp
MCP-Server für Chefkoch.de: Rezepte suchen, Rezeptdetails anzeigen und Einkaufslisten aus mehreren Rezepten erstellen. Ausschließlich lesend, ohne Login.
Der Server ist eine dünne Hülle um den Kern der
chefkoch-cli: Er importiert
chefkoch_cli.service und chefkoch_cli.client und ruft dieselben Funktionen
wie chefkoch suche, chefkoch rezept und chefkoch einkaufsliste auf.
Was es kann
Rezepte suchen mit Filtern für vegetarisch/vegan, maximale Zeit, Mindestbewertung, Schwierigkeit, Sortierung und Seite.
Rezeptdetails per ID, Chefkoch-URL oder Suchbegriff, Zutaten auf Wunschportionen skaliert.
Einkaufsliste aus mehreren Rezepten, Zutaten nach Name und Einheit zusammengefasst.
Related MCP server: cookidoo-mcp
Schnellstart
uvx chefkoch-mcpDer Befehl startet den MCP-Server über stdio. In der Praxis wird er aus dem MCP-Client heraus gestartet, nicht von Hand.
In Claude Desktop / Cursor nutzen
{"mcpServers":{"chefkoch":{"command":"uvx","args":["chefkoch-mcp"]}}}Claude Code
claude mcp add chefkoch -- uvx chefkoch-mcpTools
Tool | Beschreibung |
| Rezepte mit Filtern suchen |
| Rezept per ID, URL oder Name anzeigen |
| Einkaufsliste aus mehreren Rezepten erstellen |
Alle Tools sind lesend (readOnlyHint) und liefern strukturierte Daten plus
lesbaren Text. Fehler kommen als lesbare Meldung mit nächstem Schritt zurück.
Datenquelle
Die Daten stammen von chefkoch.de über die inoffizielle API. Das Projekt ist nicht mit Chefkoch verbunden, greift nur lesend zu und benötigt keinen Login. Die API kann sich jederzeit ändern.
Konfiguration
Variable | Default | Bedeutung |
|
| API-Basis (Test/Fake-Server) |
Lizenz
MIT, Copyright 2026 smlfg. Siehe LICENSE.
Available Tools
3 toolsget_recipeBRead-onlyIdempotent
Zeigt ein Chefkoch-Rezept per ID, URL oder Suchbegriff mit auf Portionen skalierten Zutaten. Show a Chefkoch recipe; read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| recipe | Yes | Rezept-ID (auch als Zahl), Chefkoch-URL oder Suchbegriff, z. B. '2812481433250378', 2812481433250378, 'https://www.chefkoch.de/rezepte/...' oder 'vegane lasagne'. | |
| portions | No | Zielportionen für die Zutaten (>= 1); ohne Angabe gelten die Portionen des Rezepts. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnly, idempotent, non-destructive, and openWorld behavior, and the description's 'read-only' merely repeats that. It does add one genuinely new behavior — ingredients are scaled to the requested portions — but says nothing about what happens when a search term matches multiple recipes (first hit? error?) or about network/rate-limit failure modes for an open-world fetcher.
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?
Two short sentences with no padding. The German and English sentences duplicate the same content, so the English line earns little beyond the 'read-only' restatement, but overall the definition is compact and front-loaded.
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 two-parameter read tool with rich annotations and no output schema, the description covers the core action but omits the return shape (what recipe fields come back) and the multi-match behavior of the search-term path. Those are the main gaps an agent would want before calling it.
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 100% and the schema already explains both `recipe` (ID as string or integer, URL, or search term, with an example) and `portions` (target portions, default = recipe's own portions). The description's mention of ID/URL/search term and portion scaling only echoes that, adding no new semantics such as multi-match resolution or scaling limits.
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 states a specific verb and resource ('Zeigt ein Chefkoch-Rezept' / 'Show a Chefkoch recipe') and enumerates the accepted lookup forms (ID, URL, search term) plus the portion-scaled ingredients. It never mentions the sibling search_recipes, so an agent cannot tell from the text how this differs from a search tool when a search term is supplied.
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?
Usage is implied by the phrasing: fetch one recipe by ID, URL, or search term. There is no explicit when-to-use or when-not-to-use guidance, and the overlap with search_recipes (both accept a search term) is left unresolved, so the agent must infer the routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_recipesBRead-onlyIdempotent
Sucht Rezepte auf Chefkoch.de mit Filtern und liefert eine sortierte Trefferliste. Search Chefkoch recipes with filters; read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sortierung: bewertung (Standard), zeit oder neu. | bewertung |
| limit | No | Treffer pro Seite (1 bis 100). | |
| query | Yes | Suchbegriff, z. B. 'lasagne' oder 'vegane suppe'. | |
| seite | No | Seite der clientseitig sortierten Treffer (>= 1). | |
| vegan | No | Nur vegane Rezepte; schließt vegetarisch ein. | |
| max_zeit | No | Maximale Zubereitungszeit in Minuten (>= 0). | |
| vegetarisch | No | Nur vegetarische Rezepte (Detailprüfung über Tags). | |
| min_bewertung | No | Minimale Bewertung von 0 bis 5 Sternen. | |
| schwierigkeit | No | Schwierigkeitsgrad: simpel, normal oder pfiffig. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so 'read-only' in the description is redundant. The only added behavior is that results come back as a sorted hit list, but pagination behavior is unstated — notably that 'seite' pages over a client-side sorted result set, which materially affects how an agent should page.
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 definition is short and front-loaded, but it says the same thing twice in German and English, and 'read-only' merely repeats the annotations. Roughly half the text is redundant rather than additive.
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 9-parameter tool with no output schema, the description says nothing about result shape, per-recipe fields, or how pagination interacts with sorting. It is adequate to know the tool's purpose but thin for correct invocation across the full parameter set.
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 description coverage is 100%, including enum values and defaults, so the schema carries the parameter burden and baseline 3 applies. The description adds no extra meaning such as filter interaction (vegan implies vegetarisch), sort stability, or typical query phrasing beyond the generic 'mit Filtern'.
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?
Names a specific verb and resource plus the source site ('Sucht Rezepte auf Chefkoch.de ... sortierte Trefferliste'), so the agent knows exactly what comes back. It stops short of naming the natural alternative get_recipe for fetching a single recipe's details.
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?
Searching 'with filters' implies when the tool applies, and the phrase 'read-only' signals a safe lookup. There is no explicit when-not guidance, no pointer to get_recipe for details, and no explanation of how the filter set should be combined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
shopping_listARead-onlyIdempotent
Erstellt aus mehreren Chefkoch-Rezepten eine zusammengefasste Einkaufsliste mit skalierten Mengen. Build a shopping list; read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| recipes | Yes | Rezept-IDs (auch als Zahl), Chefkoch-URLs oder Suchbegriffe; mindestens ein Eintrag. | |
| portions | No | Zielportionen für jedes Rezept (>= 1); ohne Angabe gelten die Portionen der Rezepte. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the 'read-only' tail of the description merely restates structured data. The description does add that quantities are scaled and results consolidated across recipes, but says nothing about network lookups, failure modes for unresolvable recipes, or the shape of the returned list.
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?
Two short sentences, front-loaded with the core action and output. The English fragment is a partial restatement of the German and the 'read-only' clause duplicates annotations, which is mild waste but not enough to obscure the intent.
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 two-parameter, read-only aggregation tool with full schema coverage and no output schema, the description conveys the essential behavior: multiple recipes in, one consolidated list with scaled quantities out. Only return structure and error handling are left implicit, which is acceptable at this complexity.
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 description coverage is 100%, so both parameters are already documented in detail, including that recipes accept IDs, numbers, URLs or search terms. The description only echoes the portions scaling behavior via 'skalierten Mengen', adding no syntax or edge-case 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 German sentence names a specific verb (erstellt/zusammenfassen) and resource (Einkaufsliste) and clarifies the input scope: multiple Chefkoch recipes with scaled quantities. The plural 'mehreren Rezepten' implicitly separates it from the single-recipe sibling get_recipe, though no sibling is named explicitly.
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?
Usage is only implied by the purpose: aggregate several recipes into one list. There is no explicit statement of when to prefer this over search_recipes or get_recipe, no prerequisites, and no note on what happens with invalid or unfound recipes.
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.
3 tool updates
v0.1.0- First observed
get_recipe - First observed
search_recipes - First observed
shopping_list
TDQS
Scored across 3 tools
search_recipes and get_recipe are mostly distinct (discovery vs. retrieval), but get_recipe also accepts a search term, creating mild overlap with search_recipes. shopping_list is clearly separate, and the descriptions do enough to guide selection.
Two of three tools follow a clear verb_noun snake_case pattern (search_recipes, get_recipe). shopping_list breaks the verb-first convention as a bare noun, a minor but noticeable deviation.
Three tools form a tight, focused surface for a recipe lookup server: discovery, retrieval, and aggregation. Slightly thin, but each tool clearly earns its place with no filler.
The core read-only workflow (search → fetch → shopping list) is covered, but there are notable gaps: no browsing by category/cuisine, no ingredient-based search, and no way to inspect or adjust an existing shopping list. Agents can work around these but will hit dead ends for common recipe tasks.
Maintenance
Related MCP Connectors
Search, save, and scale family recipes, and manage shopping lists and meal plans.
Search structured recipes, scale servings, match pantry ingredients, and build shopping lists.
Ad-free recipes with amounts in every step: search, scale, plan meals, build shopping lists.
Ad-free recipes with amounts in every step: search, scale, plan meals, build shopping lists.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceEnables 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 gradedqualityDmaintenanceEnables to browse, compare, plan, and shop from Cookidoo, and save arbitrarily tweaked custom recipes back to your account.1MIT
- AlicenseAqualityBmaintenanceSearch and read recipes from the English Wikibooks Cookbook, with tools to rescale ingredient lists to a target number of servings.4515 npmMIT
- FlicenseNot gradedqualityBmaintenanceEnables read-only access to Kleinanzeigen.de listings, including compact search, listing details, availability checks, and route calculations with optional distance and driving information.-