食谱提取服务

一个基于Playwright浏览器自动化的MCP服务器,用于从NYT Cooking提取食谱数据,包括食材、步骤和元数据,适用于个人订阅用户。

  • by edwinavalos
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 edwinavalos/recipe-mcp

使用说明

配方MCP服务器

!!!!!这是WIP!!!!!!我正在验证这整个氛围编码的东西是否做到了它所说的一切,所以使用风险由你自己承担。我感到困惑的一件事是,我本以为这个食谱会得到报酬,但我没有,也许它只是有效的。但在陷入一种奇怪的asyncio痴迷之后,这件事完全重写了自己。这是一个有趣的实验,将一个小时的活动减少到我无法集中精力应付蹒跚学步的孩子乱跑的时间。

开发人员的工作流程

我们通常从《纽约时报》获取食谱,并将其添加到谷歌保留列表中“一周三餐”顶级项目下的杂货清单中。然后在周六早上,我们为孩子们画了卡通,并为本周制作了菜单。将项目记录到我们首选的工具中,需要大量的上下文切换,而这正是我所不擅长的。

在克劳德,我要求它阅读杂货清单“一周三餐”部分的网址。它获取网址,获取配料,将物品添加到配料列表中,然后按照我们在商店购物的方式将它们分类。下一步是我计划接管世界,因为这是一件很酷的事情,我想把它作为一个“快速项目”来做,我在一天半的时间里就完成了它。喊出来 奥姆纳拉 感谢你让我回答克劳德的问题,或者在散步时提示我下一步的行动。

谁知道代码是否糟糕,在这一点上,它对我来说已经足够好了,也许对你来说也是如此。

为了实现这一点,我犯了罪。以下是相关链接:

  1. https://github.com/edwinavalos/gkeepapi我的叉子https://github.com/kiwiz/gkeepapi这增加了 支持列表操作.
  2. https://github.com/edwinavalos/keep-mcp我的叉子https://github.com/feuerdev/keep-mcp这增加了 支持列表工具
  3. 秘密酱汁

一个模型上下文协议(MCP)服务器,用于使用Playwright浏览器自动化从NYT Cooking中提取食谱。

项目概述

此MCP服务器提供对《纽约时报》烹饪食谱的编程访问,供订阅者个人使用。它使用Playwright的浏览器自动化提取配方数据,包括成分、说明和元数据。

特性

  • 配方提取:从《纽约时报》烹饪网址中提取完整的食谱数据
  • 配料重点:专门提取成分,与Google Keep集成
  • 浏览器自动化:基于剧作家的自动化,用于可靠的数据提取
  • MCP协议:完全符合模型上下文协议规范
  • FastMCP框架:基于FastMCP构建,实现高效的服务器实施

先决条件

  • 有效的NYT烹饪订阅
  • Python 3.9+
  • Playwright的Chrome/Chromium浏览器

安装

# Clone the repository
git clone https://github.com/edwinavalos/recipe-mcp.git
cd recipe-mcp

# Install dependencies
pip install -e .

# Install Playwright browsers
playwright install chromium

用法

# Start the MCP server
python -m recipe_mcp

# The server will be available for MCP client connections

项目结构

recipe-mcp/
├── recipe_mcp/           # Main package
│   ├── __init__.py
│   ├── server.py         # MCP server implementation
│   ├── extractor.py      # Recipe extraction logic
│   └── models.py         # Data models
├── tests/                # Test suite
├── docs/                 # Documentation
├── pyproject.toml        # Project configuration
├── .gitignore           # Git ignore rules
└── README.md            # This file

合理使用

据我所知,这是合理使用 服务条款。但也请自己阅读并做出自己的判断。到目前为止,我还没有在《纽约时报》的链接上遇到付费墙,但我会监控它是否遇到问题。

发展

# Install development dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Run linting
ruff check

# Format code
ruff format

贡献

这是一个供个人使用的存储库。目前不接受捐款。如果你想修改它,请分叉它,让我知道,我可能会在对所有代码进行一些重要的尽职调查后打开它。这是非常非常有氛围的编码。