io.github.smeet666/mcp-wikibooks-cookbook
NPM · MCP-WIKIBOOKS-COOKBOOK · 2 COMPONENTS · SCANNED SEP 27
Search the Wikibooks Cookbook, read a recipe and rescale it to any number of servings.
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 Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 31 of 95 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency100
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to smeet666/mcp-wikibooks-cookbook). View diagnostics → Pass
- 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 Usability59
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2138 tokens (~534/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 Management97
- Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage94
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 79% of tool parameters carry a description.Partial
- 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
How do I install the io.github.smeet666/mcp-wikibooks-cookbook server?
io.github.smeet666/mcp-wikibooks-cookbook runs locally as an npm package, launched with npx -y mcp-wikibooks-cookbook. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · mcp-wikibooks-cookbook
claude mcp add smeet666-mcp-wikibooks-cookbook -- npx -y mcp-wikibooks-cookbook
{
"mcpServers": {
"smeet666-mcp-wikibooks-cookbook": {
"command": "npx",
"args": [
"-y",
"mcp-wikibooks-cookbook"
]
}
}
} {
"servers": {
"smeet666-mcp-wikibooks-cookbook": {
"command": "npx",
"args": [
"-y",
"mcp-wikibooks-cookbook"
]
}
}
} codex mcp add smeet666-mcp-wikibooks-cookbook -- npx -y mcp-wikibooks-cookbook
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"smeet666-mcp-wikibooks-cookbook": {
"type": "local",
"command": [
"npx",
"-y",
"mcp-wikibooks-cookbook"
],
"enabled": true
}
}
} openclaw mcp add smeet666-mcp-wikibooks-cookbook --command npx --arg -y --arg mcp-wikibooks-cookbook
mcp_servers:
smeet666-mcp-wikibooks-cookbook:
command: "npx"
args: ["-y", "mcp-wikibooks-cookbook"] {
"McpServers": {
"smeet666-mcp-wikibooks-cookbook": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"mcp-wikibooks-cookbook"
]
}
}
} assistant mcp add smeet666-mcp-wikibooks-cookbook -t stdio -c npx -a -y mcp-wikibooks-cookbook
{
"mcpServers": {
"smeet666-mcp-wikibooks-cookbook": {
"command": "npx",
"args": [
"-y",
"mcp-wikibooks-cookbook"
]
}
}
} Every 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.
- 26 Sept 26 −1
- Stability: pass → 0.93 functional
- 25 Sept 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 23 Sept 26 +1
- Package version: 1.0.0 → 2.1.0 functional
- 21 Sept 26 −2
- Stability: pass → 0.87 functional
- 20 Sept 26 +1
- Stability: 0.97 → pass security
- 18 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 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 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Sept 26 −3
- Stability: pass → 0.80 functional
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 27 Sept 2026 · Analysed npm/mcp-wikibooks-cookbook@2.1.0
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | smeet666/mcp-wikibooks-cookbook |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/smeet666/mcp-wikibooks-cookbook/.github/workflows/publish.yml@refs/tags/v2.1.0 |
| Rekor log index | 2786816877 |
| Predicate type | SLSA build provenance https://slsa.dev/provenance/v1 |
| Subject digest | sha512:1ab8f4871ea9d563889a31a1c23c89567207ab012c3bee0873dd6a2abc3de21e67c574413aac20b87e0110ef2a0b8a35b7ce982b97b1b389918447568 |
Background: How many MCP packages publish verified provenance →
Dependencies 95 packages
| Packages resolved | 95 |
|---|---|
| Stale | 31 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
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 →
get_recipe Read a recipe ~784
Read one Wikibooks Cookbook page: ingredients, equipment, steps, yield, time, difficulty, category, and the nutrition panel when the page carries one. 'id' is the page key from search_recipes or list_recipes, such as 'Cookbook:Spaghetti_alla_Carbonara'. A plain dish name is accepted and the Cookbook namespace is added. Pass 'servings' to rescale: a countable thing lands on the smallest share a cook can take out of one of it, which is a whole one where half of one cannot be measured out at all, such as an egg or a whole clove, a half where half of one pours, weighs or splits, such as a can or a packet, and a quarter where a knife or the size of the thing goes further, such as an onion, a slice of bread or a jar; a measurement is moved to a smaller unit before rounding so nothing disappears; and anything that cannot be multiplied is flagged instead. Read 'scaling' on each ingredient rather than doing the arithmetic yourself. A page that groups its ingredients by what they are for, such as a cake and its glaze, states that group on every line; a page that lists them flat states null. Two lines can read alike and belong to different parts of the dish. A page offering several versions of the dish states which one each line came from in 'variant'. Those lists replace one another: one of them is used, even where the procedure says to mix all the ingredients. A measurement the page writes as a conversion template is read as the value and the unit the page wrote, and the counterpart the template computes is left out: nothing here is converted between measuring systems. A line asking for as much as is needed and giving an indication in brackets, such as 'water as required (about 1 ½ cups)', states a quantity: the indication is scaled with the recipe and the wording in front of it is left as the page wrote it. A line offering an alternative in brackets, such as '4 eggs (or 8 egg yolks)', has both branches scaled, since a cook takes one of them. The Cookbook keeps recipes and…
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Page key from a search, such as 'Cookbook:Spaghetti_alla_Carbonara'. |
| max_description_chars | integer | – | – |
| servings | integer | – | Rescale the ingredients to this many servings. |
| Name | Type | Req | Description |
|---|---|---|---|
| attribution | string | yes | – |
| author | string|null | yes | Always null: the Cookbook is written collectively. |
| categories | array | yes | Every category the page files itself under. |
| category | string|null | yes | – |
| cook_minutes | number|null | yes | The phase the page labels as cooking. Null when it labels none. |
| description | string|null | yes | – |
| difficulty | number|null | yes | – |
| difficulty_max | number | yes | The scale 'difficulty' sits on. |
| energy | string|null | yes | Energy per serving as the page states it. |
| equipment | array | yes | – |
| id | string | yes | The page that was read, which differs from 'id' after a redirect. |
| ingredients | array | yes | – |
| license | – | yes | – |
| notes | array | yes | – |
| nutrition | – | yes | – |
| prep_minutes | number|null | yes | The phase the page labels as preparation. Null when it labels none. |
| rating | number|null | yes | Always null: the Cookbook carries no reader score. |
| redirected_from | array | yes | Redirect pages walked to reach this one. Empty when the page was reached directly. |
| revised_at | string|null | yes | – |
| source | string | yes | – |
| steps | array | yes | – |
| time_phases | array | yes | Each duration the page states, in the order it states them. |
| time_text | string|null | yes | The time in the page's own wording. |
| tips | array | yes | Notes, tips and variations the page publishes. |
| title | string | yes | – |
| total_minutes | number|null | yes | The whole dish, stated only where the page states a total: one duration, or a phase the page itself calls the total. Null where the page states phases and no total, since a fermentation, a marinade o… |
| url | string | yes | – |
| yield | object | yes | – |
No examples provided.
list_recipes Browse the Cookbook ~235
Browse the Wikibooks Cookbook by cuisine, by kind of dish, or by main ingredient. Give at least one of the three; giving several narrows the result. This is built on the Cookbook's search, because the route this server is allowed to use publishes no way to list the members of a category. What comes back is therefore a ranked sample and not the category itself: it is neither complete nor ordered, and its length says nothing about how many recipes the Cookbook holds on the subject. The Cookbook also holds reference pages on ingredients and techniques, and those rank alongside recipes. Open a row with get_recipe before describing it as a recipe. Use search_recipes instead when there is a dish name to look up.
| Name | Type | Req | Description |
|---|---|---|---|
| cuisine | string | – | A cuisine or a country, such as 'Italian' or 'Thai'. |
| dish_type | string | – | A kind of dish, such as 'soup', 'dessert' or 'bread'. |
| limit | integer | – | – |
| main_ingredient | string | – | The ingredient a recipe is built on, such as 'chicken' or 'lentils'. |
| Name | Type | Req | Description |
|---|---|---|---|
| cuisine | string|null | yes | – |
| dish_type | string|null | yes | – |
| main_ingredient | string|null | yes | – |
| notes | array | yes | – |
| query | string | yes | The search this server built from the arguments. |
| result_count | integer | yes | – |
| results | array | yes | – |
| source | string | yes | – |
| total_available | – | yes | Always null: no route reports how many recipes a category holds. |
No examples provided.
scale_ingredients Rescale an ingredient list ~502
Rescale a list of English ingredient lines. This contacts no website and works on a list from anywhere, including one the user pasted in. Give either 'factor' directly, or 'from_servings' and 'to_servings' and the factor is computed. Grams, millilitres, ounces and pounds are multiplied and rounded to what a scale can show; a quantity that would fall below one is moved to a smaller unit first, so it never rounds away to nothing. Countable things land where a kitchen can follow, and what decides is the content rather than the container: a can, a packet, a sheet of gelatine or a spoon lands on a half, because half of one pours, weighs or cuts. An egg, a yolk, a white, a zest or a whole clove lands on a whole one, since there is no half of it to measure out, which is what stops an answer like '2.4 eggs'. A bottle, a jar, a block and a slice go one step further, to the quarter, as a whole food a knife shares out does. An approximate measure is scaled as a count, so a pinch taken from 6 servings to 25 is 4 pinches; the note gives the everyday equivalence, and the quantity stays in the unit the line used. That covers the gestures, such as a pinch, a dash, a glug or a handful, and anything named after what holds it, such as a capful or a spoonful. A line with no quantity at all comes back untouched and flagged. A bracketed equivalent, as in '450 g (1 pound)', is scaled with the amount it restates rather than left to contradict it, and so is one written after a slash, as in '500 g / 1.1 lb'. A line offering a choice, as in '2 tablespoons butter OR 30 g margarine', has both branches scaled, so whichever one the cook takes carries the same share. Prefer this over doing the arithmetic yourself.
| Name | Type | Req | Description |
|---|---|---|---|
| factor | number | – | Multiplier to apply. Use this or the from/to pair. |
| from_servings | number | – | How many servings the list is written for. |
| ingredients | array | yes | Ingredient lines, for example ['450 g (1 pound) spaghetti', '5 egg yolks', 'Salt']. |
| to_servings | number | – | How many servings are wanted. |
| Name | Type | Req | Description |
|---|---|---|---|
| factor | number | yes | – |
| ingredients | array | yes | – |
| notes | array | yes | – |
| rounded_count | integer | yes | Lines whose value was moved to stay usable, not lines that could have been. |
| scaled_count | integer | yes | Lines whose arithmetic came out exact. |
| unscaled_count | integer | yes | Lines carrying nothing that can be multiplied. |
No examples provided.
search_recipes Search the Cookbook ~282
Search the Wikibooks Cookbook for a recipe, by dish name or by an ingredient it uses. 'text' searches the whole of each page, which is what finds a dish from an ingredient inside it; 'title' matches the page name only, which is exact and misses a dish the Cookbook names differently. The Cookbook also holds reference pages on ingredients, techniques and cuisines, and those rank alongside recipes: a row is a page, and only get_recipe can say whether it carries an ingredient list. A full-text row can be a page that merely names the dish: when the titles do not say the words searched for, the notes say so, because the Cookbook links to dishes it does not hold. On a title search the same rows are pages the Cookbook files under another name, such as 'Eggplant' for 'aubergine', since that search opens no page. 'total_available' is null because the search route reports no total and offers no second page. Narrow the query rather than asking for more. Every row carries an 'id', which get_recipe takes.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| query | string | yes | A dish, such as 'carbonara', or an ingredient, such as 'guanciale'. |
| search | string | – | 'text' reads the whole page; 'title' matches the page name only. |
| Name | Type | Req | Description |
|---|---|---|---|
| notes | array | yes | – |
| query | string | yes | – |
| result_count | integer | yes | Rows returned by this call. |
| results | array | yes | – |
| source | string | yes | – |
| total_available | – | yes | Always null: the search route publishes no total and no paging. |
No examples provided.
What is the io.github.smeet666/mcp-wikibooks-cookbook server?
io.github.smeet666/mcp-wikibooks-cookbook is listed in the public MCP registry as io.github.smeet666/mcp-wikibooks-cookbook. Search the Wikibooks Cookbook, read a recipe and rescale it to any number of servings. This page covers its npm package (mcp-wikibooks-cookbook).
Is the io.github.smeet666/mcp-wikibooks-cookbook server safe to use?
io.github.smeet666/mcp-wikibooks-cookbook scores 91 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 27 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. 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-wikibooks-cookbook server expose?
io.github.smeet666/mcp-wikibooks-cookbook exposes 4 tools: search_recipes, get_recipe, scale_ingredients, list_recipes. Their descriptions and schemas cost roughly 1,803 tokens of context every time the server is loaded.
Is the io.github.smeet666/mcp-wikibooks-cookbook server still maintained?
io.github.smeet666/mcp-wikibooks-cookbook is still listed as active in the MCP registry. We last reached this channel on 27 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.smeet666/mcp-wikibooks-cookbook server under?
io.github.smeet666/mcp-wikibooks-cookbook declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.