Skip to main content
Glama
Recettes MCP Server

Recettes MCP Server

by Symfomany

Recettes MCP Server

Ce projet est un serveur MCP (Model Context Protocol) qui fournit des outils et ressources pour la gestion de recettes culinaires, incluant des fonctionnalités de scraping web et de génération de recettes magiques.

Technologies et Stack Utilisées

Langage de Programmation

  • Python 3.12+ : Langage principal utilisé pour développer le serveur.

Frameworks et Bibliothèques

  • FastMCP : Framework de la bibliothèque mcp pour créer des serveurs MCP rapidement. Utilisé pour définir les ressources, outils et prompts du serveur.

  • Requests : Bibliothèque pour effectuer des requêtes HTTP, utilisée pour le scraping web.

  • BeautifulSoup4 : Bibliothèque pour analyser et extraire des données HTML, utilisée conjointement avec requests pour scraper des sites comme Marmiton.org.

  • Python-Marmiton : Bibliothèque spécifique pour interagir avec le site Marmiton.org.

  • PyMongo : Bibliothèque pour interagir avec MongoDB, utilisée pour interroger des bases de données.

Outils de Développement

  • uv : Outil de gestion de paquets et d'exécution Python moderne, utilisé pour exécuter le serveur via uv run python main.py.

  • MCP-CLI : Outil en ligne de commande pour gérer les serveurs MCP.

Configuration

  • pyproject.toml : Fichier de configuration pour les métadonnées du projet, les dépendances et les exigences Python.

  • server_config.json : Configuration spécifique pour le serveur MCP, définissant la commande et les arguments pour lancer le serveur.

Fonctionnalités Principales

  • Ressources : Fournit des listes d'ingrédients par défaut et des astuces de cuisine.

  • Outils : Permet de lister des ingrédients, inventer des recettes, scraper des recettes de Noël, gérer des ingrédients magiques, et interroger une base de données MongoDB 'recipies' (collections : comments, users, ustensils).

  • Prompts : Offre des prompts pour générer des recettes magiques et des astuces culinaires magiques.

Related MCP server: yes_chef_mcp

Installation et Exécution

  1. Assurez-vous d'avoir Python 3.12+ installé.

  2. Installez les dépendances avec uv :

    uv sync
  3. Lancez le serveur :

    uv run python main.py

Configuration MCP

Le serveur est configuré via server_config.json pour être utilisé avec des clients MCP comme LM Studio.

Utilisation avec des Prompts

Ce serveur MCP est conçu pour être utilisé avec un client compatible, comme un modèle de langage (LLM). Vous pouvez interagir avec le serveur en utilisant des prompts en langage naturel. Voici quelques exemples de ce que vous pouvez demander :

Explorer les Recettes de Noël

Vous pouvez rechercher, lister et obtenir des détails sur les recettes de Noël.

  • "Liste-moi toutes les recettes de Noël."

    • Cette commande appelle l'outil list_christmas_recipes et retourne une liste complète des recettes de Noël disponibles.

  • "Je cherche une recette avec des marrons."

    • L'outil search_by_ingredient est utilisé avec le paramètre ingredient="marrons" pour trouver toutes les recettes contenant cet ingrédient.

  • "Donne-moi une recette de Noël au hasard."

    • L'outil get_random_recipe est appelé pour retourner une seule recette de Noël de manière aléatoire.

  • "Propose-moi un menu complet pour le réveillon."

    • L'outil suggest_christmas_menu génère un menu complet avec une entrée, un plat principal et un dessert.

  • "J'aimerais faire la recette de la 'Dinde de Noël', mais pour 12 personnes."

    • L'outil scale_recipe est utilisé avec recipe_name="Dinde de Noël" and servings=12 pour ajuster les quantités d'ingrédients.

Créer et Inventer des Recettes

Le serveur peut vous aider à créer de nouvelles recettes à partir des ingrédients que vous avez.

  • "Invente-moi une recette avec du poulet, des champignons et de la crème."

    • L'outil invent_recipe est appelé avec ingredients=["poulet", "champignons", "crème"] pour créer une nouvelle recette.

  • "Génère une recette à partir des ingrédients suivants : saumon, aneth, citron."

    • L'outil generate_recipe_from_ingredients prendra la liste des ingrédients pour créer une nouvelle recette de Noël.

Cuisine Magique

Pour une touche de fantaisie, vous pouvez explorer la cuisine magique.

  • "Je veux créer une recette magique avec de la poudre de licorne et des larmes de sirène."

    • L'outil invent_magical_recipe est appelé avec magical_ingredients=["poudre de licorne", "larmes de sirène"].

  • "Comment puis-je utiliser du sang de dragon en cuisine sans me faire maudire ?"

    • Le prompt astuces-magiques est utilisé pour générer une réponse qui donne des conseils sur l'utilisation d'ingrédients magiques.

  • "Crée une recette magique fantastique et amusante avec des ailes de fée et des cristaux de lune."

    • Le prompt recette-magique est utilisé avec les ingrédients ["ailes de fée", "cristaux de lune"] pour générer une recette magique détaillée.

