article
README
🚀 杂货搜索MCP服务器
这是一个MCP(模型上下文协议)服务器,具备搜索杂货价格和营养信息的能力。该服务器允许AI代理在不同杂货店中搜索食品、比较价格并分析营养成分。
🚀 快速开始
你可以按照以下步骤安装和使用杂货搜索MCP服务器:
- 克隆仓库:
git clone <repository-url>
cd MCP_Food_Search
- 安装依赖:
pip install -r requirements.txt
或者以开发模式安装:
pip install -e .
- 启动服务器:
python -m grocery_search_mcp.server
或者使用脚本入口点:
grocery-search-mcp
- 测试功能:
python test_server.py
✨ 主要特性
- 产品搜索:在支持的商店中按名称搜索杂货商品。
- 价格比较:获取食品的当前定价信息。
- 营养分析:检索蛋白质、卡路里和其他宏观营养信息。
- 每美元蛋白质排名:根据每花费一美元所获得的蛋白质含量自动对产品进行排名。
- 商店支持:目前支持Trader Joe's(未来将支持更多商店)。
💻 使用示例
基础用法
运行MCP服务器
python -m grocery_search_mcp.server
测试功能
python test_server.py
高级用法
GroceryPrices.search工具的使用
该服务器提供了一个主要工具GroceryPrices.search,用于搜索带有价格和营养信息的杂货商品。
参数:
query(必需):要搜索的食品或产品名称。store(可选):要搜索的商店,默认为 "trader_joes"。
示例请求:
{
"query": "protein bar",
"store": "trader_joes"
}
响应: 返回一个格式化的产品列表,包含以下信息:
- 产品名称和品牌
- 价格和包装规格
- 蛋白质含量和卡路里
- 每美元蛋白质比率
- 营养信息状态
🔧 技术细节
架构
该服务器由几个关键组件组成:
- MCP服务器 (
server.py):主要的MCP协议实现。 - 数据模型 (
models.py):用于请求/响应的Pydantic模型。 - 爬虫 (
scraper.py):不同商店的网页抓取逻辑。 - 营养估算:基于产品名称的基本营养信息估算。
当前实现
这个初始版本包括:
- ✅ 基本的MCP服务器设置
- ✅ Trader Joe's产品搜索(目前为模拟数据)
- ✅ 基于产品名称的营养估算
- ✅ 每美元蛋白质计算
- ✅ 错误处理和日志记录
未来改进
- 实现真实的网页抓取。
- 集成美国农业部食品数据中心API。
- 使用Redis缓存价格数据。
- 支持更多商店(如Safeway、Kroger等)。
- 实时库存检查。
- 高级营养分析。
🤝 贡献说明
这是一个学习项目,欢迎提交问题和改进请求。
📄 许可证
本项目采用MIT许可证。
Scan to join WeChat group