Skip to main content
Glama
smeet666

mcp-ptitchef

Find recipes from the ingredients a cook has

search_by_ingredients
Read-onlyIdempotent

Find Ptitchef recipes from ingredients you already have. Enter one to five ingredients in French to see matching recipes.

Instructions

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoRows to render, 20 by default.
ingredientsYesOne to 5 ingredients, in French. The site reads no more than that.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesThe address the listing was read from.
kindYesHow 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.
pageYesThe page that was read, which is the one the site served.
askedYesWhat 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.
notesYesWhat 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.
queryYesWhat was asked for, under the name a search publishes it in.
titleYesThe site's own heading for the listing.
foldedYesRows 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.
sourceYesThe site this answer was read from. Credit it when showing a row.
resultsYes
rows_seenYesRows the site served on this page, before any were set aside.
topic_slugYesThe 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.
single_pageYesTrue when the site serves this listing on one page and offers no further one.
result_countYesRows rendered here.
total_availableYesRecipes the site says this listing holds. Null when it published no figure.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint, openWorldHint, and idempotentHint annotations, it discloses non-obvious behaviors: the site counts all matches but serves only one page, the rest cannot be reached, and an over-long ingredient list is refused rather than silently truncated. This is exactly the kind of behavioral context annotations do not capture.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences with the purpose first, then instructions, then boundary behaviors. Every sentence earns its place and there is no filler or repetition of annotation data.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the rich annotations and output schema, the description covers everything an agent needs to invoke it correctly: ingredient count, language, refusal behavior, and pagination limitations. The only minor gap is not explicitly routing to sibling search_recipes, but the ingredient-based purpose makes that choice obvious.

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?

The input schema already has 100% coverage, including the French requirement, one-to-five item bounds, and per-string length limits. The description adds helpful cook-friendly examples, but it largely restates the schema rather than adding deeper semantic meaning, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb-resource pair ('Find Ptitchef recipes') and narrows the scope to ingredients a cook already has, which distinguishes it from sibling search_recipes, browse_recipes, and list_categories. It also clarifies the input language and gives examples, making the tool's identity unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives actionable usage instructions: one to five ingredients, in French, using natural cook phrasing with examples. It doesn't explicitly say when not to use this tool or name an alternative, so it stops short of a 5, but the context is clear enough for an agent to select it appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/smeet666/mcp-ptitchef'

If you have feedback or need assistance with the MCP directory API, please join our Discord server