io.github.mgwalkerjr95/texas-grocery MCP Server
io.github.mgwalkerjr95/texas-grocery
AI-powered H-E-B grocery shopping—search products, manage carts, and clip coupons through natural conversation.
What is the io.github.mgwalkerjr95/texas-grocery MCP server?
The Texas Grocery MCP is an MCP server that connects Claude to H-E-B grocery stores via unofficial web APIs and browser automation. It enables searching products, managing shopping carts, clipping digital coupons, and retrieving detailed product information including ingredients, nutrition facts, and allergen warnings through natural conversation.
This server lets you automate H-E-B grocery shopping tasks through Claude. Search for products with pricing and availability, manage your cart with human-in-the-loop confirmation, clip digital coupons, view detailed product information (ingredients, nutrition, allergens), find nearby stores, and handle session management with automatic bot-detection refresh. It's useful for anyone wanting to streamline grocery shopping or integrate H-E-B functionality into AI workflows.
How to install io.github.mgwalkerjr95/texas-grocery
Copy-paste configuration for popular MCP clients.
Tools & capabilities
Tools this server exposes to the agent.
store_search— Find HEB stores by address or zip codestore_change— Set preferred storestore_get_default— Get current default storeproduct_search— Search products with pricing and availabilityproduct_search_batch— Search multiple products (up to 20)product_get— Get detailed product information including ingredients, nutrition facts, allergens, and dietary attributescart_check_auth— Check authentication statuscart_get— View cart contentscart_add— Add item to cart (requires confirmation)cart_add_many— Bulk add multiple itemscart_remove— Remove item from cartcoupon_list— List available couponscoupon_search— Search coupons by keywordcoupon_clip— Clip a digital couponcoupon_clipped— List your clipped couponssession_status— Check session healthsession_refresh— Refresh or login session with automatic bot-detection handlingsession_save_credentials— Save credentials securely for automatic loginsession_clear— Logout and clear session
Use cases
- Search for specific grocery items at H-E-B and check pricing and availability across stores
- Add items to your cart with AI assistance and automatic confirmation prompts
- Find and clip digital coupons to save money on groceries
- Look up detailed product information including ingredients, nutrition facts, and allergen warnings
- Locate nearby H-E-B stores by address or zip code
io.github.mgwalkerjr95/texas-grocery MCP server FAQ
It's an MCP server that connects Claude to H-E-B grocery stores, allowing you to search products, manage carts, clip coupons, and retrieve detailed product information through natural conversation. It uses unofficial web APIs and browser automation.
No, 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.
Install via pip (pip install texas-grocery-mcp), then add it to your Claude Desktop config at ~/Library/Application Support/Claude/claude_desktop_config.json with the provided JSON configuration. You'll also need Playwright MCP for cart operations.
For cart operations and session management, you can optionally save your credentials using session_save_credentials for automatic login. Credentials are stored securely in your system keyring. Basic product and coupon searches don't require authentication.
H-E-B uses bot detection that expires every ~11 minutes. The server handles this automatically with session_refresh, which completes in 10-15 seconds if you have the [browser] extra installed. With saved credentials, it will auto-login during refresh.
Yes, the MCP server itself is free and open-source (MIT license). You need a free H-E-B account to use cart and coupon features, and Python/pip to install it.
README (reference)
Source of truth, from the repository.
🛒 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="you@email.com", 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
<p align="center"> Made with ❤️ in Texas 🤠 </p>
Related MCP servers

Embedded / IoT Mentor
Embedded/IoT mentor: picks the board and toolchain, estimates cost and battery life.

Ghostfolio MCP
MCP server for Ghostfolio portfolio management and financial data access

LibreNMS MCP
MCP server for LibreNMS network monitoring—query devices, ports, alerts, and manage infrastructure

NetBox MCP
MCP server for NetBox DCIM/IPAM with read-only and dry-run modes

Oxidized MCP
MCP server for Oxidized network device configuration backups

Zabbix MCP
MCP server for querying, automating, and integrating Zabbix monitoring data and management features.