π€ 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.
| 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) |
pip install texas-grocery-mcppip install texas-grocery-mcp[browser]
playwright install chromiumThis enables fast auto-refresh (~15 seconds) using an embedded browser.
For cart operations and session management, you'll also need Playwright MCP:
npm install -g @anthropic-ai/mcp-playwrightAdd 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"
}
}
}
}| Variable | Description | Default |
|---|---|---|
HEB_DEFAULT_STORE |
Default store ID | None |
REDIS_URL |
Redis cache URL | None (in-memory) |
LOG_LEVEL |
Logging level | INFO |
User: Find HEB stores near Austin, TX
Agent uses: store_search(address="Austin, TX", radius_miles=10)
User: Search for organic milk
Agent uses: store_change(store_id="590")
Agent uses: product_search(query="organic milk")
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
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!
User: Find coupons for cereal
Agent uses: coupon_search(query="cereal")
Agent uses: coupon_clip(coupon_id="ABC123", confirm=true)
# β
Coupon clipped!
HEB uses bot detection that expires every ~11 minutes. This MCP handles it automatically!
With [browser] support installed:
Agent uses: session_refresh()
# β
Completes in ~10-15 seconds
Save your credentials once for automatic login:
Agent uses: session_save_credentials(email="you@email.com", password="...")
# Credentials stored securely in system keyring
# Future session refreshes will auto-login!
| Tool | Description |
|---|---|
store_search |
Find stores by address |
store_change |
Set preferred store |
store_get_default |
Get current default store |
| Tool | Description |
|---|---|
product_search |
Search products with pricing |
product_search_batch |
Search multiple products (up to 20) |
product_get |
Get detailed product info |
| 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 |
| Tool | Description |
|---|---|
coupon_list |
List available coupons |
coupon_search |
Search coupons by keyword |
coupon_clip |
Clip a coupon |
coupon_clipped |
List your clipped coupons |
| Tool | Description |
|---|---|
session_status |
Check session health |
session_refresh |
Refresh/login session |
session_save_credentials |
Save credentials for auto-login |
session_clear |
Logout |
- π§
Troubleshooting Guide - Solutions for common issues - π€
Contributing - How to contribute - π
Changelog - Version history - π
Security - Security policy
# 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-compose up --buildβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β User's MCP Environment β
β β
β βββββββββββββββββββββββ βββββββββββββββββββββββββββββββ β
β β π Playwright MCP β β π Texas Grocery MCP β β
β β (Browser Auth) βββββΆβ (Grocery Logic) β β
β βββββββββββββββββββββββ βββββββββββββββββββββββββββββββ β
β β β
ββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββ
β
βΌ
π HEB GraphQL API
MIT Β© Michael Walker
Made with β€οΈ in Texas π€