Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.smeet666/mcp-ptitchef

MCPB · MCP-PTITCHEF-1.1.0.MCPB · 2 COMPONENTS

Search Ptitchef recipes, read one, and rescale it to any servings. No API key.

0 this week 53 Trust /100

Last scanned (22 minutes ago)

Scores higher than 86% of MCPB servers

Trust breakdown (7 categories)

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 Security0
  • No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
  • Known CVEs could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).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 6 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability66
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 2015 tokens (~287/item across 7 items; 7 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 Management100
  • No destabilizing schema changes in the last 30 days.Pass
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 7 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 8 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

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Changelog

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.

  • 3 Nov 26 0
    • Stability: 0.97 → pass security
  • 2 Nov 26 0
    • Stability: pass → 0.97 functional
  • 29 Oct 26 −1
    • Stability: pass → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • First check of Schema quality: unverified functional
    • Package version: 1.0.1 → 1.1.0 functional
    • Package version: 1.0.1 → 1.0.2 functional
  • 27 Oct 26 0
    • Stability: 0.97 → pass security
  • 26 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 25 Oct 26 −1
    • Stability: pass → 0.93 functional
  • 21 Oct 26 0
    • Provenance: unverified → fail ▼ security
  • 20 Oct 26 0
    • Provenance: fail → unverified ▼ security
Diagnostics

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 5 Nov 2026 · Analysed mcpb/https://github.com/smeet666/mcp-ptitchef/releases/download/v1.1.0/mcp-ptitchef-1.1.0.mcpb@1.1.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem mcpb
Reason No attestation published

Background: How many MCP packages publish verified provenance →

MCP tools · 7 exposed · ~1,430 tokens

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 →

Tool Tokens
browse_recipes ~233

Read the recipes under one category of Ptitchef, page by page, or one of the lists the site keeps standing. Pass 'category' with a slug from list_categories or from a search's 'topic_slug', or pass 'listing' for one of: latest, top_rated, most_viewed. Never build a category slug by hand: the site writes them freely and answers an address it does not hold by serving another page. The page in the answer is the one the site served. A page past the last one comes back either as the first page again or as not_found naming it past the last page.

NameTypeReqDescription
categorystring–A category slug: one from list_categories whose 'is_family' is false, or the 'topic_slug' a search answered with. A family's slug belongs to list_categories instead.
limitinteger–Rows to render, 20 by default.
listingstring–One of the site's standing lists, read instead of a category.
pageinteger–The page of a category to read. A standing list has one page only.
NameTypeReqDescription
askedstringyesWhat was asked for: a search, a category, or a list of ingredients. 'query' carries the same value under the name every source of recipes publishes it in.
foldedintegeryesRows naming a recipe already held. A guide lists one recipe under two headings where it belongs to both; such a row is counted in 'rows_seen' and rendered once.
kindstringyesHow the listing came to be, which decides what its total counts. 'topic' means the site answered a search from a page of its own; 'free_text' means it answered on its own terms.
notesarrayyesWhat qualifies this answer: what its total counts, what it left out, and where the site answered from an address other than the one asked for. Read these before quoting a figure.
pageintegeryesThe page that was read, which is the one the site served.
querystringyesWhat was asked for, under the name a search publishes it in.
result_countintegeryesRows rendered here.
resultsarrayyes–
rows_seenintegeryesRows the site served on this page, before any were set aside.
single_pagebooleanyesTrue when the site serves this listing on one page and offers no further one.
sourcestringyesThe site this answer was read from. Credit it when showing a row.
titlestring|nullyesThe site's own heading for the listing.
topic_slugstring|nullyesThe category page this listing was served from. Pass it to browse_recipes as 'category' to read the topic's further pages, and its total where this answer carries none.
total_available–yesRecipes the site says this listing holds. Null when it published no figure.
urlstringyesThe address the listing was read from.

No examples provided.

get_recipe ~180

Read one Ptitchef recipe: its ingredients, method, times, rating, nutrition and the cost the site estimates for it. Pass the 'id' of a row from search_recipes, browse_recipes or search_by_ingredients. Give 'servings' to rescale the ingredients, and read each line's 'scaling' before quoting a quantity: 'scaled' is exact arithmetic, 'rounded' was moved to stay usable, and 'unscaled' carries nothing that could be multiplied. A time or a figure the site publishes none of comes back null, never zero.

NameTypeReqDescription
idstringyesThe 'id' of a row from a search or a listing, which is the recipe's own page path.
servingsinteger–Rescale the ingredients to this many servings. Left out, the ingredients come back as published.
NameTypeReqDescription
attributionstringyes–
authorstring|nullyes–
author_urlstring|nullyes–
categorystring|nullyes–
cook_minutes–yes–
cuisinestring|nullyes–
descriptionstring|nullyes–
difficultystring|nullyesThe site's own wording, such as 'facile'.
estimated_coststring|nullyesWhat the site estimates the ingredients cost, with the currency it names. Repeated as published: it is the site's figure and readers of the site dispute it.
faqarrayyes–
idstringyes–
illustrated_stepsarrayyes–
image_urlstring|nullyes–
ingredientsarrayyesThe lines as published where no servings were asked for, in which case 'yield.factor' is null and each line's 'scaling' describes no arithmetic. Pass 'servings' to rescale them.
keywordsarrayyes–
modifiedstring|nullyes–
notesarrayyesWhat qualifies this answer: what the arithmetic did, what it could not do, and what the site states rather than this server. Read these before quoting a quantity or a cost.
nutrition–yesAs published, per the serving size it names.
prep_minutes–yes–
publishedstring|nullyes–
ratingnumber|nullyes1 to 5, as the site states it.
rating_count–yes–
review_count–yes–
sourcestringyesThe site this recipe was read from. Credit it when showing it.
stepsarrayyesThe method, one line per step, in the shape every source of recipes publishes it in. 'illustrated_steps' carries the same lines beside the photograph the site took of each.
steps_are_one_blockbooleanyesTrue when the site published its method as one block of prose, so the single step above is that block rather than the first of several.
titlestringyes–
total_minutes–yes–
translationsarrayyesThe other languages this recipe was published in, which get_recipe_translations answers on its own for a caller who wants nothing else.
urlstringyesThe public page. Show this when citing the recipe.
yieldobjectyes–

No examples provided.

get_recipe_translations ~164

List the other languages a Ptitchef recipe was published in, with the page of each. get_recipe already carries this list under 'translations', so call this one only where the rest of the recipe is not wanted. Pass the 'id' of a row from a search or a listing. The pairing is the site's own: each page names its counterparts, and this repeats those names rather than matching titles. How many there are belongs to the recipe: a recent one names more than twenty, from German to Hindi, and an older one names none. An empty list is what the site published, and the read succeeded.

NameTypeReqDescription
idstringyesThe 'id' of a row from a search or a listing, which is the recipe's own page path.
NameTypeReqDescription
idstringyes–
notesarrayyes–
sourcestringyes–
titlestringyes–
translation_countintegeryes–
translationsarrayyes–
urlstringyesThe French page these counterparts were read from.

No examples provided.

list_categories ~201

List the categories Ptitchef browses its recipes by. Called without arguments it returns the families of ingredients; pass a family's slug as 'family' to list the categories it holds. Read this before building an address by hand: the site writes its slugs freely, so the same vegetable appears as 'chou-kale' on one line and as 'recette-de-petits-pois' on the next, and a slug that was guessed lands on a page the site does not hold. Each entry carries the slug to pass back and the page to open.

NameTypeReqDescription
familystring–The slug of a family to open, taken from a previous call. Leave it out to read the families themselves, which is where the tree starts.
limitinteger–Entries to render, 20 by default and 200 at most. A level holding more than this says so, and 'categories_published' always states what the page listed.
NameTypeReqDescription
categoriesarrayyes–
categories_publishedintegeryesEntries the page listed, before any were rendered.
category_countintegeryesEntries rendered here.
familystring|nullyesThe family that was opened, or null for the root.
family_titlestring|nullyesThe site's own heading for this level. Null when the page carries none.
notesarrayyes–
sourcestringyes–
urlstringyesThe page these categories were read from.

No examples provided.

scale_ingredients ~305

Rescale a list of ingredient lines to a different number of servings, without contacting any website. Give either 'factor' directly, or 'from_servings' and 'to_servings' and the factor is computed. Works on any French ingredient list, whatever its source, so it also serves a recipe pasted in by hand. Quantities in grams or millilitres are multiplied and rounded to readable values; a countable thing lands on a half when half of one can be poured, weighed or cut, as a boîte, a sachet, a feuille de gélatine or a cuillère can, and on a whole one when it cannot, as an oeuf, a jaune or a blanc; approximate measures such as a pinch or a handful have their count multiplied in whole units and stay in their own vocabulary. A line writing an article where a digit would go, as in 'un bouchon de rhum' or 'une pincée de sel', is read as one of that measure. Lines carrying no quantity are returned untouched and flagged. Prefer this over doing the arithmetic yourself.

NameTypeReqDescription
factornumber–Multiplier to apply. Use this or the from/to pair.
from_servingsnumber–How many servings the list is written for.
ingredientsarrayyesIngredient lines, for example ['200 g de farine', '3 oeufs', 'sel'].
to_servingsnumber–How many servings are wanted.
NameTypeReqDescription
factornumberyes–
ingredientsarrayyes–
notesarrayyes–
rounded_countintegeryesLines whose value rounding moved away from the exact product, not lines that could have been rounded.
scaled_countintegeryes–
unscaled_countintegeryes–

No examples provided.

search_by_ingredients ~138

Find Ptitchef recipes from the ingredients a cook already has. Give one to 5 ingredients in French, as a cook would name them ("poulet", "citron"). The site counts every recipe it finds and serves one page of them, so 'total_available' can be far larger than the rows returned, and the rest cannot be reached. A longer list than the site's own form reads is refused rather than sent and silently cut.

NameTypeReqDescription
ingredientsarrayyesOne to 5 ingredients, in French. The site reads no more than that.
limitinteger–Rows to render, 20 by default.
NameTypeReqDescription
askedstringyesWhat was asked for: a search, a category, or a list of ingredients. 'query' carries the same value under the name every source of recipes publishes it in.
foldedintegeryesRows naming a recipe already held. A guide lists one recipe under two headings where it belongs to both; such a row is counted in 'rows_seen' and rendered once.
kindstringyesHow the listing came to be, which decides what its total counts. 'topic' means the site answered a search from a page of its own; 'free_text' means it answered on its own terms.
notesarrayyesWhat qualifies this answer: what its total counts, what it left out, and where the site answered from an address other than the one asked for. Read these before quoting a figure.
pageintegeryesThe page that was read, which is the one the site served.
querystringyesWhat was asked for, under the name a search publishes it in.
result_countintegeryesRows rendered here.
resultsarrayyes–
rows_seenintegeryesRows the site served on this page, before any were set aside.
single_pagebooleanyesTrue when the site serves this listing on one page and offers no further one.
sourcestringyesThe site this answer was read from. Credit it when showing a row.
titlestring|nullyesThe site's own heading for the listing.
topic_slugstring|nullyesThe category page this listing was served from. Pass it to browse_recipes as 'category' to read the topic's further pages, and its total where this answer carries none.
total_available–yesRecipes the site says this listing holds. Null when it published no figure.
urlstringyesThe address the listing was read from.

No examples provided.

search_recipes ~209

Search recipes on Ptitchef by dish or ingredient. The site answers in one of two ways and the answer says which: it either sends the search to a category page of its own, whose total counts what that category holds, or it answers on its own terms on a single page whose total is the number of rows served. When a category answered, 'topic_slug' names it and browse_recipes reads its further pages. Some topics come back as a guide the site wrote instead, grouped under headings of its own and carrying no total; browse_recipes on the same 'topic_slug' reads their full listing. A search the site matched nothing for comes back with no row and a total of zero, which is an absence the site stated.

NameTypeReqDescription
limitinteger–Rows to render, 20 by default. 'rows_seen' states what the page served.
querystringyesA dish or an ingredient, in French, as a reader of the site would type it.
NameTypeReqDescription
askedstringyesWhat was asked for: a search, a category, or a list of ingredients. 'query' carries the same value under the name every source of recipes publishes it in.
foldedintegeryesRows naming a recipe already held. A guide lists one recipe under two headings where it belongs to both; such a row is counted in 'rows_seen' and rendered once.
kindstringyesHow the listing came to be, which decides what its total counts. 'topic' means the site answered a search from a page of its own; 'free_text' means it answered on its own terms.
notesarrayyesWhat qualifies this answer: what its total counts, what it left out, and where the site answered from an address other than the one asked for. Read these before quoting a figure.
pageintegeryesThe page that was read, which is the one the site served.
querystringyesWhat was asked for, under the name a search publishes it in.
result_countintegeryesRows rendered here.
resultsarrayyes–
rows_seenintegeryesRows the site served on this page, before any were set aside.
single_pagebooleanyesTrue when the site serves this listing on one page and offers no further one.
sourcestringyesThe site this answer was read from. Credit it when showing a row.
titlestring|nullyesThe site's own heading for the listing.
topic_slugstring|nullyesThe category page this listing was served from. Pass it to browse_recipes as 'category' to read the topic's further pages, and its total where this answer carries none.
total_available–yesRecipes the site says this listing holds. Null when it published no figure.
urlstringyesThe address the listing was read from.

No examples provided.

Install

How do I install the io.github.smeet666/mcp-ptitchef server?

io.github.smeet666/mcp-ptitchef ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, 66123d469ea8afb7801e9ecd3c8b74bbb371f664e1e32c0fa394e977a779c344; the commands to do that are on this page. If it does not match, do not open it.

mcpb · mcp-ptitchef-1.1.0.mcpb

Download bundle

Check the download matches the SHA-256 the MCP registry declares before you open it. If it does not match, do not open the file.

SHA-256

66123d469ea8afb7801e9ecd3c8b74bbb371f664e1e32c0fa394e977a779c344

macOS / Linux

echo "66123d469ea8afb7801e9ecd3c8b74bbb371f664e1e32c0fa394e977a779c344  mcp-ptitchef-1.1.0.mcpb" | shasum -a 256 -c

Windows (PowerShell)

(Get-FileHash -Algorithm SHA256 .\mcp-ptitchef-1.1.0.mcpb).Hash -eq "66123d469ea8afb7801e9ecd3c8b74bbb371f664e1e32c0fa394e977a779c344"

Run it in the folder you saved the bundle to, then open the file with an MCPB-capable host such as Claude Desktop.

Common questions

What is the io.github.smeet666/mcp-ptitchef server?

io.github.smeet666/mcp-ptitchef is listed in the public MCP registry as io.github.smeet666/mcp-ptitchef. Search Ptitchef recipes, read one, and rescale it to any servings. No API key. This page covers its MCPB bundle (https://github.com/smeet666/mcp-ptitchef/releases/download/v1.1.0/mcp-ptitchef-1.1.0.mcpb).

Is the io.github.smeet666/mcp-ptitchef server safe to use?

io.github.smeet666/mcp-ptitchef scores 53 out of 100 on VerifyMCP. 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-ptitchef server expose?

io.github.smeet666/mcp-ptitchef exposes 7 tools: list_categories, search_recipes, browse_recipes, search_by_ingredients, get_recipe, and 2 more. Their descriptions and schemas cost roughly 1,430 tokens of context every time the server is loaded.

What licence is the io.github.smeet666/mcp-ptitchef server under?

io.github.smeet666/mcp-ptitchef declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.