Skip to main content
Glama
Symfomany

Recettes MCP Server

by Symfomany

search_by_ingredient

Find Christmas recipes using a specific ingredient. Search the recipe database to discover holiday dishes based on what you have available.

Instructions

Search for Christmas recipes containing a specific ingredient.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ingredientYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Implementation Reference

  • main.py:157-163 (handler)
    The async handler function that executes the search_by_ingredient tool logic by filtering Christmas recipes containing the given ingredient.
    async def search_by_ingredient(ingredient: str) -> List[Dict]:
        """Recherche les recettes de Noël contenant un ingrédient spécifique."""
        results = []
        for recipe in christmas_recipes():
            if ingredient.lower() in [ing.lower() for ing in recipe.ingredients.keys()]:
                results.append(recipe.model_dump())
        return results
  • main.py:153-156 (registration)
    The @mcp.tool decorator that registers the search_by_ingredient tool with the MCP server.
    @mcp.tool(
        name="search_by_ingredient",
        description="Search for Christmas recipes containing a specific ingredient.",
    )
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool searches, implying a read-only operation, but doesn't cover critical aspects like whether it requires authentication, has rate limits, returns paginated results, or what the output format entails. For a search tool with zero annotation coverage, this is a significant gap in transparency.

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?

The description is a single, efficient sentence: 'Search for Christmas recipes containing a specific ingredient.' It's front-loaded with the core action and resource, with zero redundant words or unnecessary elaboration. Every word earns its place, making it highly concise and well-structured.

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?

Given the tool's low complexity (one parameter) and the presence of an output schema (which should cover return values), the description is minimally adequate. However, with no annotations and incomplete parameter guidance, it lacks details on behavioral traits like error handling or search scope. It meets basic needs but has clear gaps in context for effective agent use.

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 has one parameter ('ingredient') with 0% description coverage in the schema itself. The description adds some semantic context by specifying it's for 'Christmas recipes' and 'containing a specific ingredient,' which clarifies the parameter's purpose beyond the schema's bare title. However, it doesn't detail format constraints (e.g., case sensitivity, partial matches) or examples, so it only partially compensates for the low schema coverage.

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 clearly states the tool's purpose: 'Search for Christmas recipes containing a specific ingredient.' It specifies the verb ('search'), resource ('Christmas recipes'), and scope ('containing a specific ingredient'), making the intent unambiguous. However, it doesn't explicitly differentiate from siblings like 'list_christmas_recipes' or 'scrape_christmas_recipes', which limits the score to 4 instead of 5.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to prefer it over siblings like 'list_christmas_recipes' (which might list all recipes without filtering) or 'generate_recipe_from_ingredients' (which might create new recipes). There's also no exclusion criteria or prerequisites stated, leaving usage context implied at best.

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/Symfomany/mcp-tuto'

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