MCP服务器食谱
该项目是一个MCP(模型上下文协议)服务器,为烹饪食谱管理提供工具和资源,包括网页抓取和神奇食谱生成功能。
使用的技术和堆栈
编程语言
- Python 3.12+ :用于开发服务器的主要语言。
框架和图书馆
- FastMCP :图书馆框架
mcp快速创建MCP服务器。用于定义服务器资源、工具和提示。 - 请求: :用于发出HTTP请求的库,用于web抓取。
- 美丽的Soup4 :用于分析和提取HTML数据的库,与请求一起用于抓取marmiton.org等网站。
- Python Marmiton :与marmiton.org网站交互的特定库。
- PyMongo :用于与MongoDB交互的库,用于查询数据库。
开发工具
- 紫外线 :现代Python包管理和执行工具,用于通过
uv run python main.py. - MCP-CLI :用于管理MCP服务器的命令行工具。
配置
- pyproject.toml :项目元数据、依赖项和Python需求的配置文件。
- 服务器配置.json :MCP服务器的特定配置,定义启动服务器的命令和参数。
主要特点
- 资源 :提供默认配料列表和烹饪技巧。
- 工具 :允许您列出配料、发明食谱、抓取圣诞食谱、管理神奇配料,并查询MongoDB“食谱”数据库(集合:评论、用户、用具)。
- 提示 :提供生成神奇食谱和神奇烹饪技巧的提示。
安装和执行
- 确保已安装Python 3.12+。
- 使用安装依赖项
uv:
uv sync- 启动服务器:
uv run python main.py配置MCP
服务器配置为: server_config.json 用于MCP客户端,如LM Studio。
与prompts一起使用
该MCP服务器设计用于兼容客户端,如语言模型(LLM)。您可以使用自然语言提示与服务器交互。以下是您可以要求的一些示例:
探索圣诞食谱
您可以搜索、列出和获取有关圣诞食谱的详细信息。
- “列出所有的圣诞食谱。”
- 此命令调用工具 list_christmas_recipes 并返回可用圣诞食谱的完整列表。
- “我在找一个栗子食谱。”
- 工具 search_by_ingredient 与参数一起使用 ingredient="marrons" 查找包含此成分的所有食谱。
- “随机给我一个圣诞食谱。”
- 工具 get_random_recipe 被要求随机返回单个圣诞食谱。
- “给我一份完整的除夕菜单。”
- 工具 suggest_christmas_menu 生成包含开胃菜、主菜和甜点的完整菜单。
- “我想做‘圣诞火鸡’的食谱,但要给12个人。”
- 工具 scale_recipe 用于 recipe_name="Dinde de Noël" 和 servings=12 以调整配料的量。
创造和发明食谱
服务器可以帮助您从现有食材创建新食谱。
- “给我发明一个鸡肉、蘑菇和奶油的食谱。”
- 工具 invent_recipe 被称为 ingredients=["poulet", "champignons", "crème"] 创建新配方。
- “用以下成分制作食谱:三文鱼、莳萝、柠檬。”
- 工具 generate_recipe_from_ingredients 获取配料列表以创建新的圣诞食谱。
烹饪Magique
为了一点幻想,你可以探索神奇的厨房。
- “我想用独角兽粉和美人鱼眼泪制作一个神奇的食谱。”
- 工具 invent_magical_recipe 被称为 magical_ingredients=["poudre de licorne", "larmes de sirène"].
- “我如何在厨房里使用龙血而不被诅咒?”
- 乐提示 astuces-magiques 用于生成关于使用神奇成分的提示的响应。
- “用仙女翅膀和月亮水晶制作一个神奇而有趣的食谱。”
- 乐提示 recette-magique 与配料一起使用 ["ailes de fée", "cristaux de lune"] 以生成详细的神奇配方。
实用工具
服务器还提供实用工具。
- “为‘圣诞日志’食谱创建购物清单。”
- 工具 create_shopping_list 被称为 recipe_name="Bûche de Noël" 以生成所需成分的列表。
- “什么酒适合圣诞火鸡?”
- 工具 suggest_wine_pairing 被称为 recipe_name="Dinde de Noël" 建议食物和葡萄酒搭配。
- “Marmiton上最新的圣诞食谱是什么?”
- 工具 scrape_christmas_recipes 他被要求在Marmiton.org上剪下最新圣诞食谱的标题。
