Grocery Search MCP Server
Provides grocery price and nutritional information search capabilities, allowing AI agents to search for food products, compare prices, and analyze nutritional content across different grocery stores.
README Documentation
Grocery Search MCP Server
An MCP (Model Context Protocol) server that provides grocery price and nutritional information search capabilities. This server allows AI agents to search for food products, compare prices, and analyze nutritional content across different grocery stores.
Features
- Product Search: Search for grocery items by name across supported stores
- Price Comparison: Get current pricing information for food products
- Nutritional Analysis: Retrieve protein, calorie, and other macro information
- Protein-per-Dollar Ranking: Automatically rank products by protein content per dollar spent
- Store Support: Currently supports Trader Joe's (more stores coming soon)
Installation
- Clone the repository:
git clone <repository-url>
cd MCP_Food_Search
- Install dependencies:
pip install -r requirements.txt
Or install in development mode:
pip install -e .
Usage
Running the MCP Server
Start the server using:
python -m grocery_search_mcp.server
Or using the script entry point:
grocery-search-mcp
Testing the Implementation
Run the test script to verify functionality:
python test_server.py
MCP Tool Usage
The server provides one main tool:
GroceryPrices.search
Search for grocery items with price and nutritional information.
Parameters:
query
(required): Food or product name to search forstore
(optional): Store to search, defaults to "trader_joes"
Example:
{
"query": "protein bar",
"store": "trader_joes"
}
Response: Returns a formatted list of products with:
- Product name and brand
- Price and package size
- Protein content and calories
- Protein-per-dollar ratio
- Nutritional information status
Architecture
The server consists of several key components:
- MCP Server (
server.py
): Main MCP protocol implementation - Data Models (
models.py
): Pydantic models for requests/responses - Scrapers (
scraper.py
): Web scraping logic for different stores - Nutrition Estimation: Basic nutritional information estimation
Current Implementation
This initial version includes:
- ✅ Basic MCP server setup
- ✅ Trader Joe's product search (mock data for now)
- ✅ Nutritional estimation based on product names
- ✅ Protein-per-dollar calculation
- ✅ Error handling and logging
Future Enhancements
- Real web scraping implementation
- Integration with USDA FoodData Central API
- Redis caching for price data
- Additional store support (Safeway, Kroger, etc.)
- Real-time inventory checking
- Advanced nutritional analysis
Contributing
This is a learning project. Feel free to submit issues and enhancement requests.
License
MIT License