Outils Utilitaires

Le serveur fournit également des outils pratiques.

  • "Crée une liste de courses pour la recette 'Bûche de Noël'."

    • L'outil create_shopping_list est appelé avec recipe_name="Bûche de Noël" pour générer la liste des ingrédients nécessaires.

  • "Quel vin irait bien avec la 'Dinde de Noël' ?"

    • L'outil suggest_wine_pairing est appelé avec recipe_name="Dinde de Noël" pour suggérer un accord mets-vin.

  • "Quelles sont les dernières recettes de Noël sur Marmiton ?"

    • L'outil scrape_christmas_recipes est appelé pour scraper les titres des dernières recettes de Noël sur Marmiton.org.

Available Tools

18 tools
create_shopping_listB

Creates a shopping list for a recipe.

Inputs: recipe_name (required). Returns: result

elicit_user_needsC

Helps the user create a recipe based on their needs.

Inputs: ingredients, utensils, time. Returns: result

generate_recipe_from_ingredientsB

Generates a new Christmas recipe from a list of ingredients.

Inputs: ingredients (required). Returns: result

get_random_recipeB

Returns a random Christmas recipe.

Inputs: no named parameters. Returns: result

get_recipe_by_indexB

Retrieves a Christmas recipe by its index (1-based).

Inputs: index (required). Returns: result

invent_magical_recipeC

Invents a magical recipe from magical ingredients.

Inputs: magical_ingredients (required), servings, magic_type. Returns: result

invent_recipeC

Invents a recipe from ingredients (structured format).

Inputs: ingredients (required), servings.

list_christmas_recipesB

Returns a list of all Christmas recipes.

Inputs: no named parameters. Returns: result

list_ingredientsC

Returns a list of ingredients based on a simple style.

Inputs: style. Returns: result

list_magical_ingredientsB

Returns a list of magical ingredients by style.

Inputs: style. Returns: result

query_commentsC

Queries the 'comments' collection of the 'recipies' MongoDB database.

Inputs: query. Returns: result

query_usersC

Queries the 'users' collection of the 'recipies' MongoDB database.

Inputs: query. Returns: result

query_ustensilsC

Queries the 'ustensils' collection of the 'recipies' MongoDB database.

Inputs: query. Returns: result

scale_recipeB

Scales a recipe for a different number of servings.

Inputs: recipe_name (required), servings (required). Returns: result

scrape_christmas_recipesB

Scrapes Christmas recipe titles from Marmiton.org.

Inputs: no named parameters. Returns: result

search_by_ingredientB

Search for Christmas recipes containing a specific ingredient.

Inputs: ingredient (required). Returns: result

suggest_christmas_menuB

Suggests a complete Christmas menu (starter, main course, dessert).

Inputs: no named parameters. Returns: result

suggest_wine_pairingB

Suggests a wine pairing for a recipe.

Inputs: recipe_name (required). Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.9/5.0

    Scored across 18 tools

    Disambiguation3/5

    There is some overlap between tools like 'invent_recipe' and 'invent_magical_recipe', or 'list_christmas_recipes' and 'get_random_recipe', which could cause confusion. However, descriptions help differentiate them, such as 'magical' vs. regular ingredients or specific vs. random retrieval. Most tools have distinct purposes, but the Christmas-focused tools cluster together with potential for misselection.

    Naming Consistency3/5

    The naming is mixed with conventions: some use verb_noun (e.g., 'create_shopping_list', 'scale_recipe'), others use verb_preposition_noun (e.g., 'search_by_ingredient'), and there are inconsistencies like 'query_comments' vs. 'scrape_christmas_recipes'. It's readable but lacks a uniform pattern, with deviations that reduce predictability.

    Tool Count3/5

    With 18 tools, the count is borderline high for a recipe server, leaning toward heavy but not extreme. It covers various aspects like recipe generation, Christmas-specific functions, and database queries, but some tools feel redundant or niche, making the set feel slightly bloated for the domain.

    Completeness4/5

    The tool set covers a broad range for recipe management, including creation, retrieval, scaling, shopping lists, and even magical recipes. However, there are minor gaps, such as no explicit update or delete operations for recipes or lists, and the database query tools are limited to specific collections without full CRUD coverage. Overall, it supports core workflows well.

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      B
      maintenance
      Enables AI assistants to search recipes, compose nutritionally balanced meals, optimize weekly meal plans based on macro targets for family members, and generate consolidated grocery lists from a personal recipe database.
      -
    • A
      license
      A
      quality
      B
      maintenance
      MCP server that searches French recipes from Marmiton, reads ingredients and steps, and rescales quantities to any number of servings without requiring an API key.
      3
      314 npm
      1
      MIT