π Texas Grocery MCP
π€ Let AI do your grocery shopping! An MCP server that connects Claude to H-E-B grocery stores.
Search products, manage your cart, clip coupons, and more β all through natural conversation.
β οΈ This project is not affiliated with H-E-B. It uses unofficial web APIs and browser automation against HEB.com; use responsibly and ensure your usage complies with applicable terms and laws.
β¨ Features
| Feature | Description |
|---|---|
| πͺ Store Search | Find HEB stores by address or zip code |
| π Product Search | Search products with pricing and availability |
| π Cart Management | Add/remove items with human-in-the-loop confirmation |
| π Product Details | Ingredients, nutrition facts, allergens, warnings |
| ποΈ Digital Coupons | List, search, and clip coupons to save money |
| π Auto Session Refresh | Handles bot detection automatically (~15 seconds) |
π¦ Installation
Quick Start
pip install texas-grocery-mcp
Full Installation (Recommended) π
pip install texas-grocery-mcp[browser]
playwright install chromium
This enables fast auto-refresh (~15 seconds) using an embedded browser.
Prerequisites
For cart operations and session management, you'll also need Playwright MCP:
npm install -g @anthropic-ai/mcp-playwright
βοΈ Configuration
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@anthropic-ai/mcp-playwright"]
},
"heb": {
"command": "uvx",
"args": ["texas-grocery-mcp"],
"env": {
"HEB_DEFAULT_STORE": "590"
}
}
}
}
Environment Variables
| Variable | Description | Default |
|---|---|---|
HEB_DEFAULT_STORE |
Default store ID | None |
REDIS_URL |
Redis cache URL | None (in-memory) |
LOG_LEVEL |
Logging level | INFO |
π― Usage Examples
πͺ Finding a Store
User: Find HEB stores near Austin, TX
Agent uses: store_search(address="Austin, TX", radius_miles=10)
π Searching Products
User: Search for organic milk
Agent uses: store_change(store_id="590")
Agent uses: product_search(query="organic milk")
π Getting Product Details
User: What are the ingredients in H-E-B olive oil?
Agent uses: product_search(query="heb olive oil")
Agent uses: product_get(product_id="127074")
# Returns: ingredients, nutrition facts, warnings, dietary attributes
The product_get tool returns:
- π₯ Ingredients - Full ingredient statement
- π Nutrition Facts - Complete FDA panel
- β οΈ Safety Warnings - Allergen info and precautions
- πΏ Dietary Attributes - Gluten-free, organic, vegan, kosher, etc.
- π Store Location - Aisle or section
π Adding to Cart
User: Add 2 gallons of milk to my cart
Agent uses: cart_add(product_id="123456", quantity=2)
# Returns preview for confirmation
Agent uses: cart_add(product_id="123456", quantity=2, confirm=true)
# β
Added to cart!
ποΈ Clipping Coupons
User: Find coupons for cereal
Agent uses: coupon_search(query="cereal")
Agent uses: coupon_clip(coupon_id="ABC123", confirm=true)
# β
Coupon clipped!
π Session Management
HEB uses bot detection that expires every ~11 minutes. This MCP handles it automatically!
β‘ Fast Auto-Refresh (Recommended)
With [browser] support installed:
Agent uses: session_refresh()
# β
Completes in ~10-15 seconds
π Auto-Login
Save your credentials once for automatic login:
Agent uses: session_save_credentials(email="[email protected]", password="...")
# Credentials stored securely in system keyring
# Future session refreshes will auto-login!
π§° Available Tools
πͺ Store Tools
| Tool | Description |
|---|---|
store_search |
Find stores by address |
store_change |
Set preferred store |
store_get_default |
Get current default store |
π Product Tools
| Tool | Description |
|---|---|
product_search |
Search products with pricing |
product_search_batch |
Search multiple products (up to 20) |
product_get |
Get detailed product info |
π Cart Tools
| Tool | Description |
|---|---|
cart_check_auth |
Check authentication status |
cart_get |
View cart contents |
cart_add |
Add item (requires confirmation) |
cart_add_many |
Bulk add multiple items |
cart_remove |
Remove item |
ποΈ Coupon Tools
| Tool | Description |
|---|---|
coupon_list |
List available coupons |
coupon_search |
Search coupons by keyword |
coupon_clip |
Clip a coupon |
coupon_clipped |
List your clipped coupons |
π Session Tools
| Tool | Description |
|---|---|
session_status |
Check session health |
session_refresh |
Refresh/login session |
session_save_credentials |
Save credentials for auto-login |
session_clear |
Logout |
π Documentation
- π§ Troubleshooting Guide - Solutions for common issues
- π€ Contributing - How to contribute
- π Changelog - Version history
- π Security - Security policy
π οΈ Development
# Clone repository
git clone https://github.com/mgwalkerjr95/texas-grocery-mcp
cd texas-grocery-mcp
# Install with dev dependencies
pip install -e ".[dev]"
playwright install chromium
# Run tests
pytest tests/ -v
# Linting & type checking
ruff check src/
mypy src/
π³ Docker
docker-compose up --build
ποΈ Architecture
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β User's MCP Environment β
β β
β βββββββββββββββββββββββ βββββββββββββββββββββββββββββββ β
β β π Playwright MCP β β π Texas Grocery MCP β β
β β (Browser Auth) βββββΆβ (Grocery Logic) β β
β βββββββββββββββββββββββ βββββββββββββββββββββββββββββββ β
β β β
ββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββ
β
βΌ
π HEB GraphQL API
π License
MIT Β© Michael Walker
Made with β€οΈ in Texas π€