Skip to main content
Glama
io.github.smlfg/chefkoch-mcp

io.github.smlfg/chefkoch-mcp

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-mcp

Der 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-mcp

Tools

Tool

Beschreibung

search_recipes

Rezepte mit Filtern suchen

get_recipe

Rezept per ID, URL oder Name anzeigen

shopping_list

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

CHEFKOCH_BASE_URL

https://api.chefkoch.de

API-Basis (Test/Fake-Server)

Lizenz

MIT, Copyright 2026 smlfg. Siehe LICENSE.

Available Tools

3 tools
get_recipeB
Read-onlyIdempotent

Zeigt ein Chefkoch-Rezept per ID, URL oder Suchbegriff mit auf Portionen skalierten Zutaten. Show a Chefkoch recipe; read-only.

NameRequiredDescriptionDefault
recipeYesRezept-ID (auch als Zahl), Chefkoch-URL oder Suchbegriff, z. B. '2812481433250378', 2812481433250378, 'https://www.chefkoch.de/rezepte/...' oder 'vegane lasagne'.
portionsNoZielportionen für die Zutaten (>= 1); ohne Angabe gelten die Portionen des Rezepts.

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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_recipesB
Read-onlyIdempotent

Sucht Rezepte auf Chefkoch.de mit Filtern und liefert eine sortierte Trefferliste. Search Chefkoch recipes with filters; read-only.

NameRequiredDescriptionDefault
sortNoSortierung: bewertung (Standard), zeit oder neu.bewertung
limitNoTreffer pro Seite (1 bis 100).
queryYesSuchbegriff, z. B. 'lasagne' oder 'vegane suppe'.
seiteNoSeite der clientseitig sortierten Treffer (>= 1).
veganNoNur vegane Rezepte; schließt vegetarisch ein.
max_zeitNoMaximale Zubereitungszeit in Minuten (>= 0).
vegetarischNoNur vegetarische Rezepte (Detailprüfung über Tags).
min_bewertungNoMinimale Bewertung von 0 bis 5 Sternen.
schwierigkeitNoSchwierigkeitsgrad: simpel, normal oder pfiffig.

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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_listA
Read-onlyIdempotent

Erstellt aus mehreren Chefkoch-Rezepten eine zusammengefasste Einkaufsliste mit skalierten Mengen. Build a shopping list; read-only.

NameRequiredDescriptionDefault
recipesYesRezept-IDs (auch als Zahl), Chefkoch-URLs oder Suchbegriffe; mindestens ein Eintrag.
portionsNoZielportionen für jedes Rezept (>= 1); ohne Angabe gelten die Portionen der Rezepte.

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

  1. 3 tool updatesv0.1.0
    • First observedget_recipe
    • First observedsearch_recipes
    • First observedshopping_list

TDQS

A3.5/5.0

Scored across 3 tools

Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count4/5

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.

Completeness3/5

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

ActivityMaintained
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables 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.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables to browse, compare, plan, and shop from Cookidoo, and save arbitrarily tweaked custom recipes back to your account.
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Search and read recipes from the English Wikibooks Cookbook, with tools to rescale ingredient lists to a target number of servings.
    4
    515 npm
    MIT