io.github.smeet666/mcp-recipes
MCPB · MCP-RECIPES-4.0.0.MCPB · 2 COMPONENTS · SCANNED SEP 21
Search six recipe sites at once, in French, English and Spanish, and scale quantities.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security13
- Malware scan not yet available for this package.Unverified
- Known CVEs could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
- No install/post-install scripts declared.Pass
- Dependency health could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 16 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability61
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2273 tokens (~568/item across 4 items; 4 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management57
- Stability observed for 17 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 4 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 5 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
mcpb · mcp-recipes-4.0.0.mcpb
Download bundleEvery change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 19 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.
- 12 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Sept 26 +4
- Stability: unverified → 0.27 ▲ functional
- 4 Sept 26 +11
- Judged manipulation: unverified → pass ▲ security
- Schema quality: unverified → excellent ▲ functional
- 3 Sept 26 31
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed mcpb/https://github.com/smeet666/mcp-recipes/releases/download/v4.0.0/mcp-recipes-4.0.0.mcpb@4.0.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | mcpb |
Background: How many MCP packages publish verified provenance →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
compare_recipes One dish, as each source writes it ~303
Take a dish and show how each source writes it, side by side. Each source's closest match is read in full, and all of them can be rescaled to the same number of servings so the ingredient lists stand comparison. The answer states what differs and leaves it there: the quantities each asks for, what each measures in, what each yields, and which fields each source publishes at all. No version is ranked above another. Some sources carry reader ratings and some have no author and no rating by nature, so there is no score they share. When only one source answers, the answer says so and shows that one rather than presenting part of a comparison as the whole of it.
| Name | Type | Req | Description |
|---|---|---|---|
| dish | string | yes | The dish to compare, in any of the languages the sources publish in. |
| max_step_chars | integer | – | Characters kept per step. Raise it only if a step was cut mid-sentence. |
| max_steps | integer | – | Steps to return per version. |
| sections | array | – | Which parts of each version to return. Several full recipes is a lot of text. |
| servings | integer | – | Rescale every version to this many, which is what makes the lists comparable. |
| sources | array | – | Sources to compare, by id. Left out, every source is read, which is the point of this tool. Name two or three to put particular traditions side by side. The ids are the ones 'per_source' reports. |
| Name | Type | Req | Description |
|---|---|---|---|
| differences | array | yes | What differs between the versions, stated as fact. No version is ranked. |
| dish | string | yes | – |
| notes | array | yes | – |
| per_source | array | yes | – |
| versions | array | yes | – |
No examples provided.
get_recipe Read one recipe, optionally rescaled ~541
Read one recipe in full: its ingredients, its steps, what it yields, and whatever times, rating and nutrition its source publishes. 'id' must come from search_recipes. It names the source, so this reads the right one without guessing; an identifier no source would have minted is refused, because sending it anywhere would answer about the wrong dish. Pass 'servings' to rescale. Quantities land where a kitchen can follow them: an egg stays whole, anything that pours or cuts can halve, a small measurement moves to a smaller unit before it is rounded, and anything unmultipliable is flagged rather than scaled. A page that states no number of servings comes back as published and says so, because dividing by a yield nobody wrote would answer for a number of people the page never claimed. Read 'kind' first. Some sources publish articles gathering other recipes at the same kind of address as a recipe, and such an answer carries 'collection' with the recipes it points at and no 'recipe' at all: there is nothing to cook from that page, and the recipes it lists are read with get_recipe. A part this answer holds nothing for says which of two things happened: the page showed no sign of it, or this server failed to read what the page carries. An empty ingredient list is never evidence that an ingredient is absent from the dish. 'sections' decides what comes back, and 'sections_omitted' names what was left out: a field belonging to an omitted section is empty because nobody asked for it, never because the page states nothing. A field a source does not publish is null, never zero. Credit the source and link the url when you repeat any of it.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | From search_recipes, such as 'marmiton:44078', 'pequerecetas:paella-de-marisco' or 'cookbook:Cookbook:Carbonara'. Two sources address a recipe by a bare number, so spell an id with its source. |
| max_gathered | integer | – | Recipes and headings to return from an address that gathers recipes. The answer says how many the article holds. |
| max_step_chars | integer | – | Characters kept per step. Raise it only if a step was cut mid-sentence. |
| max_steps | integer | – | Steps to return. The answer says how many more there are. |
| sections | array | – | Which parts to return. A full recipe is a lot of text, so this defaults to two. |
| servings | integer | – | Rescale to this many. Left out, the quantities come back as published. |
| Name | Type | Req | Description |
|---|---|---|---|
| collection | object | – | Present when 'kind' is 'collection'. |
| id_read_as | string|null | yes | How a raw identifier was routed, when it was not spelled with its source. |
| kind | string | yes | What the address held. 'recipe' comes with 'recipe' and no 'collection'; 'collection' comes with 'collection' and no 'recipe', and is an article gathering other recipes, with no ingredients and no me… |
| notes | array | yes | – |
| recipe | object | – | Present when 'kind' is 'recipe'. |
No examples provided.
scale_ingredients Scale an ingredient list, in any language it reads ~378
Multiply a list of ingredient lines, in French, in English, in Spanish, or in a list holding more than one of them. Give either 'factor', or 'from_servings' and 'to_servings' and the factor is worked out from them. Quantities land where a kitchen can follow them: an egg stays whole because half of one is not something a cook takes out of the shell, while anything that pours, weighs or cuts can halve, a spoonful shrinks into the smaller spoon before it is rounded, and a pinch keeps whatever size a hand gives it while its count is multiplied. Every line comes back with 'scaling': 'scaled' when the arithmetic landed on the exact product, 'rounded' when something had to move for the line to stay usable, 'unscaled' when the line carries nothing to multiply. A rounded line says what it was rounded from and in which direction. No quantity is converted between measuring systems: grams stay grams and cups stay cups, because a conversion changes what the recipe said.
| Name | Type | Req | Description |
|---|---|---|---|
| factor | number | – | What to multiply by. Give exactly one of: 'factor', or both 'from_servings' and 'to_servings'. |
| from_servings | integer | – | What the list serves now. Give it with 'to_servings', and without 'factor'. |
| ingredients | array | yes | The lines as written, one ingredient each, such as '200 g de farine' or '3 eggs'. One line, not a whole recipe. |
| language | string | – | 'auto' reads each line on its own, which is what a list holding more than one language needs. Name a language to read every line that way. |
| to_servings | integer | – | What it should serve. Give it with 'from_servings', and without 'factor'. |
| Name | Type | Req | Description |
|---|---|---|---|
| equipment_count | integer | yes | Lines naming a tool, which are never multiplied: a recipe made for more people uses the same pan. |
| factor | number | yes | What every quantity was multiplied by. |
| ingredients | array | yes | – |
| language | string | yes | How the lines were read. |
| notes | array | yes | – |
| rounded_count | integer | yes | Lines whose value moved to stay usable. |
| scaled_count | integer | yes | Lines whose arithmetic came out exact. |
| unscaled_count | integer | yes | Lines carrying nothing that can be multiplied, tools excepted. |
No examples provided.
search_recipes Search every recipe source at once ~623
Search every recipe source this server reads, at the same time, for a dish or an ingredient, and get one merged list. Each row carries the id get_recipe takes, and that id names the source it came from, so nothing has to be guessed afterwards. The sources are written in different languages and count their own results differently, so 'per_source' says what each one answered, what its own number means, and names any that failed. A short list is never evidence of what exists. Not every row opens onto a recipe. Some sources file pages about an ingredient beside the recipes using it, and some publish articles that gather recipes; 'per_source' says in each source's own words what one of its rows can be. Only get_recipe tells them apart, and it says what it read off the page. The query goes to each source's own search as free text. There is no filtering: a word naming a diet, a time or a calorie count matches only where that source's index happens to carry it. Ask in a whole sentence if that is the question. These indexes answer the words they are handed, so a sentence is also sent as the words naming the dish and as the dish word alone, and the rows are the union; 'per_source' lists every wording and what it returned. What the question says the recipe must not hold is set aside from those shorter wordings rather than searched for, and named back in the notes: a negation, an allergy stated as one, a diet named in one word, and the number of people at the table. No source filters on any of it, so open a row with get_recipe and read the ingredient list before calling it suitable. A condition is read with the food on whichever side of it the sentence put one, so 'allergique aux noix' and 'peanut allergy' both name the nut. Where a sentence puts a food on neither side, the notes say a condition was stated and that its food was not read, because naming the wrong word would hide a dish and search for the food being avoided at once. Rows are interleaved one source at a time rath…
| Name | Type | Req | Description |
|---|---|---|---|
| fan_out | boolean | – | Whether a question may also be sent in shorter wordings derived from it. On, because these indexes answer the words they are handed: a question written as a sentence comes back empty from a corpus ho… |
| limit_per_source | integer | – | Rows to take from each source, so one source cannot fill the whole list. |
| query | string | yes | A dish or an ingredient, in any of the languages the sources publish in. |
| sources | array | – | Sources to ask, by id. Left out, they are all asked, which is the point of this tool. The ids are the ones 'per_source' reports. |
| Name | Type | Req | Description |
|---|---|---|---|
| notes | array | yes | – |
| order | string | yes | How the list was built, in words. |
| per_source | array | yes | – |
| query | string | yes | – |
| result_count | integer | yes | Rows in this answer, across every source. |
| results | array | yes | – |
No examples provided.
What is the io.github.smeet666/mcp-recipes server?
io.github.smeet666/mcp-recipes is listed in the public MCP registry as io.github.smeet666/mcp-recipes. Search six recipe sites at once, in French, English and Spanish, and scale quantities. This page covers its MCPB bundle (https://github.com/smeet666/mcp-recipes/releases/download/v4.0.0/mcp-recipes-4.0.0.mcpb).
Is the io.github.smeet666/mcp-recipes server safe to use?
io.github.smeet666/mcp-recipes scores 50 out of 100 on VerifyMCP. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.smeet666/mcp-recipes server expose?
io.github.smeet666/mcp-recipes exposes 4 tools: search_recipes, get_recipe, scale_ingredients, compare_recipes. Their descriptions and schemas cost roughly 1,845 tokens of context every time the server is loaded.
What licence is the io.github.smeet666/mcp-recipes server under?
io.github.smeet666/mcp-recipes declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.